# POST /agents/:id/call

**Resource:** [Agents](./agents.md)  
**Scopes:** `calls:initiate`  
**Write operation:** yes

Initiate an outbound voice call using this agent (voice only). from_number is optional -- if omitted the API falls back to the agent's first configured outbound number (phone_numbers.outbound[0]). Returns a validation error if neither from_number nor an outbound number is configured. Optionally pass dynamic_variables (object) to inject variables into the agent at call start. The response includes a warnings array if expected dynamic variables are missing.

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `id` | path | uuid | yes | Voice agent ID |
| `to_number` | body | string | yes | Destination phone number (E.164) |
| `from_number` | body | string | no | Caller ID phone number (E.164). If omitted, falls back to agent's phone_numbers.outbound[0]. |
| `dynamic_variables` | body | object | no | Key-value pairs injected into the agent at call start (e.g. {"customer_name": "Jane"}). Check agent's default_dynamic_variables for expected keys. |

## Request example

```bash
{"to_number": "+61412345678", "dynamic_variables": {"customer_name": "Jane Smith", "email": "jane@example.com"}}
```

## Response example

```json
{"call_id": "call_abc123", "call_status": "registered", "from_number": "+61399000890", "to_number": "+61412345678"}
```

---
Base URL: `https://api.trustpager.com/functions/v1/api/v1` — Auth: `Authorization: Bearer YOUR_API_KEY`