What is this?
The API lets you connect your own systems to your workspace and platform — sync contacts from a CRM, send an order-confirmation template from your app, trigger an automation when something happens, or manage users and subscriptions across your platform. The API has two parts, each 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 Workspace and Platform 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
403on a Platform endpoint. The account that owns the key doesn’t have platform-level access. - 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.