Skip to main content
REST API for placing AI-powered outbound calls to your contacts. Place a single call or a batch, personalize each call’s prompt, and check the results. Base URL: https://aipro.placetel.de/api/v1/outbound

Authentication

Every request must send a Bearer token in the Authorization header:
Generate (or rotate) your token on the Outbound Calls page in your dashboard (“Generate API Token”). The token is shown once — store it securely; rotating it invalidates the previous token. Each token only reaches your own agents and data.

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.

Endpoints

Place a Call

Place a single outbound call. The call is dialed immediately.

Request Body (JSON)

Response

Use call_id to reference the call. The call’s outcome and transcript appear in your dashboard — see Checking Results.

Place Calls in Bulk

Place calls to multiple destinations in one request. Up to 10 destinations.

Request Body (JSON)

Destinations format

Each destination is an object with a phone field and optional per-destination prompt_variables:
If you don’t need per-destination values, omit prompt_variables:
To apply the same values to every destination, send a single top-level prompt_variables instead:
Top-level and per-destination prompt_variables cannot be combined in the same request — use one or the other.
The whole request is validated before any call is placed. If it fails validation — for example an invalid number format, more than 10 destinations, or a missing or invalid prompt variable — the entire request is rejected with a 400 and no calls are placed. Once validation passes, each destination is dialed independently. If the call fails at the telephony level for one number, the others still go through — so a bulk can return a mix of successes and failures per destination (see the response below). Duplicate destinations (identical numbers) are de-duplicated — each unique number is called once.

Response

A bulk returns 201 even when some — or all — calls fail: check each entry’s success and status in results[], and the top-level succeeded / failed counts summarize the batch. A non-201 status means the whole request was rejected (see Errors). Call outcomes also appear in your dashboard — see Checking Results.

Checking Results

Call outcomes appear in your dashboard — in your outbound call history or in Conversations: whether each call connected, plus the full conversation and transcript. Filter by the agent you placed the calls with to find them.

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 using {{name}} syntax:
2. Provide the values in prompt_variables when placing the call:
The prompt is resolved with your values before the call starts.

Rules

  • Every {{placeholder}} in the prompt must be provided, or the request is rejected with 400.
  • 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.
  • Values must be strings (send numbers and booleans as strings, e.g. "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.

Errors

All errors share this shape:

HTTP Status Codes

Common Validation Errors (400)

Quickstart

One call:
Personalized bulk calls:
Check results — call outcomes and transcripts appear in your dashboard; see Checking Results.