Maileditor Docs
PluginReference

Limits and roadmap

Rate limits, size limits, the signature window, plan allowances, and what is not available yet.

Rate limits

All limits answer 429 with a Retry-After header.

SurfaceLimitKeyed on
Session creation10 per minuteplugin and IP address
Session creation100 per hour, 1000 per dayplugin
Embedded API120 per minutesession token
Image uploads20 per minute, 200 per hoursession token
AI text generation20 per minute, 200 per hoursession token
AI text generation2000 per dayplugin
Backend API60 per minute, 2000 per dayplugin id, failed attempts included

The editor opens one session per iframe, so normal use stays far below the session limits.

Size and count limits

WhatLimit
Identity signature lifetime15 minutes ahead of now
Domains per plugin25
Wildcard domain depthOne label
Curated categories per list100
Template markup5 MB
Image5 MB; PNG, JPEG, GIF, WebP
Images per batch upload10
Images per batch delete50
Logo2 MB; PNG, JPEG, WebP, SVG
AI message5000 characters
AI prompt2000 characters
Versions retained per template30
Plugin name255 characters

Plan allowances

Plans are Free and Pro. Figures are on the Plan & Billing tab and returned by the plans endpoints.

FeatureCounts
usersDistinct external_user_id values with at least one saved template. Unsaved visitors and anonymous sessions do not count
ai_generationsSuccessful generations. Unlimited on every plan, since they run on your own provider key
image_storageBytes on MailEditor storage. Uploads to a custom bucket are not counted

When a request would exceed an allowance the API answers 402 quota_exceeded with result.feature naming it. Existing users are never locked out by the users allowance; only new users are refused.

Not yet available

CapabilityStatus
Deleting a templateTemplates can be created, read and saved. Deletion is not exposed on any surface
Domain verificationEvery session reports the development tier. The tier does not restrict anything
JavaScript SDK and iframe eventsThe iframe emits no events. Read saved work through the Backend API

On this page