---
title: "Outbound call API"
description: "Request one authorized phone call with a stable idempotency key."
url: "https://documentation.verbatik.com/api/outbound-calls/"
---

# Outbound call API

Request one authorized phone call with a stable idempotency key.

POST `/api/v1/workspaces/WORKSPACE_ID/calls/outbound` requires `calls:write`.

## Prerequisites

The workspace must be enabled for outbound calling, with a usable phone connection, a published compatible agent, permitted destination/consent policy, capacity and the required billing setup. An API key alone does not enable paid calls. If outbound calling is not enabled for your workspace, complete setup with Verbatik support first.

## Request

```bash
curl -X POST 'https://dashboard.verbatik.com/api/v1/workspaces/WORKSPACE_ID/calls/outbound' \
  -H "Authorization: Bearer $VERBATIK_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{"fromNumberId":"PHONE_NUMBER_ID","agentId":"AGENT_ID","to":"+12025550123","idempotencyKey":"9a52bec3-8394-4750-b9d8-d290f4ae3f68"}'
```

Replace the illustrative destination with a number you control or are authorized to call. This example is not a request to dial the displayed number.

All four fields are required. `to` must be E.164; `idempotencyKey` must be a UUID. Use one key for one intended call and reuse it when recovering that same request. Generate a new UUID for a genuinely new call.

## Response and status

Success is `201` with `{ "data": ...call }`. Acceptance does not mean the recipient answered or the task succeeded. Use call history, the read API and signed call events to follow progress.

Do not use generic `POST /calls`: the public API requires this dedicated call route. For retries after a network interruption, preserve the original idempotency key and inspect the saved outcome.
