Full URL (query string, not JSON body):
POST https://api.kupe.in/api/call/create_call?phoneNumber=%2B15551234567&agent_id={uuid}
Places an outbound PSTN call. Query parameters (not JSON body): phoneNumber (required),
optional agent_id, workflow_id, phone_number_id. There is no user_id query — the user is always the
API key owner or Bearer session user.
Authentication (required): x-api-key (recommended for integrations) or
Authorization: Bearer with your Supabase session JWT. That identity is used for billing and for
resolving phone_numbers and agent–phone mappings.
Phone access: outbound uses phone_number_id and/or agent or workflow mapping on that user’s rows;
credentials and PSTN backend follow the stored provider (Twilio, Elison, Exotel).
Destination numbers: E.164 with country code (URL-encode + as %2B in curl).
Outbound line: when phone_number_id is set or inferred from mapping, that row’s telephony backend is used;
otherwise the first available active line for the subject (stable provider order) may be used.
Response: request_id and call_session_id are always returned for tracing; telephony_leg_id when the
carrier returns an id. Use call_session_id as the primary session key; correlate logs with request_id.
Documentation Index
Fetch the complete documentation index at: https://kupe.in/docs/llms.txt
Use this file to discover all available pages before exploring further.
Kupe dashboard API key for your user.
Call initiated (status: success) or initiation recorded as failed (status: failed) with the same ids for tracing — HTTP 200 so clients always receive request_id / call_session_id.
success Correlation id for tracing (logs, analytics, GET /api/v1/call-analytics?request_id=). Echoed on telephony WebSocket when the carrier includes it in the media URL.
Primary key in Kupe call_sessions for this dial.
User charged and whose phone mappings applied — always the API key owner or Bearer session user (same as auth; echoed for convenience).
Stable public label; vendor-specific telephony names are not returned in this JSON.
"pstn"
Destination dialed (as submitted, normalized server-side).
Caller line used when resolved.
Opaque provider leg identifier when available (e.g. Twilio Call SID). Not labeled by vendor in JSON.