Authentication
The Connection API uses Bearer token authentication. All requests must include a valid JWT access token in the Authorization header.
Obtain a token
POST your credentials to the auth endpoint. You'll receive a short-lived access_token and a longer-lived refresh_token.
Use the token
Include the token in every request:
{
"email": "admin@yourorg.com",
"password": "••••••••"
}{
"access_token": "eyJhbG...",
"refresh_token": "dGhpcw...",
"expires_in": 3600,
"token_type": "Bearer"
}Base URL & Versioning
All API endpoints are versioned under /api/v1/. The base URL depends on your deployment.
For cloud-hosted deployments, use the regional endpoint assigned to your organization. For on-premises Server deployments, use your server's hostname.
| Environment | Base URL |
|---|---|
| Cloud (US) | https://beta.connection.app/api/v1 |
| On-Premises | https://<your-server>/api/v1 |
All request and response bodies use application/json. Include Content-Type: application/json on requests with a body.
Errors & Status Codes
The API uses standard HTTP status codes. Error responses include a machine-readable code and human-readable message.
| Status | Meaning |
|---|---|
| 200 | Success |
| 201 | Created |
| 400 | Bad Request — invalid parameters |
| 401 | Unauthorized — missing or expired token |
| 403 | Forbidden — insufficient permissions |
| 404 | Not Found |
| 500 | Internal Server Error |
{
"error": {
"code": "device_not_found",
"message": "No device with that UUID exists in your organization",
"status": 404
}
}REST API Overview
The Connection Server REST API provides full programmatic access to your device fleet, communications infrastructure, and analytics. It follows RESTful conventions with JSON request/response bodies.
Authentication
Token-based authentication. Login returns a token that must be sent as Authorization: Token <token> on all subsequent requests.
Users
Create and manage user accounts. The GET /users/user endpoint returns the currently authenticated user.
Devices
List and inspect devices, manage user–device associations, read and write per-device settings and status, handle firmware and storage images, and receive logs and crash reports.
CBBP Proxy
Send any CBBP command to a device through the server. The server relays the command over the device's WiFi connection and returns the device response. The outgoing-make response also embeds a CBBPMessage that the device executes immediately.
The request body is a CBBP command envelope. The stored CBBPCommand object tracks delivery status: UNSET → SENT → RECEIVED or TIMED_OUT.
{
"outgoingMessage": {
"command": "WiFiScan"
}
}{
"uuid": "a3f2...",
"status": "SENT",
"device": "d7f3a1b2-...",
"dateSent": "2025-09-15T14:22:01Z",
"outgoingMessage": { /* echoed */ },
"incomingMessage": null
}Channels
Channels are the core communication primitives. Types include ChannelPeople, ChannelGroup, ChannelContact, ChannelContactNumber, ChannelExternalNumber, ChannelService, and ChannelRecorder.
Communication
Initiate and manage active communication sessions — outgoing calls, VCP, recording, and content streaming. The outgoing-make response includes a CBBPMessage that the device acts on immediately.
Audio Bridge
Access recorded bridge conversations including full transcripts, participant lists, and AI-generated summaries. Supports multiple summary templates (meeting notes, class notes, healthcare, etc.) and TTS audio generation for summaries.
Conversations
AI-powered conversation sessions using ChatGPT, Gemini, or the native engine. Supports multiple personas (Doctor, Tutor, Mechanic, etc.) and paginated message history.
Content
Browse and play streaming audio content on devices. Content is organized in a category tree; popular content can be filtered by city, region, or country.
Locations
Resolve geographic coordinates to a structured city, region, and country object. Used by devices when ingesting context.
Push Notifications
Register a mobile app to receive FCM push notifications. Supports iOS, Android, and web targets.
Storage
Download files stored on model objects, and run image background removal (returns base64-encoded result).
Bulk Operations
Execute multiple API operations in a single HTTP request. Pass single_transaction=true to wrap all operations in one atomic transaction — a failure on any item rolls back the entire batch.
Date & Time
Returns the current server date and time in GMT+0. Does not require authentication. Used by devices to sync their internal clock.
Com Badge Basic Protocol
CBBP is a lightweight JSON command protocol for direct interaction with Connection badges. It gives you full control over every hardware and software function on the device.
Message Format
Every CBBP interaction consists of a command message sent to the device and a result message returned by the device.
The object field in both request and response carries command-specific data and may be omitted when not needed.
{
"command": "command_name",
"object": {
// optional command parameters
}
}{
"result": 0, // 0 = success, -1 = error
"detail": "ok", // human-readable status
"object": { // optional response data
// command-specific fields
}
}Transport
CBBP messages can be delivered to a badge through three different transports depending on your integration architecture.
Bluetooth (App)
Send CBBP commands directly from a mobile app over BLE. Requires the device to be paired and within range.
Mobile SDKWiFi or Bluetooth via Server
Proxy CBBP through the REST API — POST /devices//cbbp. The server automatically routes to the device over WiFi or Bluetooth depending on how the badge is connected. Most common for backend integrations.
REST APIInternal Dispatch
On-device or inter-process CBBP dispatch. Used by the badge firmware to route commands between internal subsystems.
Firmware OnlyPower Commands
Control device power state — sleep, wake, reboot, and factory reset.
WiFi Commands
Configure wireless networks, scan for APs, check connection status, and manage saved credentials.
Bluetooth Commands
Control BLE advertising, pairing, and badge-to-badge communication.
Settings Commands
Read and write device configuration — display name, time zone, language, and feature flags.
Firmware Commands
Trigger OTA firmware updates, check update status, and query the current firmware version on the device.
Device Commands
Device lifecycle, authentication, configuration, logging, status, and hardware control.
Communication Commands
Initiate calls, send messages, manage active communication sessions, and control recording.
Audio Commands
Control speaker volume, microphone gain, audio profiles, and text-to-speech playback.
LED Commands
Set LED color, brightness, and animation patterns on the badge indicator light.
Internal Commands
Internal dispatch commands used for context delivery, channel history, vocalization, and audio decoding.
Mobile Commands
Commands for coordinating the badge with a paired mobile app — push notifications, app state sync, and deep linking.