Appearance
API Overview
The Sendivent API provides a simple RESTful interface for sending multi-channel notifications and managing contacts.
Base URLs
| Environment | URL | API Key Prefix |
|---|---|---|
| Production | https://api.sendivent.com | live_* |
| Sandbox | https://api-sandbox.sendivent.com | test_* |
Use the correct URL for your key type. See Sandbox vs Production.
Authentication
All API requests require Bearer token authentication:
bash
curl https://api.sendivent.com/v1/send/welcome \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"See Authentication for details, or Sandbox vs Production for test vs live keys.
Endpoints
Notifications
Send notifications via email, SMS, or Slack:
POST /v1/send/{event}- Send with auto-routingPOST /v1/send/{event}/{channel}- Force specific channel
View Notifications API Documentation →
Contacts
Manage user contacts and metadata:
POST /v1/contacts- Create or update contactGET /v1/contacts/{identifier}- Retrieve contactPATCH /v1/contacts/{identifier}- Update existing contactDELETE /v1/contacts/{identifier}- Delete contact (GDPR)
View Contacts API Documentation →
Responses
Responses are JSON.
Success Response (200 OK)
json
{
"success": true,
"deliveries": [
{ "email": "550e8400-e29b-41d4-a716-446655440000" }
]
}The key (email, sms, or slack) indicates the delivery channel. The value is the delivery ID.
Error Response (4xx/5xx)
json
{
"error": "Invalid API key"
}See Errors for all error codes and handling.
Common HTTP Status Codes
| Code | Meaning | Description |
|---|---|---|
200 | OK | Request successful |
400 | Bad Request | Invalid request format or parameters |
401 | Unauthorized | Missing or invalid API key |
402 | Payment Required | Quota exceeded |
403 | Forbidden | Subscription inactive |
404 | Not Found | Resource not found (event, contact, etc.) |
429 | Too Many Requests | Rate limit exceeded |
5xx | Server Error | Our system or provider failed |
Rate Limits
| Environment | Rate Limit | Daily Quota |
|---|---|---|
Production (live_*) | 100 req/sec | Per plan |
Sandbox (test_*) | 10 req/sec | 150 |
When rate limited, the API returns 429 with a Retry-After header. Implement exponential backoff.
Idempotency
Use idempotency keys to safely retry requests without duplicate sends:
bash
curl https://api.sendivent.com/v1/send/welcome \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-12345-confirmation" \
-d '{
"to": "user@example.com",
"payload": {"order_id": "12345"}
}'Requests with the same idempotency key within 24 hours return the original response without re-sending.
SDKs
We provide official SDKs for simplified integration:
- Python SDK -
pip install sendivent - PHP SDK -
composer require sendivent/sdk - Node.js SDK -
npm install @appitude/sendivent
Next Steps
- Notifications API - Learn how to send notifications
- Contacts API - Manage user contacts
- Events - Understand notification types
- Routing - Channel selection