The SendX REST API lets you programmatically manage contacts, lists, tags, campaigns, templates, and more. You can use it to integrate SendX with your application, sync data from external systems, or build custom workflows.
Base URL
All API requests use HTTPS and go to:
https://api.sendx.io/api/v1/rest
Plain HTTP requests are not supported and will fail.
Authentication
Every request must include your team API key in a header:
X-Team-ApiKey: YOUR_API_KEY
To find your API key:
Go to Settings → API & Webhooks → API in SendX
Copy your Team API Key
Keep your API key secret. Do not commit it to source control or expose it in client-side code.
Request format
Send request bodies as JSON with the Content-Type: application/json header. All responses return JSON.
Resource IDs
Every resource in SendX has a prefixed ID that tells you what type of object it is:
Resource | Prefix | Example |
Contact |
|
|
List |
|
|
Tag |
|
|
Campaign |
|
|
Sender |
|
|
Template |
|
|
Custom field |
|
|
Webhook |
|
|
Segment |
|
|
Member |
|
|
HTTP status codes
Code | Meaning |
200 | Request succeeded |
201 | Resource created |
400 | Bad request — check your input fields |
401 | Unauthorized — missing or invalid API key |
403 | Forbidden — you don't have access to this resource |
404 | Not found — the resource doesn't exist |
409 | Conflict — duplicate resource (e.g., email already exists) |
422 | Unprocessable entity — invalid JSON format |
429 | Rate limit exceeded — slow down your requests |
500 | Server error — try again later or contact support |
Error responses follow this format:
{ "status": "error", "message": "Descriptive error message"}
Your first API call
Here's how to create a contact using cURL:
curl -X POST https://api.sendx.io/api/v1/rest/contact \ -H "Content-Type: application/json" \ -H "X-Team-ApiKey: YOUR_API_KEY" \ -d '{ "email": "jane@example.com", "firstName": "Jane", "lastName": "Smith", "tags": ["new_user"], "lists": ["list_OcuxJHdiAvujmwQVJfd3ss"] }'A successful response returns 201 Created with the full contact object.
SDKs
SendX provides official SDKs in several languages:
Python
JavaScript / Node.js
Go
Ruby
Java
PHP
Find SDK documentation and quickstart guides at docs.sendx.io.
Important notes
The API does not support bulk updates — update one resource at a time (except for the bulk identify endpoint)
All timestamps use ISO 8601 format (e.g.,
2024-01-10T14:20:00Z)Custom fields and tags are created automatically if they don't already exist when you reference them
FAQ
Where do I find my API key?
Go to Settings → Connectors → API. Your Team API Key is displayed there. Copy it and store it securely.
Is there a rate limit?
Yes. If you receive a 429 response, wait before retrying. Use exponential backoff for retry logic.
Can I use the API from client-side JavaScript?
No. Your API key would be exposed in the browser. Always make API calls from a backend server.
Does the API support pagination?
List endpoints that return multiple items support pagination. Check each endpoint's documentation for specific parameters.
