API Reference
API Overview

API Overview

The Aila REST API gives you programmatic access to calls, transcripts, contacts, compliance results, metrics, and MISMO 3.4 loan files. Use it with outbound webhooks to react to events as they happen.


Full reference (OpenAPI)

The complete, always-current endpoint reference is generated from the app:

The tables below cover the most-used endpoints.


Base URL and authentication

https://app.aila.fyi/api/v1

Send an API key as a Bearer token:

Authorization: Bearer ak_<64 hex characters>

Each key carries explicit permissions. Grant each integration only the permissions listed for the endpoints it uses. See Authentication.

Most list endpoints are scoped to your organization: /organizations/{organizationId}/.... Call GET /auth/verify or GET /users/me to confirm your key and look up your organization ID.


Common endpoints

Calls

Method & pathDescriptionPermission to grant
GET /organizations/{organizationId}/callsList calls with filters and pagination.calls:read
GET /calls/{callId}Call details, stats, and AI summary.calls:read
GET /calls/{callId}/transcriptSpeaker-labeled transcript.calls:read
PATCH /calls/{callId} · DELETE /calls/{callId}Update or delete a call.calls:write
GET /organizations/{organizationId}/calls/{callId}/analysisAI analysis of the call.calls:read
GET /organizations/{organizationId}/calls/{callId}/complianceScorecard (Call Compliance Agent) results.calls:read
POST /calls/upload/batchUpload 1–100 recordings by URL. See Batch Call Upload.calls:write
GET /batches/{batchId}Batch upload status.calls:write

Contacts and loan files

Method & pathDescriptionPermission to grant
GET /organizations/{organizationId}/contactsList contacts.contacts:read
POST /organizations/{organizationId}/contactsCreate a contact.contacts:write
GET /contacts/{contactId}Contact details (add includeCalls for their calls).contacts:read
GET /organizations/{organizationId}/contacts/{contactId}/mortgage-application/export/fnmaExport the borrower's loan file as MISMO 3.4 XML.loan-files:read

Metrics, insights, and webhooks

Method & pathDescriptionPermission to grant
GET /organizations/{organizationId}/metrics/summaryTeam call volume, duration, and speed-to-lead summary.metrics:read
GET /organizations/{organizationId}/insightsQuestions and objections across calls.insights:read
GET · POST /organizations/{organizationId}/webhooksList or create webhook endpoints. See Webhooks.Any key

Check the OpenAPI spec (opens in a new tab) for request parameters and response schemas.


Responses and errors

Successful responses use { "success": true, "data": ... }. Every response includes an x-request-id header; include it when you contact support.

StatuscodeMeaning
400VALIDATION_ERRORThe request body or query failed validation.
401UNAUTHORIZED / INVALID_API_KEYMissing, invalid, deleted, or expired key.
403INSUFFICIENT_PERMISSIONS / FORBIDDENThe key lacks the scope, or the resource belongs to another organization.
404NOT_FOUNDThe resource doesn't exist.
429RATE_LIMITEDToo many requests. Back off and retry.
500INTERNAL_ERRORSomething failed on our side. Retry, then contact support with the request ID.

Rate limits

Each key can make about 500 requests per minute. Over the limit, the API returns 429 RATE_LIMITED. There are no rate-limit headers, so retry with exponential backoff. Need more? Email support@aila.fyi.


Related