LettermintLettermint
  • Knowledge base
  • Community
  • Changelog
  • Support
  • Documentation
  • Sending API
  • Team API
Information
Core
    Generic
      Ping the APIgetList blocked file typesget
    Team
      Get team detailsgetUpdate team settingsputGet team usage statisticsgetGet reusable team rolesgetGet team membersgetGet a team membergetReplace a team member's assignmentput
    Stats
      Get message statisticsget
Email Platform
    Domain
      List all domains for the teamgetCreate a new domainpostGet domain detailsgetDelete a domaindeleteVerify all DNS records for a domainpostVerify a specific DNS recordpostUpdate projects associated with a domainput
    Project
      List all projects for the teamgetCreate a new projectpostGet project detailsgetUpdate project settingsputDelete a projectdeleteRotate Project API token (legacy)postList routes for a projectgetCreate a new routepostGet route detailsgetUpdate route settingsputDelete a routedeleteVerify inbound domain for a routepost
    Webhook
      List all webhooks for the teamgetCreate a new webhookpostGet webhook detailsgetUpdate webhook settingsputDelete a webhookdeleteTest a webhook by sending a sample payloadpostRegenerate webhook secretpostGet webhook deliveriesgetGet a specific webhook deliveryget
    Message
      List messages for the teamgetGet message detailsgetGet message eventsgetGet message sourcegetGet message HTML contentgetGet message plain text contentget
    Suppression
      List all suppressions for the teamgetAdd email(s) to suppression listpostRemove email from suppression listdelete
Schemas
Lettermint Team API
Lettermint Team API

Message

Download schema

List messages for the team

GET
https://api.lettermint.co/v1
/messages
Bearer

Returns a paginated list of messages with filtering and sorting capabilities.

List messages for the team › query Parameters

sort
​string[]
Enum values:
type
-type
status
-status
from_email
-from_email
subject
-subject
Default: ["-created_at"]
filter[search]
​string

Search in sender, recipients, and subject

filter[from_email]
​string

Search by sender email (partial match)

filter[subject]
​string

Search by subject (partial match)

page[size]
​integer

Number of results per page

Default: 30
page[cursor]
​string

Cursor for the next or previous page

filter[project]
​string

Filter by project ID

filter[type]
​MessageType · enum
Enum values:
inbound
outbound
filter[status]
​MessageStatus · enum
Enum values:
pending
queued
suppressed
processed
delivered
opened
clicked
soft_bounced
filter[route_id]
​string

Filter by route ID

filter[domain_id]
​string

Filter by domain ID

filter[tag]
​string

Filter by tag name

filter[from_date]
​string

Filter messages created after this date

filter[to_date]
​string

Filter messages created before this date

List messages for the team › Headers

Authorization
​string · required

Bearer token. Format: Bearer {team_token}

List messages for the team › Responses

Paginated set of MessageListData

​MessageListData[] · required
path
​string | null · required

Base path for paginator generated URLs.

per_page
​integer · min: 0 · required

Number of items shown per page.

next_cursor
​string | null · required

The "cursor" that points to the next set of items.

next_page_url
​string | null · uri · required
prev_cursor
​string | null · required

The "cursor" that points to the previous set of items.

prev_page_url
​string | null · uri · required
GET/messages
curl https://api.lettermint.co/v1/messages \ --header 'Authorization: Bearer <token>'
Example Responses
{ "data": [ { "id": "id", "type": "inbound", "status": "pending", "spam_score": 0, "from_email": "from_email", "from_name": "from_name", "subject": "subject", "to": [ { "email": "email", "name": "name" } ], "cc": [ { "email": "email", "name": "name" } ], "bcc": [ { "email": "email", "name": "name" } ], "reply_to": [ "string" ], "tag": "tag", "status_changed_at": "status_changed_at", "created_at": "created_at" } ], "path": "path", "per_page": 0, "next_cursor": "next_cursor", "next_page_url": "https://www.example.com/path/to/resource", "prev_cursor": "prev_cursor", "prev_page_url": "https://www.example.com/path/to/resource" }
json
application/json

Get message details

GET
https://api.lettermint.co/v1
/messages/{messageId}
Bearer

Returns detailed information about a specific message including optional nested resources.

Get message details › path Parameters

messageId
​string · required

Get message details › Headers

Authorization
​string · required

Bearer token. Format: Bearer {team_token}

Get message details › Responses

MessageData

MessageData
id
​string · required
type
​MessageType · enum · required
Enum values:
inbound
outbound
status
​MessageStatus · enum · required
Enum values:
pending
queued
suppressed
processed
delivered
opened
clicked
soft_bounced
status_changed_at
​string | null · date-time · required
tag
​string | null · required
from_email
​string · required
from_name
​string | null · required
reply_to
​array | null · required
subject
​string | null · required
​array | null · required
​array | null · required
​array | null · required
​array | null · required
​object | null · required
route_id
​string · required
created_at
​string · date-time · required
spam_score
​number | null

