Quickstart

Send your first message with Zend in three steps: get an API key, authenticate your request, and call POST /messages. This guide sends an SMS, but the same endpoint works for every channel.

All requests go to the base URL:

https://api.tryzend.com

1. Get an API key

Create an API key from your Zend dashboard. Keep it secret — it authenticates every request and should never be exposed in client-side code.

2. Authenticate

Every API request is authenticated with your API key, passed in the x-api-key header:

x-api-key: YOUR_API_KEY

Note

Requests without a valid x-api-key header are rejected. Store your key in an environment variable rather than committing it to source control.

3. Send your first message

Send a simple SMS with a single request:

POST/messages
curl -X POST https://api.tryzend.com/messages \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+233593152134",
    "body": "Hello from Zend!",
    "preferred_channels": ["sms"],
    "sender_id": "MyCompany"
  }'
{
  "to": "+233593152134",
  "body": "Hello from Zend!",
  "preferred_channels": ["sms"],
  "sender_id": "MyCompany"
}

Request fields

tostringrequired
Recipient phone number in E.164 format, e.g. +233593152134.
bodystringrequired
Message text. Not required when you send a template (template_id).
preferred_channelsstring[]
Channels to attempt, in order. One or more of sms, whatsapp.
sender_idstring
The name your recipients see the SMS from. Must be pre-approved. Omit it to use your account's default approved sender ID.

Note

What's sender_id? It's the SMS sender name shown to recipients. Custom sender IDs must be approved for your account before use — sending an unapproved one will be rejected. If you leave it out, Zend automatically uses your default approved sender ID, so your first message works even without it.

Response

{
  "id": "6884da240f0e633b7b979bff",
  "status": "pending",
  "estimated_cost": 0.02,
  "message": "Message queued for processing"
}

The id is your handle for tracking the message. Use it to check status as the message moves from pending to delivered.

Next steps