Generate Your API Keys
Only Administrators can create API keys. If you don’t have administrator access to your CloudTalk account, ask your account admin to generate a key pair for you.1
Open Account Settings
Log in to the CloudTalk Dashboard and navigate to Account → Settings in the left-hand sidebar, or go straight to https://dashboard.cloudtalk.io/menu/account/settings/API-keys.
2
Go to the API Keys Tab
Inside Settings, select the API Keys tab. You’ll see a list of any existing keys along with their creation dates and labels.
3
Create a New Key
Click Add API Key (or Generate New Key, depending on your dashboard version). Give the key a descriptive label — for example,
CRM Integration or Data Pipeline — so you can identify it later.4
Copy Your Credentials
CloudTalk displays your API Access Key ID and API Access Key Secret once, immediately after creation. Copy both values to a secure location (such as a secrets manager) before closing the dialog. The secret is not shown again.
Authenticate a Request
Using cURL
Pass your credentials with the-u flag, which automatically encodes them as HTTP Basic Auth:
Send
Accept: application/json on every core API GET. A request without it may be rejected with a 404 or 406.Using the Authorization Header Directly
For programmatic use, compute the Base64 encoding ofKEY_ID:KEY_SECRET and pass it in the Authorization header:
ABCDEFGHIJTESTKEY1 and your secret is X05Dg4c331c3h61An, the raw credential string is:
Code Examples
HTTPS Requirement
The API only accepts connections over HTTPS. Any request sent over plain HTTP is rejected. All four base URLs enforce this:https://my.cloudtalk.io/api/https://api.cloudtalk.io/v1/https://analytics-api.cloudtalk.io/api/https://platform-api.cloudtalk.io/api/
Which Account Do My Credentials Target?
Your API Access Key ID and Secret are scoped to the CloudTalk project (account) they were created in. If your organization has multiple CloudTalk projects, you need separate key pairs for each one. The credentials you include in a request determine which project’s data is read or modified — there is no way to cross projects with a single credential pair.401 Unauthorized
If your credentials are missing, incorrect, or revoked, the API returns an HTTP401 response with the following body:
401:
- The
Authorizationheader is missing entirely. - The key ID or secret contains a typo or extra whitespace.
- The key has been revoked from the Dashboard.
- You are using credentials created for a different CloudTalk project than the one holding the data you are requesting. Base URLs select an API service, not a project — the project is determined entirely by the credentials.
Security Best Practices
Keeping your API credentials safe protects your CloudTalk account from unauthorized access. Follow these guidelines:Use Environment Variables
Never hard-code credentials in source code. Load them from environment variables or a secrets manager at runtime.
Keep Keys Out of Version Control
Add credential files to
.gitignore. Audit your repository history if you suspect a key was committed.Rotate Keys Periodically
Generate new key pairs on a regular schedule or immediately after any suspected exposure. Revoke old keys from the Dashboard once rotation is complete.
Use Separate Keys per Integration
Create a distinct key pair for each application or service that calls the API. This limits blast radius if one key is compromised and makes it easier to audit usage.
The Other API Hosts
A few resource groups live on dedicated hosts rather thanmy.cloudtalk.io/api: Call Flow Analytics on analytics-api.cloudtalk.io, CueCard on platform-api.cloudtalk.io, and Conversation Intelligence, VoiceAgent and the Dialer partner API on api.cloudtalk.io/v1 (see Base URLs). Your credentials work unchanged on all of them — only the host and the response shape differ:
api.cloudtalk.io/v1, a missing or invalid credential returns a 401 from the authentication layer in front of the host — identically for the AI, VoiceAgent and Dialer endpoints — with a { "code": "UNAUTHORIZED", "message": "..." } body instead of the core API’s responseData envelope.
Next Steps
With authentication in place, you’re ready to make your first live API call.Quickstart
List calls and trigger an outbound call in under 5 minutes.
API Reference
Browse every endpoint, see request/response schemas, and try calls in the live playground.