Skip to main content

Get started with the SendX API

Learn how to authenticate, make your first API call, and understand the SendX REST API conventions including endpoints, headers, error codes, and ID formats.

V
Written by Varun Jain

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:

  1. 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

contact_

contact_BnKjkbBBS500CoBCP0oChQ

List

list_

list_OcuxJHdiAvujmwQVJfd3ss

Tag

tag_

tag_UhsDkjL772Qbj5lWtT62VK

Campaign

campaign_

campaign_Ab3xYz12345678901234

Sender

sender_

sender_Xk9mPq2345678901234ab

Template

template_

template_f3lJvTEhSjKGVb5Lwc5SWS

Custom field

field_

field_MnuqBAG2NPLm7PZMWbjQxt

Webhook

webhook_

webhook_Rq5tNp1234567890abcdef

Segment

segment_

segment_Jk8mWq1234567890abcdef

Member

member_

member_Pq3rSt1234567890abcdef

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.

Did this answer your question?