MailKaro Developer Resources
Everything you need to integrate the MailKaro embeddable email & document editor and its Cloud API.
MailKaro gives your product a white-label drag-and-drop editor plus a server-side render and send API.
Authenticate every API request with a publishable embed token (pk_live_…) or a server key
(sk_live_…) via Authorization: Bearer <token>.
MailKaro API & machine-readable specs
- OpenAPI 3.1 specification —
https://mailkaro.com/openapi.json - Cloud API reference — endpoints, auth, examples
- Backend integration — mint tokens & render server-side
- Authentication — tokens & keys
- llms.txt — agent guidance & when to use MailKaro
MailKaro SDKs & packages
@mailkaro/editor— React embeddable editor (docs)@mailkaro/vue,@mailkaro/angular,@mailkaro/vanilla— the editor for every framework@mailkaro/sdk— Node backend SDK: render designs & resolve entitlements (docs)
Authentication
Send Authorization: Bearer pk_live_… (publishable) or sk_live_… (server key) with
every request. Requests are scoped to the token's organization. See the
authentication docs.
Rate limits
Every MailKaro API response carries RFC RateLimit headers so agents can self-throttle:
RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset (seconds until
the window resets), and RateLimit-Policy (quota;w=window-seconds). A
429 Too Many Requests also returns Retry-After. Back off until the reset window
elapses.
Versioning & deprecation policy
The MailKaro API is versioned in the URL path (/v3/…); the current major version is
v3. Breaking changes ship under a new path version. When an endpoint or version is
deprecated, responses carry a Deprecation header and, once an end-of-life date is set, a
Sunset header (RFC 8594) linking to migration docs. We aim to give at least
6 months between a Sunset announcement and removal, so you can integrate
against a stable, path-versioned surface.
Error model
Every 4xx/5xx response uses a consistent typed body: a machine-readable error code and a
human-readable message (see the Error schema in the OpenAPI spec), so agents can
handle failures without guessing.