Everything an AI agent can do with the Aircall API.

A reference guide for building AI agents: every method, how to authenticate, and the permissions each one needs.

Endpoints29
API versionv1
Last updated23 June 2026
Orientation

How the Aircall API works.

The Aircall API is how an app or AI agent works with an Aircall phone system: listing and reading calls, tagging and commenting on them, managing the contacts shared across the workspace, and registering for live call events. Access is granted through an account-level credential, either an API ID and token for one company or an authorized partner connection, and because Aircall has no per-area permissions that one credential reaches the entire workspace. Aircall can also push events to a webhook URL the moment a call is created, answered, or ended.

29Endpoints
7Capability groups
13Read
16Write
0Permissions
Authentication
Aircall offers two routes. An Aircall customer building on their own account uses an API ID and an API token, created in Company Settings and sent as HTTP Basic Auth. A partner building for many customers uses OAuth 2.0, where an admin authorizes the connection and Aircall returns a non-expiring access token sent as a Bearer token. Both reach the whole company workspace.
Permissions
Aircall has no granular per-endpoint permissions. The OAuth flow requests a single scope, public_api, and an API key is account-level, so any valid credential reaches every endpoint with the same access. A key that can list calls can also delete recordings, create or delete contacts, change users and teams, and register webhooks. Narrowing what a credential can do has to happen outside Aircall, in front of the API.
Versioning
Aircall versions its API in the URL path. v1 is the stable line for every area, and a v2 line exists for the Users area, released 20 January 2026, with an updated payload. There are no dated version strings, so changes are announced through the developer changelog rather than by minting a new version each time.
Data model
The API is resource-oriented JSON over HTTPS at https://api.aircall.io. The core resources are calls, contacts, users, teams, numbers, tags, and webhooks, with contacts and tags shared across the whole workspace. Aircall also pushes events to a registered webhook URL the moment a call is created, answered, transferred, commented, tagged, or ended.
Connect & authenticate

Connection & authentication methods.

How an app or AI agent connects to Aircall determines what it can reach. There are two routes, one for an Aircall customer building on their own account and one for a partner building for many customers, each carrying a credential that reaches the whole company workspace.

Ways to connect

Public API

The Public API answers at https://api.aircall.io. It is the single way to read and write data, and it carries a v2 line for the Users area alongside v1 for everything else.

Best forConnecting an app or AI agent to Aircall.
Governed byThe account-level API key or partner connection, which reaches every endpoint.
Docs ↗

Webhooks

Webhooks deliver the chosen events to a receiver URL the moment they happen, such as a call being created, answered, or ended, so an app does not have to poll for changes.

Best forReacting to call and contact events in real time.
Governed byThe account-level API key or partner connection used to register them.
Docs ↗
Authentication

Basic Auth (API key)

An Aircall customer building on their own account uses an API ID and an API token, created in Company Settings, sent together as HTTP Basic Auth. The pair reaches every endpoint and all company data, with no narrower option.

TokenAPI ID and API token
Best forAn Aircall customer building for their own account
Docs ↗

OAuth 2.0

A partner building for many Aircall customers uses OAuth 2.0. An admin authorizes the connection and Aircall returns an access token. There is one scope, public_api, so the token reaches every endpoint rather than a chosen subset.

TokenOAuth access token
Best forA partner building for multiple Aircall customers
Docs ↗
Capability map

What an AI agent can do in Aircall.

The Aircall API is split into areas an agent can act on, such as calls, contacts, users, teams, numbers, tags, and webhooks. Each area has its own methods, and because the credential is account-level, the same key reaches every one of them.

Endpoint reference

Every Aircall API method.

Filter by method, access, or permission, or search any path. Select a row for version detail, rate limits, the related webhook event, and the source.

MethodEndpointWhat it doesAccessPermissionVersion

Calls

List and search calls, read a single call, transfer it, add a comment or a tag, and archive it.8

