OpenMail Error Reference
API error format
All errors return a consistent JSON structure:Error codes
CLI errors
missing inbox id; run 'openmail init' or pass --inbox-id
No default inbox is saved. Run:
--inbox-id on the command. Inside OpenClaw the plugin supplies the inbox; use openclaw openmail -- <command>.
OpenMail API 401
The API key is invalid or not being loaded. Verify:
om_. Export it again or pass --api-key if it is wrong or missing. Inside OpenClaw, re-run openclaw channels add --channel openmail --api-key <key>.
cannot read attachment "..."
The file path doesn’t exist or isn’t readable. Check the path is correct and the file exists before sending.
missing --to
The --to flag is required for openmail send. Always specify a recipient address.
missing --subject
The --subject flag is required when sending a new email (not a thread reply). Omit it only when using --thread-id.
Suppression
If you send to a suppressed address, the API returns422 recipient_suppressed. Suppressed addresses cannot receive email from your account because they previously unsubscribed or reported spam. Do not attempt to work around this.
To view or manage suppressions, go to Settings > Suppressions in the dashboard.
Attachment URLs
Attachment URLs in inbound messages are signed and expire after a short window. Fetch them promptly after receiving a message. If a URL has expired, re-fetch the message to get a fresh URL.Rate limits
When rate limited, wait for the duration specified in the
Retry-After header before retrying.