Getting Started with CommPeak APIs

Create your API key, make your first request through api.commpeak.com, and find the right CommPeak API for your integration.

CommPeak APIs let you connect your own applications, CRMs, and back-office tools to CommPeak products. They are REST APIs served over HTTPS that accept and return JSON, so you can call them from any language or HTTP client.

Most CommPeak APIs now share one address, https://api.commpeak.com, and one credential: an API key you create in the CommPeak Portal. Start here to choose your API, get your key, and make your first request in a few minutes.

📘

NOTE

The API Reference was rebuilt in October 2026 and now documents 291 endpoints in seven APIs. If you already have a CommPeak integration, see Migrating to the New API Reference for the new names, addresses, and credentials.

Choose your API

Every API except the deprecated PBX Stats API is served from https://api.commpeak.com. Add the path for your API to that address, and authenticate with the credential shown.

APIPathCredential
Portal API/portalPortal API key
Dialer API/dialer/{sub_domain}/apiPortal API key with Full access
PBX API/pbx/{sub_domain}/apiPortal API key with Full access
Lookup API/lookupPortal API key with Full access
TextPeak API/textpeakTextPeak API key
TextPeak Streams API/textpeak/streamsStream token
PBX Stats API (deprecated)https://{instance}.stats.pbx.commpeak.comPBX Stats API key

For the Dialer API and PBX API, replace {sub_domain} with your company subdomain, for example acme. For the deprecated PBX Stats API, replace {instance} with the name of your PBX Stats instance. If you are not sure which value to use, contact CommPeak support.

Before you begin

Make sure you have the following:

  • An active CommPeak account with the products you want to integrate. You can create API keys only after your customer account is fully activated.
  • Access to the CommPeak Portal, where you create your Portal API key under Settings > API Access.
  • For the TextPeak APIs, access to Settings > API Keys in TextPeak.
  • An HTTP client, such as curl, Postman, or your preferred programming language.

Getting your API key

The Portal API key authenticates the Portal, Dialer, PBX, and Lookup APIs. To create one:

Log in to the CommPeak Portal

Log in to the CommPeak Portal.

Open API Keys

Expand Settings in the main menu, open the API Access tab, and select API Keys.

Add a key

Click Add API key and enter a Name that helps you recognize the key later.

Keep full access on

If you plan to use the Dialer, PBX, or Lookup API, keep Full access (all services) turned on under Access. It is on by default.

Create the key

Click Create, then confirm with your account password.

Copy the key

Click the eye icon next to the new key, confirm with your password again, and copy the key.

Send the key in the Authorization header of every request as the raw value, without a Bearer prefix: Authorization: <API_KEY>.

For every key option, such as read-only access and IP restrictions, and for TextPeak tokens and the PBX Stats API key, see Authentication and API Keys.

Making your first request

Store your credentials in environment variables instead of pasting them into commands or code. This way, they do not end up in your shell history, logs, or source control.

export COMMPEAK_API_KEY="your-portal-api-key"
export TEXTPEAK_API_KEY="your-textpeak-api-key"

Then pick the tab for your API, replace acme or <STREAM_ID> where needed, and run the request. Each one is a read-only call that confirms your key and connection work.

curl https://api.commpeak.com/portal/customer \
  -H "Authorization: $COMMPEAK_API_KEY"
curl 'https://api.commpeak.com/dialer/acme/api/calls/limit/10' \
  -H "Authorization: $COMMPEAK_API_KEY"
curl 'https://api.commpeak.com/pbx/acme/api/calls/limit/10' \
  -H "Authorization: $COMMPEAK_API_KEY"
curl https://api.commpeak.com/lookup/info \
  -H "Authorization: $COMMPEAK_API_KEY"
curl https://api.commpeak.com/textpeak/streams/<STREAM_ID>/token \
  -H "Authorization: $TEXTPEAK_API_KEY"

Prefer to start in code? These examples make the Portal API request in Python and Node.js. The Python example uses the requests library (pip install requests), and the Node.js example uses the built-in fetch in Node.js 18 or later, saved as an .mjs file.

import os
import requests

headers = {"Authorization": os.environ["COMMPEAK_API_KEY"]}
response = requests.get("https://api.commpeak.com/portal/customer", headers=headers)
print(response.status_code, response.json())
const response = await fetch("https://api.commpeak.com/portal/customer", {
  headers: { Authorization: process.env.COMMPEAK_API_KEY },
});
console.log(response.status, await response.json());

If the request succeeds, you get 200 and a JSON body. For example, the Portal API returns your account email and balances. The balance is in USD and does not include temporary_credit:

{
  "customer": {
    "email": "[email protected]",
    "balance": 465.28,
    "temporary_credit": 0,
    "sms_balance": 99.68,
    "sms_currency": "USD",
    "sms_platform": 1001
  }
}

If you get an error instead, see Troubleshooting your first request.

👍

TIP

You can also send requests from this site. Open any endpoint in the API Reference, enter your key in the Credentials section, and click Try It!. The response appears next to the request, together with a code sample in your chosen language.

Next steps