API availability
API v1 is in private preview. This page lists what you can do through the API today, what is done in the console and what is planned, so you can design your integration around what exists.
Availability labels
These labels appear throughout the docs:
- Available works in API v1 and is not expected to change incompatibly. During the private preview your workspace still has to be enabled to use it.
- Preview works in API v1 for workspaces in the preview; details may still change before general availability. Changes are announced in the changelog.
- Test mode works with test keys against simulated data.
- Console only done in the RelationsAI console, not through the API.
- Planned on the roadmap, not available yet.
Every operation works in both test mode and live mode, with the differences described in Test mode.
Available in v1
Every operation of API v1, grouped as in the API reference:
Workspace
- GET
/workspaceRetrieve the workspace. Available
Agents
- GET
/agentsList agents. Available - GET
/agents/{agent_id}Retrieve an agent. Available - GET
/agents/{agent_id}/readinessCheck whether an agent can place calls. Available
Phone numbers
- GET
/phone-numbersList phone numbers. Available - GET
/phone-numbers/{phone_number_id}Retrieve a phone number. Available
Calls
- POST
/callsPlace a call. Preview - GET
/callsList calls. Available - GET
/calls/{call_id}Retrieve a call. Available - GET
/calls/{call_id}/transcriptRetrieve a call transcript. Available - GET
/calls/{call_id}/recordingRetrieve a call recording link. Preview - GET
/calls/{call_id}/analysisRetrieve a call analysis. Available - GET
/recordings/{recording_token}Download recording audio. Preview
Campaigns
- POST
/campaignsCreate a campaign. Available - GET
/campaignsList campaigns. Available - GET
/campaigns/{campaign_id}Retrieve a campaign. Available - PATCH
/campaigns/{campaign_id}Update a campaign. Available - POST
/campaigns/{campaign_id}/recipientsAdd recipients. Available - GET
/campaigns/{campaign_id}/recipientsList recipients. Preview - POST
/campaigns/{campaign_id}/startStart a campaign. Preview - POST
/campaigns/{campaign_id}/pausePause a campaign. Available - POST
/campaigns/{campaign_id}/resumeResume a campaign. Preview - POST
/campaigns/{campaign_id}/stopStop a campaign. Available
Contacts
- POST
/contactsCreate a contact. Available - GET
/contactsList contacts. Available - POST
/contacts/upsertCreate or update a contact by phone number. Available - GET
/contacts/{contact_id}Retrieve a contact. Available - PATCH
/contacts/{contact_id}Update a contact. Available - DEL
/contacts/{contact_id}Delete a contact. Available
Do-not-call list
- POST
/dnc-entriesAdd a number to the do-not-call list. Available - GET
/dnc-entriesList or look up do-not-call entries. Available - DEL
/dnc-entries/{dnc_entry_id}Remove a number from the do-not-call list. Available
Webhook endpoints
- POST
/webhook-endpointsCreate a webhook endpoint. Preview - GET
/webhook-endpointsList webhook endpoints. Preview - GET
/webhook-endpoints/{webhook_endpoint_id}Retrieve a webhook endpoint. Preview - PATCH
/webhook-endpoints/{webhook_endpoint_id}Update a webhook endpoint. Preview - DEL
/webhook-endpoints/{webhook_endpoint_id}Delete a webhook endpoint. Preview - POST
/webhook-endpoints/{webhook_endpoint_id}/rotate-secretRotate a webhook signing secret. Preview - POST
/webhook-endpoints/{webhook_endpoint_id}/testSend a test event. Preview - GET
/webhook-endpoints/{webhook_endpoint_id}/deliveriesList deliveries. Preview - POST
/webhook-deliveries/{webhook_delivery_id}/retryRetry a delivery. Preview
The event types delivered by webhooks are listed on the Event types page: call.ended, call.settled, campaign.started, campaign.paused, campaign.resumed, campaign.stopped, campaign.completed, campaign.failed and webhook_endpoint.test.
Console only
Console only These are done in the RelationsAI console:
- Creating, configuring, testing and publishing agents, and switching them on or off.
- Adding phone numbers and assigning them to agents.
- Creating, rotating and revoking API keys (see API keys).
- Members, roles, billing, balance and spend limits.
- Workspace settings: calling hours, consent policy, security settings such as the IP allowlist, and custom field definitions for contacts.
Not offered in v1
The workspace object reports these as capabilities, so your code can check instead of discovering them from errors. Today each is false:
| Capability | What false means |
|---|---|
agent_editing | Agents cannot be created or edited through the API. Planned |
call_ringing_status | Calls go from queued straight to in_progress or ended; there is no separate ringing status. |
live_transcript | Transcripts are available after the call ends, not during it. |
sentiment_analysis | Analysis has a summary, extracted fields and the goal outcome, without sentiment. |
end_call | A call in progress cannot be hung up through the API. |
inbound_calls | Inbound calls do not appear in the call list. |
webhooks says whether webhook delivery, a separate private preview switched on for the platform as a whole, is available: when it is false, endpoints cannot be created, test events and retries answer webhooks_not_enabled, and no events are sent. Read the capabilities with GET/workspace.
Planned
Planned Creating, configuring and publishing agents through the API. Until then, agents are a console prerequisite: build and publish them in the console, then use them from the API.
Nothing else is announced. New capabilities are added to the changelog when they ship.
Getting access
During the private preview, the API is enabled per workspace. A workspace that is not enabled answers every authenticated request with api_access_not_enabled (problems with the path, the body or the key are still reported first), and the platform's Settings → API Keys tab shows a preview notice instead of key creation. To request access, email support@relationsai.com from an owner or admin account, with your workspace name and what you plan to build.