Skip to content

API Overview ​

The Sendivent API provides a simple RESTful interface for sending multi-channel notifications and managing contacts.

Base URLs ​

EnvironmentURLAPI Key Prefix
Productionhttps://api.sendivent.comlive_*
Sandboxhttps://api-sandbox.sendivent.comtest_*

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, Slack, push, Telegram, WhatsApp, or Discord:

  • POST /v1/send/{event} - Send with auto-routing
  • POST /v1/send/{event}/{channel} - Force specific channel

View Notifications API Documentation →

Contacts ​

Manage user contacts and metadata:

  • GET /v1/contacts - List contacts (paginated)
  • POST /v1/contacts - Create or update contact
  • GET /v1/contacts/{identifier} - Retrieve contact
  • PATCH /v1/contacts/{identifier} - Update existing contact
  • DELETE /v1/contacts/{identifier} - Delete contact (GDPR)

View Contacts API Documentation →

Webhooks ​

Receive real-time delivery status notifications:

  • POST /v1/webhooks - Create webhook endpoint
  • GET /v1/webhooks - Get webhook endpoint
  • PATCH /v1/webhooks/{uuid} - Update webhook endpoint
  • DELETE /v1/webhooks/{uuid} - Delete webhook endpoint

View Webhooks API Documentation →

Responses ​

Responses are JSON.

Success Response (200 OK) ​

json
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "event": "welcome",
  "status": "accepted"
}

The id is the notification identifier. Use it with GET /v1/notifications/{id} to track message status.

Error Response (4xx/5xx) ​

json
{
  "error": "Invalid API key"
}

See Errors for all error codes and handling.

Common HTTP Status Codes ​

CodeMeaningDescription
200OKRequest successful
400Bad RequestInvalid request format or parameters
401UnauthorizedMissing or invalid API key
402Payment RequiredQuota exceeded
403ForbiddenSubscription inactive
404Not FoundResource not found (event, contact, etc.)
429Too Many RequestsRate limit exceeded
5xxServer ErrorOur system or provider failed

Rate Limits ​

EnvironmentRate LimitDaily Quota
Production (live_*)100 req/secPer plan
Sandbox (test_*)10 req/sec150

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:

Next Steps ​

Released under the MIT License.