> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.hollr.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.hollr.ai/_mcp/server.

# Making calls

The Calls API is the main reason to integrate with HollrAI programmatically.

Build and deploy your agent in [app.hollr.ai](https://app.hollr.ai), then use your backend to trigger calls whenever something happens in your product: a new lead arrives, an order needs confirmation, a candidate needs screening, a customer needs a follow-up, or any other workflow that benefits from a phone conversation.

You can trigger one call at a time or send a batch of contacts.

#### Single call

Use `/v1/call/make-call` to trigger one outbound call.

```bash
curl -X POST https://api.hollr.ai/v1/call/make-call \
  -H "hollr-api-key: $HOLLR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "campaign_id": "CAMPAIGN_ID",
    "to": "+15551234567",
    "metadata": {
      "orderId": "ORD-4821",
      "customerId": "CUST-1042"
    }
  }'
```

`campaign_id` and `to` are required. `metadata` is optional and accepts arbitrary JSON values you want associated with the call request.

#### Bulk calls

Use `/v1/call/bulk-calls` when your application needs to trigger multiple calls under the same campaign.

```bash
curl -X POST https://api.hollr.ai/v1/call/bulk-calls \
  -H "hollr-api-key: $HOLLR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "campaign_id": "CAMPAIGN_ID",
    "contacts": [
      {
        "name": "Jane Doe",
        "phone_number": "+15551234567"
      },
      {
        "name": "John Smith",
        "phone_number": "+15557654321",
        "other_details": {
          "appointmentDate": "2026-08-14"
        }
      }
    ]
  }'
```

Each contact requires a `name` and `phone_number`. `other_details` can contain additional contact information.

## Which endpoint should I use?

* **Single event-driven call:** use `make-call`.
* **Batch of contacts:** use `bulk-calls`.
* **Repeated or scheduled workflows:** keep the business logic in your application and trigger the appropriate endpoint when the call should happen.

HollrAI handles the voice conversation itself. Your application decides **when** to call and **who** to call.

## Response

The call endpoints currently pass through the response returned by HollrAI's underlying call server, so the API reference intentionally exposes the response as an open object rather than pretending it has a fixed schema.

## Limits

The current API contract documents a 60 requests/minute limit per API key. `make-call` also has a 5 concurrent-call limit per API key; `bulk-calls` does not enforce that specific concurrent-call limit.

See [errors and rate limits](/errors-and-rate-limits) for the full details.

## After triggering a call

A completed call can be read through the [Conversations API](/conversations). Use the conversation record when your application needs the transcript, summary, sentiment, recording information, call identifiers, or other call data.