What changes
API v1 also answers every failure with the same error body, and sends every timestamp in one UTC format:
2026-10-07T09:12:03.000000Z.
Endpoint by endpoint
API v1 also covers things the legacy API doesn’t, such as text knowledge sources and your organization’s usage.
Not in API v1 yet
Keep using the legacy API for these:- Change an agent’s greeting (
greetingMessageinPOST /update-agent). - Report an issue with a call (
POST /report-call-error). - Import a phone number (
POST /import-number). - Generate an agent from a prompt (
POST /agent-generations,GET /agent-generations/{generationId}).
orgId in POST /update-agent) won’t come to API v1, because an API key acts in one organization. Move agents in the Phonely web app.
Calls
List filters
By default, the API v1 list shows calls whose
status is completed, ended, in_progress or in_warm_transfer.
Call fields
Post-call outcome
custom_metadata replaces the whole object stored before. See Updates and concurrency.
Find a call by phone number
The legacyPATCH could take a phone number instead of a call ID. In API v1, find the call first, then update it by ID:
-
List the agent’s calls for that number. Calls are newest first, so
limit=1returns the latest call:Encode the+as%2B, or it arrives as a space. -
Update the call with its
id:

