What is this?
The API lets you connect your own systems to your workspace — sync contacts from a CRM, send an order-confirmation template from your app, or trigger an automation when something happens. The API is listed in the sidebar with every endpoint:Opening the Developer Portal — where you create your API key and can try requests — requires the API Access permission (
settings:api). Ask an administrator to grant it if you can’t see Developer in the profile menu.Base URL
Every request goes to your own deployment:YOUR_DOMAIN with the domain you sign in to, for example app.example.com.
Request format
- Every endpoint accepts POST with a JSON body, and also accepts GET with the same parameters as query-string values. Prefer POST for anything that writes data.
- Send
Content-Type: application/jsonwith POST requests. - Only the API key must go in a header — see Authentication.
- All responses use one envelope:
{ "success": true, "data": … }or{ "success": false, "error": "…", "message": "…" }. See Errors.
Make your first request
1
Get an API key
In the app, open the profile menu, choose Developer, and click Generate API Key. Copy it right away — it’s shown only once.
2
List your channels
Find the
channelId you’ll use in other requests:3
Send a template message
channelId is picked for you. With several channels, pass channelId explicitly.
Try requests and download the spec
Each endpoint page in this reference has a request playground. The Developer Portal in the app also lets you try requests using your own session, and download the machine-readable definition as OpenAPI JSON, OpenAPI YAML, or a Postman collection.Troubleshooting / Technical Notes
- You get
401. The key is missing or wrong, or you sent it in the query string or body. See Authentication. - You get
429. You’ve hit a rate limit — see Rate limits. - “No channel found for this user.” Pass a
channelId, or create a channel first. Use List channels to find your IDs.