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

# CloudTalk REST API: Call Center Automation Platform

> CloudTalk's REST API v1.7 lets engineers automate call center operations — calls, contacts, agents, AI insights, SMS, and more over HTTPS with JSON.

CloudTalk is a cloud-based call center and business calling platform built for modern revenue and support teams. Its REST API v1.7 gives you programmatic control over the full platform — automating outbound calling, syncing contacts, managing agents and numbers, running SMS campaigns, and surfacing AI-powered conversation intelligence from every call. If your team needs to integrate CloudTalk with a CRM, build internal tooling, or automate workflows that span your entire communication stack, the API is your starting point.

## What the API Enables

The CloudTalk REST API is organized around the core resources your call center relies on. You can interact with each resource through a consistent set of HTTP endpoints:

<CardGroup cols={2}>
  <Card title="Calls" icon="phone">
    List call history, retrieve individual call records, initiate outbound calls, and download call recordings.
  </Card>

  <Card title="Contacts" icon="address-book">
    Create, update, and delete contacts. Manage tags, notes, activities, and custom attributes tied to each record.
  </Card>

  <Card title="Agents" icon="headset">
    Query agent profiles, availability status, and the numbers each agent is associated with.
  </Card>

  <Card title="Numbers" icon="hashtag">
    List and manage the phone numbers provisioned in your CloudTalk account.
  </Card>

  <Card title="SMS & WhatsApp" icon="comment-sms">
    Send outbound SMS and WhatsApp messages programmatically from your CloudTalk numbers.
  </Card>

  <Card title="Campaigns" icon="bullhorn">
    Create and manage the core API's outbound calling campaigns. For the newer sales-dialer partner API, see **Dialer** below.
  </Card>

  <Card title="Conversation Intelligence" icon="brain">
    Access AI-generated transcriptions, sentiment scores, smart notes, call topics, and talk-listen ratios.
  </Card>

  <Card title="VoiceAgent" icon="robot">
    Initiate AI-powered voice agent calls by specifying a configured VoiceAgent ID and a target number.
  </Card>

  <Card title="Dialer" icon="phone-arrow-up-right">
    Sales-dialer partner API — campaigns, campaign contacts, call scripts, surveys, disposition buttons, statistics, and exports. Separate base URL and response shape; same Basic-auth credentials. Newly released — Dashboard visibility depends on your account's rollout stage.
  </Card>

  <Card title="CueCard" icon="cards-blank">
    Push real-time guidance cards to an agent during a live call.
  </Card>
</CardGroup>

## Base URLs

CloudTalk serves its API from four hosts, and the one you use depends on the resource group you are targeting. Always use HTTPS — requests over plain HTTP are rejected.

| Resource Group                                                    | Base URL                                  |
| ----------------------------------------------------------------- | ----------------------------------------- |
| Core API (calls, contacts, agents, numbers, SMS, campaigns, etc.) | `https://my.cloudtalk.io/api/`            |
| Call Flow Analytics                                               | `https://analytics-api.cloudtalk.io/api/` |
| AI & Conversation Intelligence / VoiceAgent                       | `https://api.cloudtalk.io/v1/`            |
| CueCard                                                           | `https://platform-api.cloudtalk.io/api/`  |
| Dialer partner API                                                | `https://api.cloudtalk.io/v1/`            |

<Note>
  Most everyday integrations use the core API at `https://my.cloudtalk.io/api/`. The analytics, AI, and CueCard base URLs apply only to their respective resource groups — check each endpoint's reference page to confirm which base URL to use.
</Note>

## Request Format

### Protocol and Encoding

