Authenticate with HTTP Basic Auth using your Aircall API ID as the username and API token as the password against the base URL https://api.aircall.io/v1.
List calls within a time window with GET /v1/calls?from={unix_timestamp}&to={unix_timestamp}&per_page=50; paginate with the 'page' param until no further results are returned.
Each call object in the response contains a 'recording' field — when present, it is a URL to the call recording audio file; download recordings by issuing an authenticated GET request to that URL.
Extract analytics fields from each call record: 'duration', 'answered_at', 'ended_at', 'direction' (inbound/outbound), 'missed', 'user' (agent), and 'number' (Aircall line used).
Filter calls by a specific Aircall number ID using the 'number_id' query param, or by user with 'user_id', to produce per-line or per-agent reports.
Aggregate duration, missed-call rate, and average handling time in your data pipeline; join on 'user.id' to map call records to agent names from GET /v1/users.
Known gotchas
Recording URLs returned by the Aircall API are time-limited and signed — download recordings promptly and store them in your own storage; do not store the URL as a permanent reference.
Aircall's recording feature must be enabled on the account and on each individual number — calls on numbers without recording enabled will have a null 'recording' field even if the account-level setting is on.
The calls list endpoint returns both answered and missed calls in the same collection — always check the 'missed' boolean before including a record in handle-time calculations.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp