> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getkarta.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Make a phone call

> Create a new outbound phone call.

Use a live voice agent from [List agents](https://docs.getkarta.ai/api-reference/agents/list-agents.md). Your account needs an eligible caller number and credit for calling.

## 1. List your phone numbers

```bash theme={null}
curl --fail-with-body 'https://api.getkarta.ai/public/v1/voice/phone-numbers' \
  -H "Authorization: Bearer $KARTA_API_KEY"
```

Choose a phone number enabled for outbound calls.

Omit `from_number` or send `null` to use the agent’s configured outbound number.

## 2. Create an outbound call

> [!WARNING]
>
> Outbound calls consume credits.

Set a unique `CALL_REQUEST_ID`. Reuse it with the same request body for retries.

```bash theme={null}
curl --fail-with-body 'https://api.getkarta.ai/public/v1/voice/calls/phone' \
  -H "Authorization: Bearer $KARTA_API_KEY" \
  -H "X-Request-ID: $CALL_REQUEST_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "agent_id": "agentexample",
    "from_number": "+12025550124",
    "to_number": "+12025550123",
    "llm_dynamic_variables": {"customer_name": "Alex"},
    "transit_data": {"external_id": "example-001"}
  }'
```

A `202` response confirms the request was accepted and returns `call_id` and `call_status: "call_registered"`.

## 3. Get call details

```bash theme={null}
curl --fail-with-body "https://api.getkarta.ai/public/v1/voice/calls/$CALL_ID" \
  -H "Authorization: Bearer $KARTA_API_KEY"
```

Use the returned call ID as `CALL_ID`. Recording links, transcripts, and analysis may be null until processing finishes.

For retry rules, see [idempotency](https://docs.getkarta.ai/idempotency.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.