# Make Voice AI Call API

## POST /call

### Try it

**cURL**  
```bash
curl --request POST \
  --url https://api.bolna.ai/call \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "agent_id": "123e4567-e89b-12d3-a456-426655440000",
  "recipient_phone_number": "+10123456789",
  "from_phone_number": "+19876543007",
  "scheduled_at\": "2025-08-21T10:35:00",
  "user_data": {
    "variable1": "value1",
    "variable2": "value2",
    "variable3": "some phrase as value"
  },
  "agent_data": {
    "voice_id": "Sam"
  }
}
'
```

### Response

**200**  
```json
{
  "message": "done",
  "status": "queued",
  "execution_id": "123e4567-e89b-12d3-a456-426614174000"
}
```

---

## Authorizations

**Authorization**  
Type: `string`  
Location: `header`  
Required: Yes  
Format: Bearer authentication header of the form `Bearer <token>`, where `<token>` is your auth token.

## Body

**application/json**  
Make a phone call from agent

- **agent_id**  
  Type: `string<uuid>`  
  Required: Yes  
  Description: Agent `id` which will initiate the outbound call

- **recipient_phone_number**  
  Type: `string`  
  Required: Yes  
  Description: Phone number of the recipient alongwith country code (in [E.164](https://en.wikipedia.org/wiki/E.164) format)

- **from_phone_number**  
  Type: `string`  
  Description: Phone number of the sender alongwith country code (in [E.164](https://en.wikipedia.org/wiki/E.164) format)

- **scheduled_at**  
  Type: `string`  
  Description: The scheduled date and time in ISO 8601 format with time zone  
  Example:  
  
  ```
  "2024-06-05T16:35:00.000+05:30"
  ```

- **user_data**  
  Type: `object`  
  Description: Additional user dynamic variables as defined in the agent prompt

- **agent_data**  
  Type: `object`  
  Description: Agent configuration to override the default configuration. Currently, only `voice_id` is supported.

- **retry_config**  
  Type: `object`  
  Description: Configuration for auto-retry of failed calls.

## Showchild attributes

- **bypass_call_guardrails**  
  Type: `boolean`  
  Default: `false`  
  Description: Skip time validation checks and make call immediately regardless of agent's calling_guardrails configuration.

### Response

**200**  
**application/json**  
**agent status response**

- **message**  
  Type: `string`  
  Description: Response message for the call initiated  
  Example:

```
  "done"
  ```

- **status**  
  Type: `enum<string>`  
  Description: Status of the call.  
  Available options:  
  - `queued`  
  Example:

```
  "queued"
  ```

- **execution_id**  
  Type: `string`  
  Description: Unique `execution_id` or `call_id` identifier of the call.  
  Pattern: `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}`  
  Example:

```
  "123e4567-e89b-12d3-a456-426614174000"
  ```