All API communication happens exclusively over **HTTPS**. Structured payloads are **JSON** encoded as UTF-8 per [RFC 8259](https://www.rfc-editor.org/rfc/rfc8259) — XML is not supported.

A small number of endpoints return binary content instead of JSON. [Download a call recording](/api-reference/calls/recording-media), for example, responds with `audio/x-wav`. Always follow the media type documented on the endpoint's own reference page.

### HTTP Methods

<Warning>
  **The core API does not use `POST` and `PUT` the way most REST APIs do.** On `my.cloudtalk.io/api`, **`PUT` creates** and **`POST` updates** — the reverse of the usual convention.
</Warning>

| Method   | Semantics on the core API (`my.cloudtalk.io/api`)                             |
| -------- | ----------------------------------------------------------------------------- |
| `GET`    | Read a resource or list a collection. Never modifies data.                    |
| `PUT`    | **Create** a resource — e.g. `PUT /contacts/add.json`                         |
| `POST`   | **Update** an existing resource — e.g. `POST /contacts/edit/{contactId}.json` |
| `DELETE` | Delete a resource                                                             |

Three core endpoints are actions rather than updates and use `POST` for that: [Make a call](/api-reference/calls/make-a-call), [Send sms](/api-reference/sms/send-sms) and [Contact actions](/api-reference/bulks/contact-actions). `PATCH` is not used by the core API.

#### Newer surfaces use conventional REST

The Dialer, VoiceAgent, Conversation Intelligence and CueCard endpoints are newer services and use the conventional mapping where they expose the method at all. Most of them expose only a slice of it: Conversation Intelligence is read-only, and VoiceAgent and CueCard are `POST`-only. **Dialer is the only surface with `PATCH`, `PUT` or `DELETE` operations.**

| Method   | Semantics                                  | Where it appears                                                  |
| -------- | ------------------------------------------ | ----------------------------------------------------------------- |
| `GET`    | Retrieve a resource or a list of resources | Conversation Intelligence, Dialer                                 |
| `POST`   | Create a resource or trigger an action     | VoiceAgent, CueCard, Dialer                                       |
| `PATCH`  | Partially update an existing resource      | Dialer only — campaigns, scripts, surveys                         |
| `PUT`    | Replace a sub-collection wholesale         | Dialer only — associations, disposition buttons, survey questions |
| `DELETE` | Delete a resource                          | Dialer only — campaigns, scripts                                  |

### Required Headers

**For `GET` and `HEAD` requests**, include an `Accept` header. On the core API a request without `Accept: application/json` may be rejected with a `404` or `406`:

```http theme={"system"}
Accept: application/json
```

For endpoints that return binary content — call recordings, for instance — send the media type that endpoint documents instead.

**For `POST` and `PUT` requests**, include a `Content-Type` header to declare the format of your request body:

```http theme={"system"}
Content-Type: application/json
```

### Timestamps

All date and time values are **UTC**, but the wire representation varies by endpoint, so take the exact form from the endpoint's own reference page. Both of these appear in the API:

```
2018-01-10 12:34:56        space-separated — envelope examples, and the
                           date_from / date_to filters on call history
2017-10-04T06:33:37.000Z   RFC 3339 with milliseconds — call record
                           timestamps such as started_at and ended_at
```

Always treat parsed values as UTC so you do not introduce off-by-one-hour bugs around daylight saving transitions.

## API Resources at a Glance

The following table summarizes the top-level resources available in CloudTalk API v1.7:

| Resource                      | Description                                                                                           |
| ----------------------------- | ----------------------------------------------------------------------------------------------------- |
| **Calls**                     | Call records, recordings, outbound call initiation                                                    |
| **Contacts**                  | Contact profiles, tags, notes, activities, custom attributes                                          |
| **Numbers**                   | Phone numbers provisioned in your account                                                             |
| **Agents**                    | Agent profiles and availability                                                                       |
| **SMS**                       | Outbound SMS messages                                                                                 |
| **Tags**                      | Labels applied to calls and contacts                                                                  |
| **Campaigns**                 | Outbound call campaigns on the core API                                                               |
| **Bulks**                     | A batch of up to 10 contact add/edit/delete actions in one request                                    |
| **CueCard**                   | Scripted prompts displayed to agents during calls                                                     |
| **Groups**                    | Agent groups and queues                                                                               |
| **Utilities**                 | Supporting data — the countries list and the inbound call blacklist                                   |
| **Conversation Intelligence** | AI transcriptions, sentiment, smart notes, topics                                                     |
| **VoiceAgent**                | AI-driven automated voice calls                                                                       |
| **Dialer**                    | Sales-dialer partner API — campaigns, scripts, surveys, exports. Separate base URL and response shape |

## Next Steps

You now have a clear picture of what the API offers and how it's structured. The next step is setting up authentication so you can start making live requests.

<CardGroup cols={3}>
  <Card title="Authentication" icon="key" href="/guides/authentication">
    Generate your API keys and authenticate every request with HTTP Basic Auth.
  </Card>

  <Card title="Quickstart" icon="rocket" href="/guides/quickstart">
    Make your first API call — list calls and trigger an outbound call in minutes.
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference/overview">
    Browse the full endpoint library with parameters, response schemas, and a live playground.
  </Card>
</CardGroup>


## Related topics

- [CloudTalk REST API v1.7 — Complete Developer Reference](/api-reference/overview.md)
- [How to Authenticate Requests to the CloudTalk REST API](/guides/authentication.md)
- [Quickstart: Make Your First CloudTalk REST API Call](/guides/quickstart.md)
