{
  "service": "aircall",
  "displayName": "Aircall",
  "categories": [
    "Communication",
    "Productivity"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Token",
      "placeholder": "AIRCALL_API_TOKEN",
      "description": "Aircall API token used as the Basic Auth password. Generate or view API credentials in Aircall Dashboard integrations: https://dashboard.aircall.io/integrations/api.",
      "extraFields": [
        {
          "key": "apiId",
          "label": "API ID",
          "inputType": "text",
          "required": true,
          "secret": false,
          "placeholder": "AIRCALL_API_ID",
          "description": "Aircall API ID used as the Basic Auth username. Generate or view it with the API token in Aircall Dashboard integrations: https://dashboard.aircall.io/integrations/api."
        }
      ]
    }
  ],
  "homepageUrl": "https://aircall.io",
  "actions": [
    {
      "id": "aircall.get_call",
      "service": "aircall",
      "name": "get_call",
      "description": "Retrieve one Aircall call by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Aircall numeric resource ID."
          },
          "fetchContact": {
            "type": "boolean",
            "description": "Whether Aircall should include contact details for the call."
          },
          "fetchShortUrls": {
            "type": "boolean",
            "description": "Whether Aircall should include shortened recording URLs."
          },
          "fetchCallTimeline": {
            "type": "boolean",
            "description": "Whether Aircall should include call timeline details."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Input for retrieving one Aircall call."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "call": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Aircall resource object returned by the API."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Aircall response payload."
          }
        },
        "additionalProperties": false,
        "required": [
          "call",
          "raw"
        ],
        "description": "One Aircall calls response."
      }
    },
    {
      "id": "aircall.get_contact",
      "service": "aircall",
      "name": "get_contact",
      "description": "Retrieve one Aircall contact.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Aircall numeric resource ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Input for retrieving one Aircall resource."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contact": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Aircall resource object returned by the API."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Aircall response payload."
          }
        },
        "additionalProperties": false,
        "required": [
          "contact",
          "raw"
        ],
        "description": "One Aircall contacts response."
      }
    },
    {
      "id": "aircall.get_number",
      "service": "aircall",
      "name": "get_number",
      "description": "Retrieve one Aircall phone number.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Aircall numeric resource ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Input for retrieving one Aircall resource."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "number": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Aircall resource object returned by the API."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Aircall response payload."
          }
        },
        "additionalProperties": false,
        "required": [
          "number",
          "raw"
        ],
        "description": "One Aircall numbers response."
      }
    },
    {
      "id": "aircall.get_team",
      "service": "aircall",
      "name": "get_team",
      "description": "Retrieve one Aircall team.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Aircall numeric resource ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Input for retrieving one Aircall resource."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "team": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Aircall resource object returned by the API."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Aircall response payload."
          }
        },
        "additionalProperties": false,
        "required": [
          "team",
          "raw"
        ],
        "description": "One Aircall teams response."
      }
    },
    {
      "id": "aircall.get_user",
      "service": "aircall",
      "name": "get_user",
      "description": "Retrieve one Aircall user with the current V2 Users API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Aircall numeric resource ID."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Input for retrieving one Aircall resource."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "user": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Aircall resource object returned by the API."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Aircall response payload."
          }
        },
        "additionalProperties": false,
        "required": [
          "user",
          "raw"
        ],
        "description": "One Aircall users response."
      }
    },
    {
      "id": "aircall.list_calls",
      "service": "aircall",
      "name": "list_calls",
      "description": "List Aircall calls with optional date and payload expansion filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The 1-based page number to request from Aircall."
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of resources to request per page."
          },
          "from": {
            "type": "string",
            "minLength": 1,
            "description": "A UNIX timestamp accepted by Aircall."
          },
          "to": {
            "type": "string",
            "minLength": 1,
            "description": "A UNIX timestamp accepted by Aircall."
          },
          "order": {
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ],
            "description": "The order to return Aircall resources in."
          },
          "fetchContact": {
            "type": "boolean",
            "description": "Whether Aircall should include contact details in each call."
          },
          "fetchShortUrls": {
            "type": "boolean",
            "description": "Whether Aircall should include shortened recording URLs."
          },
          "fetchCallTimeline": {
            "type": "boolean",
            "description": "Whether Aircall should include call timeline details."
          }
        },
        "additionalProperties": false,
        "description": "Input for listing Aircall calls."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "calls": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw Aircall resource object returned by the API."
            },
            "description": "The calls returned by Aircall."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of resources returned on this page."
              },
              "total": {
                "type": "integer",
                "description": "The total number of resources matching the request."
              },
              "currentPage": {
                "type": "integer",
                "description": "The current page number."
              },
              "perPage": {
                "type": "integer",
                "description": "The number of resources requested per page."
              },
              "nextPageLink": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The next page URL returned by Aircall."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPageLink": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The previous page URL returned by Aircall."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Aircall meta object."
              }
            },
            "additionalProperties": false,
            "required": [
              "count",
              "total",
              "currentPage",
              "perPage",
              "nextPageLink",
              "previousPageLink",
              "raw"
            ],
            "description": "Pagination metadata returned by Aircall."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Aircall response payload."
          }
        },
        "additionalProperties": false,
        "required": [
          "calls",
          "pagination",
          "raw"
        ],
        "description": "Aircall calls returned by the API."
      }
    },
    {
      "id": "aircall.list_contacts",
      "service": "aircall",
      "name": "list_contacts",
      "description": "List Aircall contacts.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The 1-based page number to request from Aircall."
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of resources to request per page."
          },
          "order": {
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ],
            "description": "The order to return Aircall resources in."
          }
        },
        "additionalProperties": false,
        "description": "Input for listing Aircall contacts."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contacts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw Aircall resource object returned by the API."
            },
            "description": "The contacts returned by Aircall."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of resources returned on this page."
              },
              "total": {
                "type": "integer",
                "description": "The total number of resources matching the request."
              },
              "currentPage": {
                "type": "integer",
                "description": "The current page number."
              },
              "perPage": {
                "type": "integer",
                "description": "The number of resources requested per page."
              },
              "nextPageLink": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The next page URL returned by Aircall."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPageLink": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The previous page URL returned by Aircall."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Aircall meta object."
              }
            },
            "additionalProperties": false,
            "required": [
              "count",
              "total",
              "currentPage",
              "perPage",
              "nextPageLink",
              "previousPageLink",
              "raw"
            ],
            "description": "Pagination metadata returned by Aircall."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Aircall response payload."
          }
        },
        "additionalProperties": false,
        "required": [
          "contacts",
          "pagination",
          "raw"
        ],
        "description": "Aircall contacts returned by the API."
      }
    },
    {
      "id": "aircall.list_numbers",
      "service": "aircall",
      "name": "list_numbers",
      "description": "List Aircall phone numbers.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The 1-based page number to request from Aircall."
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of resources to request per page."
          }
        },
        "additionalProperties": false,
        "description": "Input for listing Aircall phone numbers."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "numbers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw Aircall resource object returned by the API."
            },
            "description": "The numbers returned by Aircall."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of resources returned on this page."
              },
              "total": {
                "type": "integer",
                "description": "The total number of resources matching the request."
              },
              "currentPage": {
                "type": "integer",
                "description": "The current page number."
              },
              "perPage": {
                "type": "integer",
                "description": "The number of resources requested per page."
              },
              "nextPageLink": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The next page URL returned by Aircall."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPageLink": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The previous page URL returned by Aircall."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Aircall meta object."
              }
            },
            "additionalProperties": false,
            "required": [
              "count",
              "total",
              "currentPage",
              "perPage",
              "nextPageLink",
              "previousPageLink",
              "raw"
            ],
            "description": "Pagination metadata returned by Aircall."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Aircall response payload."
          }
        },
        "additionalProperties": false,
        "required": [
          "numbers",
          "pagination",
          "raw"
        ],
        "description": "Aircall numbers returned by the API."
      }
    },
    {
      "id": "aircall.list_teams",
      "service": "aircall",
      "name": "list_teams",
      "description": "List Aircall teams.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The 1-based page number to request from Aircall."
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of resources to request per page."
          }
        },
        "additionalProperties": false,
        "description": "Input for listing Aircall teams."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "teams": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw Aircall resource object returned by the API."
            },
            "description": "The teams returned by Aircall."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of resources returned on this page."
              },
              "total": {
                "type": "integer",
                "description": "The total number of resources matching the request."
              },
              "currentPage": {
                "type": "integer",
                "description": "The current page number."
              },
              "perPage": {
                "type": "integer",
                "description": "The number of resources requested per page."
              },
              "nextPageLink": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The next page URL returned by Aircall."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPageLink": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The previous page URL returned by Aircall."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Aircall meta object."
              }
            },
            "additionalProperties": false,
            "required": [
              "count",
              "total",
              "currentPage",
              "perPage",
              "nextPageLink",
              "previousPageLink",
              "raw"
            ],
            "description": "Pagination metadata returned by Aircall."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Aircall response payload."
          }
        },
        "additionalProperties": false,
        "required": [
          "teams",
          "pagination",
          "raw"
        ],
        "description": "Aircall teams returned by the API."
      }
    },
    {
      "id": "aircall.list_users",
      "service": "aircall",
      "name": "list_users",
      "description": "List Aircall users with the current V2 Users API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The 1-based page number to request from Aircall."
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of resources to request per page."
          }
        },
        "additionalProperties": false,
        "description": "Input for listing Aircall users with the V2 API."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "users": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw Aircall resource object returned by the API."
            },
            "description": "The users returned by Aircall."
          },
          "pagination": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "description": "The number of resources returned on this page."
              },
              "total": {
                "type": "integer",
                "description": "The total number of resources matching the request."
              },
              "currentPage": {
                "type": "integer",
                "description": "The current page number."
              },
              "perPage": {
                "type": "integer",
                "description": "The number of resources requested per page."
              },
              "nextPageLink": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The next page URL returned by Aircall."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "previousPageLink": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The previous page URL returned by Aircall."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw Aircall meta object."
              }
            },
            "additionalProperties": false,
            "required": [
              "count",
              "total",
              "currentPage",
              "perPage",
              "nextPageLink",
              "previousPageLink",
              "raw"
            ],
            "description": "Pagination metadata returned by Aircall."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Aircall response payload."
          }
        },
        "additionalProperties": false,
        "required": [
          "users",
          "pagination",
          "raw"
        ],
        "description": "Aircall users returned by the API."
      }
    }
  ]
}