Aircall has no per-endpoint scopes. The single OAuth scope is public_api, and an API key reaches every endpoint, so any valid credential can list calls.

Acts oncall
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventcall.created
Rate limitStandard limits apply

Aircall has no per-endpoint scopes. Any valid credential can read a call.

Acts oncall
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Aircall has no per-endpoint scopes. Any valid credential can search calls.

Acts oncall
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Aircall has no per-endpoint scopes, so the same credential that reads a call can also transfer it. Only a call that is currently ongoing can be transferred.

Acts oncall
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventcall.transferred
Rate limitStandard limits apply

Aircall has no per-endpoint scopes. Any valid credential can comment on a call.

Acts oncall
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventcall.commented
Rate limitStandard limits apply

Aircall has no per-endpoint scopes. Any valid credential can tag a call.

Acts oncall
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventcall.tagged
Rate limitStandard limits apply

Aircall has no per-endpoint scopes. Any valid credential can archive a call.

Acts oncall
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventcall.archived
Rate limitStandard limits apply

Aircall has no per-endpoint scopes, so any credential that can read a call can also erase its recording. The deletion is permanent.

Acts oncall
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Contacts

List, search, read, create, update, and delete the contacts shared across the workspace.5

Aircall has no per-endpoint scopes. Any valid credential can list contacts, which include people's names, phone numbers, and email addresses.

Acts oncontact
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Aircall has no per-endpoint scopes. Any valid credential can read a contact.

Acts oncontact
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Aircall has no per-endpoint scopes. Any valid credential can create a contact, which is then visible to the whole workspace.

Acts oncontact
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventcontact.created
Rate limitStandard limits apply

Aircall has no per-endpoint scopes. Any valid credential can update a contact.

Acts oncontact
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventcontact.updated
Rate limitStandard limits apply

Aircall has no per-endpoint scopes, so any credential that can read a contact can also delete it for the whole workspace.

Acts oncontact
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventcontact.deleted
Rate limitStandard limits apply

Users

List users, read a single user, create a user, and update a user's details.4

Aircall has no per-endpoint scopes. A v2 version of the Users area exists, released 20 January 2026, with an updated payload.

Acts onuser
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Aircall has no per-endpoint scopes. Any valid credential can read a user.

Acts onuser
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Aircall has no per-endpoint scopes. Any valid credential can create a teammate account.

Acts onuser
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventuser.created
Rate limitStandard limits apply

Aircall has no per-endpoint scopes. Any valid credential can update a user.

Acts onuser
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Teams

List teams, read a single team, create a team, and add or remove a user from it.3

Aircall has no per-endpoint scopes. Any valid credential can list teams.

Acts onteam
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Aircall has no per-endpoint scopes. Any valid credential can read a team.

Acts onteam
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Aircall has no per-endpoint scopes. Any valid credential can change team membership, which affects call routing.

Acts onteam
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Numbers

List the phone numbers in the workspace, read a single number, and update its settings.3

Aircall has no per-endpoint scopes. Any valid credential can list numbers.

Acts onnumber
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Aircall has no per-endpoint scopes. Any valid credential can read a number.

Acts onnumber
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Aircall has no per-endpoint scopes. Any valid credential can change how a live number behaves.

Acts onnumber
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Tags

List tags, read a single tag, create a tag, update one, and delete one.3

Aircall has no per-endpoint scopes. Any valid credential can list tags.

Acts ontag
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Aircall has no per-endpoint scopes. Any valid credential can create a tag in the shared list.

Acts ontag
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Aircall has no per-endpoint scopes. Deleting a tag removes it from the shared list for everyone.

Acts ontag
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Webhooks

List the registered webhooks, read one, create a webhook, update it, and delete it.3

Aircall has no per-endpoint scopes. Any valid credential can list webhooks.

Acts onwebhook
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Aircall has no per-endpoint scopes. Any valid credential can register a webhook and start receiving live event data.

