Skip to main content

Introduction

The Sendook API provides programmatic access to send and receive emails at scale. Built on REST principles, the API uses standard HTTP response codes, authentication, and verbs.

Base URL

All API requests should be made to:
For self-hosted installations, the API runs on port 8006 by default:

API Versioning

The Sendook API uses URL-based versioning. All endpoints are prefixed with the version number:
The current stable version is v1.
All v1 endpoints require authentication via API key. See the Authentication guide for details.

Rate Limits

To ensure service reliability and fair usage, the Sendook API implements rate limiting:

Message Sending

  • 100 requests per hour per organization for message send operations
  • Rate limit applies to:
    • POST /v1/inboxes/{inboxId}/messages/send
    • POST /v1/inboxes/{inboxId}/messages/{messageId}/reply

Rate Limit Headers

Rate limit information is included in the response headers using the draft-7 standard:

Rate Limit Exceeded

When you exceed the rate limit, the API returns a 429 Too Many Requests response:
Rate limits are stored in Redis and reset on an hourly basis. Plan your integration accordingly to stay within limits.

Response Format

All API responses are returned as JSON with appropriate HTTP status codes.

Success Responses

Successful requests return the resource or an array of resources:

Error Responses

Errors return a JSON object with an error field describing the issue:

HTTP Status Codes

The API uses standard HTTP status codes:

Request Format

All POST and PUT requests should include a Content-Type: application/json header.

Example Request

Pagination

Some endpoints that return lists support pagination through query parameters:

Request Body Limits

The API accepts request bodies up to 20MB for most endpoints. This accommodates large email content and attachments.
Webhook endpoints have different body size limits. The Stripe and Resend webhook endpoints handle raw request bodies for signature verification.

CORS Support

The API supports Cross-Origin Resource Sharing (CORS) with credentials:
This allows web applications to make direct API requests from the browser.

Health Check

You can check API health status using the health endpoint:
Response:

SDK Support

While you can use the REST API directly, Sendook provides official SDKs for easier integration:

Node.js SDK

Official TypeScript/JavaScript SDK

Python SDK

Coming soon - contributions welcome

Next Steps

Authentication

Learn how to authenticate your API requests

Inboxes

Create and manage email inboxes

Send Messages

Send emails via the API

Webhooks

Receive email events in real-time