Submit a raw .eml
POST/v1/emails
Stores an RFC 5322 message exactly as SES inbound would: raw object in the raw bucket, Email in received, and a process-email job — filters, agent and webhooks run as for real mail. Send the message either as multipart/form-data (field file, optional inbox_id) or as the request body with Content-Type: message/rfc822 (optional ?inbox_id=). Without inbox_id the inbox is resolved from the To: header among the caller workspace inboxes. A Message-ID already stored is rejected with 409 (error.details.email_id points at the existing email).
Request
Responses
- 201
- 400
- 401
- 403
- 404
- 409
- 413
- 415
- 422
Stored and queued for processing.
Empty body or missing multipart file field.
Authentication failed (missing/invalid JWT or mTLS).
Authenticated but the scope is insufficient or the resource is out of reach.
inbox_id does not exist in the caller workspace (inbox_not_found).
duplicate_message_id: the Message-ID is already stored.
payload_too_large: message above 20 MB.
unsupported_media_type: body is neither multipart nor message/rfc822.
no_inbox_matches_to_header (no workspace inbox matches the To: recipients) or missing_recipient (no usable To: header; pass inbox_id).