Acts onwebhook
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Aircall has no per-endpoint scopes. Any valid credential can delete a webhook and stop its event delivery.

Acts onwebhook
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply
No endpoints match those filters.
Webhooks

Webhook events.

Aircall can notify an app or AI agent the moment something happens on the phone system, instead of the app repeatedly asking. Aircall posts the event payload to a webhook URL that has been registered for the chosen events, such as a call starting or ending.

EventWhat it signalsTriggered by
call.createdFires when a new call is created, at the start of an inbound or outbound call./v1/calls
call.answeredFires when a call is answered by an agent.In-app only
call.endedFires when a call ends, carrying the final details of the call.In-app only
call.transferredFires when a call is transferred to another user or number./v1/calls/{id}/transfers
call.commentedFires when a comment is added to a call./v1/calls/{id}/comments
call.taggedFires when a tag is applied to a call./v1/calls/{id}/tags
call.archivedFires when a call is archived./v1/calls/{id}/archive
contact.createdFires when a contact is created./v1/contacts
contact.updatedFires when a contact is updated./v1/contacts/{id}
contact.deletedFires when a contact is deleted./v1/contacts/{id}
user.createdFires when a user is created in the workspace./v1/users
user.connectedFires when a user connects and becomes available to take calls.In-app only
No events match that search.
Rate limits & pagination

Rate limits, pagination & request size.

Aircall limits how fast an app or AI agent can call, through a per-minute request quota that applies to the whole company rather than to a single key. Going over returns an error, and response headers report how much of the quota is left.

Request rate

Aircall sets a single rate limit of 120 requests per minute, applied per company rather than per key, so every integration on the same account shares the same budget. Three response headers report the current state: X-AircallApi-Limit is the ceiling, X-AircallApi-Remaining is how many requests are left in the window, and X-AircallApi-Reset is the UNIX timestamp when the counter resets. A higher limit is available by contacting Aircall support.

Pagination

List endpoints use offset pagination through the page parameter and the per_page parameter, which defaults to 20 and tops out at 50. The Calls and Contacts lists are capped at 10,000 items reachable through pagination, so a longer history has to be narrowed with filters or the search endpoint.

Request size

Requests and responses are JSON, and write requests must send a Content-Type of application/json. Aircall does not document a single maximum payload size across the API.

Errors

Status codes & error handling.

The status codes an agent should handle, and what to do about each.

StatusCodeMeaningWhat to do
400Bad RequestThe server cannot process the request because of a client error, such as a malformed body or a missing required field.Read the error and troubleshoot fields in the response body, correct the request, and resend.
403ForbiddenThe authentication credentials are invalid. Aircall uses 403 rather than 401 for a bad API ID and token or an expired access token.Check the API ID and token or the OAuth access token, then send valid credentials.
404Not FoundThe target resource does not exist, such as a call or contact ID that is not in the workspace.Confirm the ID and the path are correct before retrying.
405Method Not AllowedThe HTTP method is not supported for that path, such as a POST to a read-only endpoint.Use the method the endpoint documents, then resend.
422Unprocessable EntityThe request was well-formed but failed validation, such as a value that is not allowed for a field.Read the troubleshoot field, fix the named field, and resend.
500Internal Server ErrorAn unexpected condition on Aircall's side prevented the request from completing.Retry after a short wait, and contact Aircall support if it persists.
Versioning & freshness

Version history.

Aircall versions its API in the path, with v1 as the stable line and v2 introduced for the Users area. It does not use dated versions, so changes ship through the developer changelog rather than a new version string.

Version history

What changed, and when

Latest versionv1
v1Current version
The stable Public API line, with v2 added for Users

Aircall versions its Public API in the URL path. v1 is the stable line for every area, and the platform ships dated changes through its developer changelog rather than minting a new version string. A v2 line was added for the Users area on 20 January 2026 with an updated payload and new webhook events.

