canonical: https://jentic.com/apis/8x8.com/8x8

# 8x8 Connect SMS API

Jentic publishes the only available OpenAPI specification for 8x8 Connect SMS API, keeping it validated and agent-ready. The 8x8 Connect SMS API is a CPaaS interface for sending one-off and bulk SMS worldwide and tracking delivery for each message. It supports GSM 7-bit and Unicode encodings, several sender ID types (alphanumeric, short code, long code), and delivery status callbacks. The surface is small (three endpoints) and focused: one for single sends, one for batch sends, and one for status lookup by message UMID.

## For AI agents

Send single or bulk SMS messages worldwide and check delivery status using an API key. Supports GSM 7-bit and Unicode encoding plus delivery callbacks.

## Scope

Does not handle voice calls, MMS, or WhatsApp messaging - use for outbound SMS sending and delivery status only.

## Capabilities

- Send a single SMS to a destination MSISDN with a chosen sender ID
- Send a bulk SMS batch to many recipients in one request
- Look up the delivery status of a sent message by its UMID
- Handle Unicode content (emoji, non-Latin scripts) via UCS-2 encoding
- Receive delivery receipts via the configured callback URL

## Use cases

### Transactional SMS Notifications

Operations teams use SMS to confirm orders, deliver one-time passcodes, and alert users about account events. The 8x8 Connect SMS API exposes POST /{subAccountId}/messages for single sends with a configurable sender ID and encoding, plus GET /{subAccountId}/messages/{umid} to check the result. Pair the two for a reliable send-and-confirm pattern that completes in under a second per message.

Example prompt: Send a single SMS to +447700900123 with body 'Your code is 482910' and then poll the status endpoint until it reports DELIVERED

### Bulk Marketing or Alert Campaigns

Marketing and alerting workloads need to fan a message out to thousands of recipients with a single call. POST /{subAccountId}/batch accepts a list of destinations with the shared body, sender, and encoding, so the campaign runs as one job rather than thousands of point requests. Combine with delivery callbacks to reconcile per-recipient outcomes.

Example prompt: Send a batch SMS to 1,000 opted-in numbers with body 'Sale ends Friday - visit example.com' from sender ID SHOP

### Delivery Reconciliation

Compliance and analytics workflows rely on accurate delivery state. GET /{subAccountId}/messages/{umid} returns the current status (delivered, failed, expired) along with the failure reason where applicable. Agents can use this to retry only on transient failures and surface permanent failures to the user.

Example prompt: Look up message UMID abc123 and return whether the SMS was delivered or the failure reason

### Agent-Driven SMS Sending via Jentic

AI agents handle SMS as a tool call, not a custom integration. Through Jentic, an agent searches by intent, loads the schema for POST /{subAccountId}/messages, and executes the send with the API key held in your Jentic One instance. The same flow covers batch sends and status checks, so an agent can run end-to-end SMS workflows without ever seeing the raw key.

Example prompt: Search Jentic for 'send an SMS', load the 8x8 schema, and execute the call with the customer's number and message body

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /{subAccountId}/messages | Send a single SMS |
| POST | /{subAccountId}/batch | Send bulk SMS messages |
| GET | /{subAccountId}/messages/{umid} | Get SMS delivery status |

## Key resources

- **Messages** — Send a single SMS and look up its delivery status by UMID
- **Batch** — Send the same body to many recipients in one bulk request

## Why Jentic

- **Setup:** Wiring the 8x8 Connect SMS API by hand means managing its API key, threading your subaccount id into each path, and shaping single and batch SMS payloads yourself. Through Jentic you install once, import the 8x8 Connect SMS API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** 8x8 puts the subaccount id in the URL path (/{subAccountId}/messages), so a rule can pin your agent to one subaccount: it can send messages and read delivery status for that subaccount and nothing else. You choose the operations it may call, so batch sends are not included unless you add them.
- **Credential handling:** Your 8x8 API key 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 SMS delivery status', and Jentic returns the matching 8x8 operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Twilio Messaging** — Twilio's messaging service for SMS, MMS, and WhatsApp with country-aware routing.
- **MessageBird SMS** — MessageBird's SMS API with strong European coverage and a similar single/batch model.
- **Plivo** — Plivo's CPaaS platform covering SMS, voice, and Zentrunk SIP.
- **Sinch** — Sinch CPaaS APIs for SMS, voice, verification, and conversations.

## FAQ

### Why is there no official OpenAPI spec for 8x8 Connect SMS API?

8x8 does not publish an OpenAPI specification for the Connect SMS endpoints. Jentic generates and maintains this spec so that AI agents and developers can call 8x8 Connect SMS API 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 8x8 Connect SMS API use?

The API uses an API key passed in the request headers (apiKey scheme). Through Jentic, the key is stored encrypted in your Jentic One instance and added to the request at execution time, so the agent never sees the raw key in its context.

### Can I send bulk SMS with the 8x8 Connect SMS API?

Yes. POST /{subAccountId}/batch accepts a list of destinations with a shared body, sender ID, and encoding, so a single request fans out to many recipients. Pair it with the delivery callback URL on your sub-account to reconcile per-recipient outcomes.

### How do I check whether an SMS was delivered through Jentic?

Search Jentic for 'check SMS delivery status' to load GET /{subAccountId}/messages/{umid}, then execute the call with the UMID returned by your send. The response contains the current delivery state and any failure reason for retry logic.

### What are the rate limits for the 8x8 Connect SMS API?

The OpenAPI spec does not document hard rate limits. 8x8's documented best practice is to respect per-route carrier throughput and use the batch endpoint for any send larger than a few hundred messages. Confirm sub-account limits in the 8x8 Connect portal before high-volume campaigns.

### Does 8x8 Connect SMS support Unicode and emoji?

Yes. Set the encoding field on the message to UCS-2 (Unicode) when sending non-Latin scripts or emoji; use GSM7bit otherwise. The encoding choice affects per-segment character counts and pricing, which 8x8 calculates from the body.

### Can I limit what my agent is allowed to do with the 8x8 Connect SMS API?

Yes. Because you run Jentic One yourself, your own rules decide which 8x8 operations the agent may call and which credentials it may use. Since 8x8 puts the subaccount id in the URL path (/{subAccountId}/messages), a rule can pin the agent to a single subaccount and to only the operations you allow, so it might send single messages and read delivery status by UMID while the batch send (POST /{subAccountId}/batch) stays off unless you add it. The API key is held by your instance and injected at execution time, so the agent acts only within the scope you set.
