This API reference is in beta. The endpoints documented here are live in
production and safe to build against. The reference itself is still growing -
more of the Placetel platform API will be added over time.
https://aipro.placetel.de/api/v1/outbound
Authentication
Every request must send a Bearer token in theAuthorization header:
Phone number format
All phone numbers must be in E.164 international format - a+ followed by
digits only. Send the exact format; numbers are not reformatted for you.
Identifying your agent
You identify an agent by its phone number (a leading+ is optional), or by its SIP ID (a value starting with t) - not by an internal database ID.
When agent_number is a SIP ID, you must also send caller_number: the caller ID
shown to the recipient, which has to be a number registered on your Placetel
account.
Personalizing the prompt
Inject dynamic values into your agent’s prompt at call time so each recipient hears a tailored message.1
Add placeholders to the agent's prompt
Use
{{name}} syntax in the prompt:2
Provide the values when placing the call
Rules
- Every
{{placeholder}}in the prompt must be provided, or the request is rejected with400. - Extra keys not used by the prompt are accepted and ignored.
- Key names should be lower
snake_case(letters, digits, underscores), e.g.customer_name. Thesystem__andsecret__prefixes are reserved. - Values must be strings - send numbers and booleans as strings (
"3","true"). - Up to 25 keys; each value up to 500 characters.
- In bulk, use either per-destination or a shared top-level
prompt_variables, not both.
Correlating calls with your own records
Send your own identifier inmetadata.external_call_id and it is echoed back at
the top level of the placement response, and carried through to the post-call
callback:
call_id is the primary public identifier for a call. It is also
available in post-call actions as %%call_id%%.
Checking results
Every call - single or bulk - belongs to a batch. Use List batches and Get a batch (under Batches in the sidebar) to see whether each call connected. Outcomes also appear in your dashboard, in your outbound call history or in Conversations, together with the full transcript. Filter by the agent you placed the calls with to find them.Errors
Existing outbound domain errors use this shape:error_type, and rate limits add a detail pointing you to where you can request
more capacity.
Upcoming customer API request limits
The following request-limit contract is prepared for a future rollout. These
limits are not enabled yet. Existing outbound call limits continue to apply.
An allowance permits an initial burst and replenishes over time. Its burst size
is not a strict per-minute quota. Each accepted request uses one unit, including
a bulk request; existing limits still govern the number of calls it can place.
Cancellation has a separate allowance from starting evaluations or placing calls.
When the request allowance is exhausted, the API will return
429 with a
Retry-After header in seconds and this body:
429.
If the API cannot check the allowance, it will return 503:
error identifier rather than matching the message text.
Quickstart
Removed endpoints
POST /api/v1/outbound/calls/place is no longer available and responds 410 Gone. It existed for the retired SMS-consent flow. Use Place a call or
Place calls in bulk instead.