API v1 replaces the legacy API, which keeps working. To move an existing integration, see Migrate from the legacy API.
Base URLs
Use the base URL for the region your organization’s data is in.
Make your first request
- Create an API key in the Phonely web app.
-
List the organizations the key can reach:
-
Check the response. A key belongs to one organization, so the list has one item:
What you can do
Each endpoint’s reference page documents its request, response and errors.
Conventions
- Requests and responses are JSON. Field and parameter names are snake_case, such as
customer_phone_number. - Timestamps are UTC, always in the same format:
2026-10-07T09:12:03.000000Z. Time filters take ISO 8601 with a timezone. - IDs are strings. Every resource has an
objectfield naming its type, such as"object": "call". - Every documented field is always in the response. A value that’s missing is
null. - Fixed values, such as statuses and reasons, are lowercase snake_case. New values can be added at any time, so handle values you don’t recognize.
- An unknown request field or query parameter is a
400, so a misspelled filter never passes silently. - A request body can be up to 1 MB. File uploads have their own limit, documented on the upload endpoint.
Request IDs
Every response has anX-Request-Id header, and every error body repeats it as request_id. Include it when you contact Phonely support about a request.
To trace a request through your own logs, send your own X-Request-Id: up to 128 letters, digits, ., _, : or -. Phonely uses it for that request. Otherwise Phonely generates one.
Responses carry Cache-Control: no-store: they can hold customer data, so caches and proxies must not store them.
