API Support
Our API gives you the same power and functionality as our user interface, allowing you to programmatically create, update, and delete contacts, lists, zones, and messages. This provides a powerful way to automate your subscriber interactions.
Because the API and user interface are perfectly synced, any action you perform is reflected everywhere in real-time. For example, if you send a message to a list using the API, your staff can immediately view that message within that contact's conversation history.
Getting Started
For the most up-to-date, interactive documentation and the ability to test API calls directly from your browser, please refer to our official Swagger documentation. It is always the "latest and greatest" resource.
1. Create an API Token:
- To get started, you'll need an API token for authentication. You can generate one here or by navigating to your Account settings as shown below. Please note that tokens are not shared across the account by all users so each user working in the API will need to create their own token.
.png)
- Name your API token and select Create API token.
.png)
2. Access the API Docs:
-
Once you have a token, you can view the full documentation by clicking View Token and then selecting the Documentation link, or by going directly here!
.png)
Resource Identifiers: Resources are identified by a unique ID, which is typically a UUID string (e.g., f8e18f0e-cd1f-4d94-85f8-28f3a869e9bf). These IDs are used in the URL to reference specific items.
Below are some examples of the current API functionality:
Contacts
The Contacts resource allows you to manage individual contact records.
-
Create a New Contact
Creates a single new contact.
- Method:
POST - Endpoint:
/contacts -
Body: A JSON object containing the new contact's details.
json { "contact_name_attributes": { "name": "Jane Doe" }, "contact_email_attributes": { "address": "[email protected]" }, "contact_phone_attributes": { "number": "5551234567" } }
- Success Response:
- Code:
201 Created - Content: The newly created contact object.
- Code:
- Method:
-
Update a Contact
Updates the specified fields of an existing contact.
- Method:
PATCH - Endpoint:
/contacts/{contact_id} -
Body: A JSON object with the attributes to be updated.
json { "contact_name_attributes": { "name": "Jill Doe" } }
- Success Response:
- Code:
200 OK - Content: The full, updated contact object.
- Code:
- Method:
Outbound Messages
The Outbound Messages resource handles sending and managing messages.
-
Get All Outbound Messages
Retrieves a paginated list of all outbound messages.
- Method:
GET - Endpoint:
/outbound_messages - Success Response:
- Code:
200 OK - Content: A JSON object containing a
resultsarray of message objects.
- Code:
- Method:
-
Send an Outbound Message
Creates and sends a new message.
- Method:
POST - Endpoint:
/outbound_messages -
Body: A JSON object detailing the message content and recipient.
json { "body": "Sending to just one person this time.", "status": 0, "send_at": "2025-09-08T15:00:00.00Z", "recipient_parameters": { "single_recipient": "{contact_uuid}" } }
- Success Response:
- Code:
201 Created - Content: The newly created outbound message object.
- Code:
- Method:
Zones
The Zones resource allows for the management of geographical areas.
-
Create a New Zone
Creates a new geographical zone using a GeoJSON FeatureCollection format.
- Method:
POST - Endpoint:
/zones -
Body:
json { "name": "Test Zone", "status": "active", "update_type": "featurecollection", "featurecollection": { "type": "FeatureCollection", "features": [ { "type": "Feature", "geometry": { "type": "Polygon", "coordinates": [ [ [-122.40, 34.00], [-122.40, 37.02], [-122.49, 37.02], [-122.49, 34.00], [-122.40, 34.00] ] ] }, "properties": {} } ] } }
- Success Response:
- Code:
201 Created - Content: The newly created zone object.
- Code:
- Method:
-
Update a Zone
Updates the specified fields of an existing zone, such as its name.
- Method:
PATCH - Endpoint:
/zones/{zone_id} -
Body:
json { "name": "Polygon A" }
- Success Response:
- Code:
200 OK - Content: The full, updated zone object.
- Code:
- Method:
-
Delete a Zone
Deletes a specific zone by its ID.
- Method:
DELETE - Endpoint:
/zones/{zone_id} - Success Response:
- Code:
204 No Content
- Code:
- Method: