Conventions
Formats, pagination and ids used across the API.
Requests
- Base URL:
https://api.resonera.ai - Bodies are JSON. Send
Content-Type: application/jsonwith every request that has a body. - Authenticate with the
X-API-Keyheader. See Authentication.
IDs
Agents, campaigns, voices and phone numbers have UUID ids. Calls are identified by call_id,
which also appears on campaign contacts once they've been dialed.
Phone numbers
E.164 everywhere: a +, the country code, then the number, with no spaces. For example
+919876543210.
Timestamps
ISO 8601. Responses are in UTC. In filters such as since, a time without an offset is read as
UTC.
Pagination
List endpoints take limit (1 to 200, default 50) and offset (default 0), and return the page
along with total, the number of matching items across all pages.
{ "calls": [ … ], "total": 312, "limit": 200, "offset": 200 }Keep requesting with offset += limit until offset >= total.
The exception is GET /campaigns/{campaign_id}/contacts, which returns every contact as a plain
array.
Partial updates
PATCH changes only the fields you send. Sending null for a field is rejected rather than
treated as "clear it".
Ownership
A key sees its own organization's data. Anything else returns 404, exactly as if it didn't
exist, so ids can't be probed.