Skip to content

Emails

Email object

json
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "toAddress": "signup@acme.mailoven.com",
  "fromAddress": "noreply@example.com",
  "fromName": "Example App",
  "subject": "Verify your email",
  "body": "<p>Click the link to verify...</p>",
  "receivedAt": "2025-03-15T10:30:00.000Z",
  "read": false
}
FieldTypeDescription
idstringUUID of the email
toAddressstringFull recipient address
fromAddressstringSender email address
fromNamestringSender display name
subjectstring | nullEmail subject line
bodystring | nullSanitized HTML body
receivedAtstringISO 8601 timestamp
readbooleanWhether the email has been viewed in the UI

List emails

GET /api/v1/emails?to=<local-part>

Query parameters

ParameterRequiredTypeDescription
toYesstringLocal part of the inbox address (e.g. signup for signup@acme.mailoven.com)
subjectNostringFilter by subject (case-insensitive substring match)
bodyNostringFilter by body content (case-insensitive substring match)
searchNostringFull-text search across subject, sender, and body
limitNonumberMax results to return (1–10, default 10)
sinceNonumberUnix timestamp — only return emails received after this time

TIP

Only one of subject, body, or search can be specified per request.

Example

bash
# List recent emails for the "signup" inbox
curl -H "Authorization: Bearer mo_your_key" \
  "https://mailoven.com/api/v1/emails?to=signup"

# Search for emails with "verification" in the subject
curl -H "Authorization: Bearer mo_your_key" \
  "https://mailoven.com/api/v1/emails?to=signup&subject=verification"

# Get emails received in the last 60 seconds
curl -H "Authorization: Bearer mo_your_key" \
  "https://mailoven.com/api/v1/emails?to=signup&since=$(date -v-60S +%s)"

Response

json
[
  {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "toAddress": "signup@acme.mailoven.com",
    "fromAddress": "noreply@example.com",
    "fromName": "Example App",
    "subject": "Verify your email",
    "body": "<p>Click the link...</p>",
    "receivedAt": "2025-03-15T10:30:00.000Z",
    "read": false
  }
]

Errors

StatusError
400'to' is required.
400Invalid local part. Only alphanumeric characters and _-+. are allowed.
400Only one of subject, search, or body may be specified.

Get email

GET /api/v1/emails/:id

Returns a single email by ID.

Example

bash
curl -H "Authorization: Bearer mo_your_key" \
  "https://mailoven.com/api/v1/emails/550e8400-e29b-41d4-a716-446655440000"

Response

Returns the email object.

StatusError
404Email not found

Delete email

DELETE /api/v1/emails/:id

Permanently deletes a single email.

Example

bash
curl -X DELETE -H "Authorization: Bearer mo_your_key" \
  "https://mailoven.com/api/v1/emails/550e8400-e29b-41d4-a716-446655440000"

Response

Returns 204 No Content on success.

StatusError
404Email not found

Disposable email inboxes for every teams