Skip to main content
Source: skills/openmail/references/errors.md

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:
Or pass --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:
The key should start with 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 returns 422 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.