---
title: "Admit an outbound call a local-mode deployment will dial itself"
method: POST
path: "/v1/gateway-deployments/{gateway_id}/outbound-calls"
---

# Admit an outbound call a local-mode deployment will dial itself

`POST /v1/gateway-deployments/{gateway_id}/outbound-calls`

## Request

- Base URL: `https://api.skysay.ai`
- URL: `https://api.skysay.ai/v1/gateway-deployments/{gateway_id}/outbound-calls`
- Auth: none declared

For a self-hosted local-mode deployment, runs outbound admission, wallet reservation, call creation and bounded execution-slot allocation, then returns a single-use tca_ token and dial plan instead of enqueueing a job. Tenant/project authority comes from the deployment row; any supplied identity must agree. Caller ID must be an active number of that project. Gateway tokens require both calls:authorize and gateways:report; missing scopes and a disabled live gate refuse before reservation. Denied authorization returns no token; an idempotency replay returns the original call without a new token. Self-hosted queue-mode workers remain organization-bound. The separately operated platform_hosted mode is internal: it only authorizes an existing hosted call under its current worker lease, deriving tenant/configuration from that call, never creating a caller-selected tenant call. Platform mode is staged behind its rollout gate and is not available through customer deployment creation.

## Request body

- GatewayOutboundCall
  - `agent_endpoint_id` string
  - `agent_id` string: Defaults to the caller number's own configured agent.
  - `call_context` object
  - `external_group_reference` string
  - `external_reference` string
  - `from_number_id` string: Caller ID by number id; must be an active number of the deployment's project.
  - `from_phone_number` string: Caller ID in E.164, resolved inside the deployment's own project.
  - `idempotency_key` string
  - `purpose` string
  - `recipient_type` string
  - `recording_enabled` boolean
  - `relationship` string
  - `to` string, required: Destination in E.164.
  - `user_authorization` object

## Response `201`

Admission result: the call, and the dial plan plus token when authorized

---

[API](https://skmtc.dev/skysay/apis/skysay-api.md) · [All operations](https://skmtc.dev/skysay/apis/skysay-api/llms.txt) · [OpenAPI document](https://skmtc.dev/skysay/apis/skysay-api/revisions/148c7e111260?raw)