Overall spam assessment score. Scores below 5 are clean, 5 through 10 indicate potential spam, scores above 10 and below 15 are likely spam, and 15 or higher is definite spam. Null means no assessment is available. Available on plans with Spam Insights

​SpamSymbol[]

Detailed rules that contributed to the spam assessment. Available on plans with Spam Insights in individual-message responses

GET/messages/{messageId}
curl https://api.lettermint.co/v1/messages/:messageId \ --header 'Authorization: Bearer <token>'
Example Responses
{ "id": "id", "type": "inbound", "status": "pending", "status_changed_at": "2024-08-25T15:00:00Z", "tag": "tag", "from_email": "from_email", "from_name": "from_name", "reply_to": [ "string" ], "subject": "subject", "to": [ { "email": "email", "name": "name" } ], "cc": [ { "email": "email", "name": "name" } ], "bcc": [ { "email": "email", "name": "name" } ], "attachments": [ { "size": 0, "filename": "unknown", "content_id": "content_id", "content_type": "application/octet-stream" } ], "metadata": { "key": "string" }, "spam_score": 0, "spam_symbols": [ { "name": "name", "score": 0, "options": [], "description": "description" } ], "route_id": "route_id", "created_at": "2024-08-25T15:00:00Z" }
json
application/json

Get message events

GET
https://api.lettermint.co/v1
/messages/{messageId}/events
Bearer

Returns a paginated list of events for a specific message with sorting capabilities.

Get message events › path Parameters

messageId
​string · required

Get message events › query Parameters

page[size]
​integer

The number of results that will be returned per page.

Default: 30
page[cursor]
​string

The cursor to start the pagination from.

include_machine_events
​boolean

Include machine/privacy/security opened and clicked events

sort
​string[]
Enum values:
timestamp
-timestamp
event
-event

Get message events › Headers

Authorization
​string · required

Bearer token. Format: Bearer {team_token}

Get message events › Responses

200

Paginated set of MessageEventData

​MessageEventData[] · required
path
​string | null · required

Base path for paginator generated URLs.

per_page
​integer · min: 0 · required

Number of items shown per page.

next_cursor
​string | null · required

The "cursor" that points to the next set of items.

next_page_url
​string | null · uri · required
prev_cursor
​string | null · required

The "cursor" that points to the previous set of items.

prev_page_url
​string | null · uri · required
GET/messages/{messageId}/events
curl https://api.lettermint.co/v1/messages/:messageId/events \ --header 'Authorization: Bearer <token>'
Example Responses
{ "data": [ { "message_id": "message_id", "event": "queued", "metadata": { "key": {} }, "timestamp": "2024-08-25T15:00:00Z" } ], "path": "path", "per_page": 0, "next_cursor": "next_cursor", "next_page_url": "https://www.example.com/path/to/resource", "prev_cursor": "prev_cursor", "prev_page_url": "https://www.example.com/path/to/resource" }
json
application/json

Get message source

GET
https://api.lettermint.co/v1
/messages/{messageId}/source
Bearer

Returns the raw EML source of the message.

Get message source › path Parameters

messageId
​string · required

Get message source › Headers

Authorization
​string · required

Bearer token. Format: Bearer {team_token}

Get message source › Responses

200
string
GET/messages/{messageId}/source
curl https://api.lettermint.co/v1/messages/:messageId/source \ --header 'Authorization: Bearer <token>'
Example Responses
string
text
message/rfc822

Get message HTML content

GET
https://api.lettermint.co/v1
/messages/{messageId}/html
Bearer

Returns the HTML body of the message if available.

Get message HTML content › path Parameters

messageId
​string · required

Get message HTML content › Headers

Authorization
​string · required

Bearer token. Format: Bearer {team_token}

Get message HTML content › Responses

string | null
GET/messages/{messageId}/html
curl https://api.lettermint.co/v1/messages/:messageId/html \ --header 'Authorization: Bearer <token>'
Example Responses
string
html
text/html; charset=UTF-8

Get message plain text content

GET
https://api.lettermint.co/v1
/messages/{messageId}/text
Bearer

Returns the plain text body of the message if available.

Get message plain text content › path Parameters

messageId
​string · required

Get message plain text content › Headers

Authorization
​string · required

Bearer token. Format: Bearer {team_token}

Get message plain text content › Responses

string | null
GET/messages/{messageId}/text
curl https://api.lettermint.co/v1/messages/:messageId/text \ --header 'Authorization: Bearer <token>'
Example Responses
string
text
text/plain; charset=UTF-8

WebhookSuppression