Sending and Mailbox clients require mailbox-scoped
smx_mbx_ keys.
Management clients require team-scoped smx_root_ keys.Requirements
- Ruby 3.1 or newer.
- A Sendmux API key for the surface you are calling.
Install
Install the umbrella gem when one application needs more than one API surface.Create a client
The umbrella gem exposes helpers for each surface.Sendmux::Sending::Client, Sendmux::Mailbox::Client, and Sendmux::Management::Client directly.
Choose a surface
| Surface | Gem | Client or helper | API key |
|---|---|---|---|
| Sending | sendmux-sending | Sendmux::SDK.sending, client.emails | smx_mbx_ |
| Mailbox | sendmux-mailbox | Sendmux::SDK.mailbox, client.mailbox_api | smx_mbx_ |
| Management | sendmux-management | Sendmux::SDK.management, client.mailboxes | smx_root_ |
https://smtp.sendmux.ai/api/v1 by default. Mailbox and Management use https://app.sendmux.ai/api/v1.
Shared API behaviour
Surface clients validate API key prefixes, configure bearer auth, and map generated API errors.Pagination
List responses use cursor pagination withpagination.has_more and pagination.next_cursor. The core gem exports Sendmux::Core.each_cursor() and Sendmux::Core::CursorPager for cursor iteration when you wrap a page-fetching function.
Retries and rate limits
Surface clients callSendmux::Core::Retry.configure() by default. Retries apply to safe methods and retry-safe POST requests that include Idempotency-Key, then honour Retry-After and X-RateLimit-Reset response headers.
Pass Sendmux::Core::RetryOptions into a surface helper or client to change attempts, delays, or jitter.
Idempotency and ETags
Use core header helpers when a generated operation accepts custom headers.Idempotency-Key for retry-safe mutating requests. Use If-Match and If-None-Match with single-resource endpoints that support ETags.
Errors
Generated API errors are mapped toSendmux::Core::ApiError. The error includes status, code, retryability, request ID, param, nested errors, response body, and response headers when available.
Use the request ID when contacting support.
Next steps
SDK overview
Choose the right package family and API surface.
Versioning and support
Check compatibility, support, and upgrade guidance.
Sending API
Review the Sending API contract used by
sendmux-sending.API keys
Create and scope the credentials used by SDK clients.