What changed
  • 20 January 2026: User V2 APIs and webhook events released with an updated payload structure
  • 17 December 2025: Call Evaluations endpoint added to Conversation Intelligence
  • 13 November 2025: Custom Summary results endpoint added
  • 30 October 2025: AI Voice Agent webhook event added for configured intake answers
  • 8 October 2025: Real-time Transcription endpoint and webhook event added
Earlier
Conversation Intelligence and AI Voice Agent expansion

Through 2025 Aircall expanded the Conversation Intelligence and AI Voice Agent areas of the v1 API, adding endpoints and webhook events for call analysis, all on the same v1 line.

What changed
  • 28 August 2025: AI Voice Agent started, ended, and escalated webhook events added
  • 23 to 24 July 2025: Playbook result endpoint and update webhook event added
  • 4 June 2025: WhatsApp channel support added across message webhook events
  • 7 May 2025: Action items endpoint and webhook event released
  • 18 February 2025: External call transfer webhook event added

An integration stays on v1 and moves an area to v2 when Aircall publishes a v2 for it, as it has for Users.

Aircall API changelog ↗
Questions

Aircall API, answered.

How does an agent authenticate to the Aircall API?+
Two ways, depending on who is building. An Aircall customer building for their own account uses an API ID and an API token, generated in Company Settings under API Keys and sent together as HTTP Basic Auth. A partner building for many Aircall customers uses OAuth 2.0: an admin authorizes the connection, Aircall returns a non-expiring access token, and that token is sent as a Bearer token. Both reach the entire company workspace.
Can I limit an Aircall key to only certain endpoints?+
No. Aircall has no per-endpoint scopes or permissions. The OAuth flow requests a single scope, public_api, and an API key is account-level, so any valid credential reaches every endpoint with full access. A key that lists calls can also delete recordings, create and delete contacts, and change users and teams. To grant an agent only part of that, the limit has to be enforced in front of the API rather than inside Aircall.
What are the rate limits?+
Aircall allows 120 requests per minute, counted per company rather than per key, so all of an account's integrations share one budget. The X-AircallApi-Limit, X-AircallApi-Remaining, and X-AircallApi-Reset response headers report the ceiling, what is left, and when the window resets. A higher limit is available by contacting Aircall support.
How do I receive call events instead of polling?+
Register a webhook through the API with a receiver URL and the events to subscribe to, such as call.created, call.answered, call.transferred, and call.ended, along with contact and user events. Aircall posts a JSON payload to that URL the moment each event fires, which is far more efficient than repeatedly listing calls to spot changes.
What is the difference between the v1 and v2 Users endpoints?+
Aircall released a v2 line for the Users area on 20 January 2026 with an updated payload structure and new webhook events, and it has signalled that the v1 Users endpoints will be deprecated, so new work on users should target v2. Every other area, including calls, contacts, teams, numbers, tags, and webhooks, stays on v1.
How does pagination work, and is there a limit to how far back I can read?+
List endpoints take page and per_page query parameters, where per_page defaults to 20 and tops out at 50. The Calls and Contacts lists can only be paginated up to 10,000 items, so reading a longer history means narrowing the request with filters or using the search endpoint instead of paging through everything.
Related

More communication API guides for agents

What is Bollard AI?

Control what every AI agent can do in Aircall.

Bollard AI sits between a team's AI agents and Aircall. Grant each agent exactly the access it needs, read or write, area by area, and every call is checked and logged.

  • Set read, write, or full access per agent, never a shared Aircall key.
  • Denied by default, so an agent reaches only what has been explicitly allowed.
  • Every call recorded in plain English: who, what, where, and the decision.
Aircall
Support Agent
Read call history ResourceOffReadFull use
Tag and comment on calls ActionOffReadFull use
Delete recordings ActionOffReadFull use
Per-agent access, set in Bollard AI, not in Aircall