Keep
COMMS_API_KEY on your server. Do not put Messages API keys in browser code, mobile apps, or public repositories.Set up your workspace
Sign in to Comms
Go to comms.osis.co/dashboard and sign in with your phone. That creates (or opens) the workspace that owns your line, keys, and inbox.
Open Messages API keys
In the product, open Messages API — or use the Create Messages key control in the top bar.
Create a Messages API key
For the quickest path, create a key with the default scopes: Send messages and Read messages. That is enough to send and list traffic on your line. Building a long-running integration? Prefer a named key per environment (Local development, Production worker) so you can rotate without guessing.
Create a key
Click Create key. Name it something you will recognize later, like
Production backend or Staging worker.Choose what the key can do
Defaults cover most backends:
Leave webhooks off until you need push. You can mint a second key later with only the scopes that job needs.
| Scope | Purpose |
|---|---|
comms_send | Outbound SMS / iMessage |
comms_read | List messages, conversations, contacts, delivery events |
comms_webhooks | Optional — register webhook URLs |
Send your first message
Confirm the key works by sending a short text to a number you control.message object. Retries with the same Idempotency-Key return 200 and "duplicate": true without sending again.
Read traffic back
comms_read. Filter with conversation_id, since, or direction.
Optional: see a webhook
If you want push instead of poll:Expose a local HTTPS endpoint
Add a
POST route in your app and tunnel it with ngrok, Cloudflare Tunnel, or similar while developing.Next steps
Send guide
Body fields, channels, and delivery behavior in depth.
API overview
Base URL, errors, and the full endpoint map.
Authentication
Scopes, rotation, and what the key is (and is not).
Errors & rate limits
Status codes, 429 handling, and retry advice.

