canonical: https://jentic.com/apis/commpeak.com/commpeak-api

# CommPeak API

Jentic publishes the only available OpenAPI specification for CommPeak API, keeping it validated and agent-ready. CommPeak provides cloud communications infrastructure: an outbound dialler, cloud PBX, SMS via TextPeak, HLR number lookup, billing data, and an SMS gateway. The unified API spans 39 endpoints across calls, campaigns, leads, users, do-not-call lists, call detail records, SMS sending, HLR lookups, and billing rates. Use it to run sales call centres, send transactional SMS, validate phone numbers, and pull rate cards for cost reporting.

## For AI agents

Run outbound dialler campaigns, send SMS, look up phone numbers via HLR, and pull billing rates and call records on CommPeak with one bearer token.

## Scope

Does not handle email delivery, video conferencing, or in-app push notifications - use for outbound voice dialling, SMS, HLR lookup, and billing data only.

## Capabilities

- Initiate outbound calls and click-to-call sessions via GET /click2call
- Manage dialler campaigns and leads via /campaigns and /leads endpoints
- Send transactional SMS via POST `/sms/send` and check delivery status
- Run synchronous or asynchronous HLR lookups via `/lookup/sync` and `/lookup/async`
- Maintain a do-not-call list via /dnc endpoints
- Retrieve call detail records (CDRs) and aggregated call statistics
- Pull customer account details, voice rates, and SMS rates from /billing

## Use cases

### Outbound Sales Dialler Automation

Push leads from a CRM into CommPeak via POST /leads, dispatch them to a campaign with GET `/dispatch/leads`, and start calls with /click2call. Pull aggregated stats from GET `/calls/aggregated` to track campaign performance. The dialler-leads-campaigns triangle automates the full outbound motion without manual list uploads.

Example prompt: POST a new lead to /leads with phone number and campaign id, then GET `/dispatch/leads` to confirm assignment

### Transactional SMS at Scale

Send OTPs, appointment reminders, and shipping updates via POST `/sms/send.` Track delivery via POST `/sms/status` to confirm receipt. Combine with `/lookup/sync` to validate the destination number before sending, reducing failed deliveries and wasted spend.

Example prompt: POST an SMS to `/sms/send` with destination +447700900123 and body 'Your code is 123456'

### Phone Number Validation Pipeline

Before importing a contact list into the dialler, run each number through GET `/lookup/sync` to confirm the network and reachability. Bad numbers can be filtered out or routed to /dnc to prevent dialler waste. The async variant `/lookup/async` + `/lookup/result/{requestId}` suits large batch validations.

Example prompt: GET `/lookup/sync` with phone parameter +14155552671 and return the network and ported status

### AI Agent Voice Operations via Jentic

An AI agent connected to Jentic can answer 'what did we spend on outbound calls yesterday?' by pulling /cdrs and `/billing/voice-rates.` Or it can place a click-to-call when a high-priority lead replies. Jentic stores the bearer token in your Jentic One instance so the agent never sees the raw key.

Example prompt: Use Jentic to search 'send an sms through commpeak', load POST `/sms/send`, and execute with destination and body

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/sms/send` | Send an SMS message |
| GET | `/click2call` | Initiate a click-to-call |
| GET | `/calls` | List calls |
| POST | `/leads` | Create a lead |
| GET | `/lookup/sync` | Synchronous HLR lookup |
| POST | `/dnc` | Add a number to the do-not-call list |
| GET | `/cdrs` | List call detail records |
| GET | `/billing/voice-rates` | Get voice rate card |

## Key resources

- **Calls** — List, fetch, and record outbound calls; aggregate call statistics
- **Campaigns and Leads** — Dialler campaigns, lead lists, and dispatch logic
- **Users** — Manage agent and admin users in the platform
- **DNC** — Maintain do-not-call lists to suppress unwanted dials
- **SMS** — Send SMS, post events, and check status via TextPeak
- **Lookup** — Synchronous and asynchronous HLR lookups
- **Billing** — Customer account details, voice and SMS rate cards

## Why Jentic

- **Setup:** Wiring CommPeak by hand means learning its bearer auth, wiring separate outbound voice, SMS, and HLR lookup calls, and reconciling call and billing records yourself. Through Jentic you install once, import CommPeak from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** CommPeak sends the target number and campaign details in the request body, so limit the agent to the operations it needs, such as sending an SMS or fetching call records. You choose the operations it may call, so you can allow lookups and billing reads while leaving outbound dialling out unless you add it.
- **Credential handling:** Your CommPeak bearer token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'send an SMS' or 'check voice call records', and Jentic returns the matching CommPeak operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Twilio Messaging API** — Twilio is the dominant cloud communications platform with deeper coverage but higher complexity.
- **Plivo API** — Plivo offers voice and SMS APIs at competitive pricing similar to CommPeak's positioning.
- **MessageBird SMS API** — MessageBird (now Bird) covers SMS, voice, and omnichannel messaging across global networks.
- **Telnyx API** — Telnyx provides SIP trunking and number management that can sit upstream of CommPeak's dialler.

## FAQ

### Why is there no official OpenAPI spec for CommPeak API?

CommPeak does not publish an OpenAPI specification. Jentic generates and maintains this spec so AI agents and developers can call CommPeak via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the CommPeak API use?

CommPeak uses a bearer token in the Authorization header on every request. Through Jentic the token is stored encrypted in your Jentic One instance and never enters the agent context - the agent only sees execution results.

### Can I send SMS messages with the CommPeak API?

Yes. POST `/sms/send` sends an SMS through the TextPeak service; POST `/sms/status` returns delivery status for a given message id. The base URL for SMS endpoints is https://tp-api.commpeak.com/v1.

### Does the CommPeak API support phone number validation?

Yes. GET `/lookup/sync` runs a synchronous HLR lookup against the live mobile network; POST `/lookup/async` + GET `/lookup/result/{requestId}` handles large batch validations. The base URL for lookups is https://hlr-api.commpeak.com/v1.

### What are the rate limits for the CommPeak API?

CommPeak does not publish a hard public rate limit. Practical limits depend on the customer's plan and the underlying service (dialler vs SMS vs HLR). Expect 429 responses at extreme volume and back off with retries.

### How do I send an SMS through Jentic?

Search Jentic for 'send an sms through commpeak', load the schema for POST `/sms/send`, and execute with destination and body. The Jentic Python SDK pattern is await client.search(...), await client.load(...), await client.execute(...).

### Can I limit what my agent is allowed to do with the CommPeak API?

Yes. Because Jentic One is self-hosted by you, your own rules decide which CommPeak operations and credentials the agent may use. You can allow read-only actions like HLR lookups on `/lookup/sync`, call records on /cdrs, and billing reads on `/billing/voice-rates` while withholding outbound dialling on /click2call and SMS sends on `/sms/send` unless you explicitly add them. Since CommPeak passes the target number and campaign details in the request body, scoping the agent to only the operations it needs keeps it from placing calls or texts you did not authorise.
