LettermintLettermint
  • Knowledge base
  • Community
  • Changelog
  • Support
  • Documentation
  • Sending API
  • Team API
Information
Generic
    Ping the APIget
Team
    Get team detailsgetUpdate team settingsputGet team usage statisticsgetGet team membersget
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 tokenpostUpdate project membersputAdd a member to the projectpostRemove a member from the projectdeleteList 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
Stats
    Get message statisticsget
Schemas
Lettermint Team API
Lettermint Team API

Message


List messages for the team

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

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

List messages for the team › query Parameters

sort
​string

Available sorts are type, status, from_email, subject, created_at, status_changed_at. You can sort by multiple options by separating them with a comma. To sort in descending order, use - sign in front of the sort, for example: -type.

Default: -created_at
page[size]
​integer

Number of results per page

Default: 30
page[cursor]
​string

Cursor for the next or previous page

filter[search]
​string

Search in sender, recipients, and subject

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_email]
​string

Search by sender email (partial match)

filter[subject]
​string

Search by subject (partial match)

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

200

Paginated set of MessageListData

The collection of MessageListData

anyOf
At least one variant must match. Multiple variants may match simultaneously.

Decision Table

VariantMatching Criteria
type = object · requires: data, path, per_page +4 more
type = array
Properties for Variant 1:
​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 --request GET \ --url https://api.lettermint.co/v1/messages \ --header 'Authorization: <string>'
Example Responses
{ "data": [ { "id": "id", "type": "inbound", "status": "pending", "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", "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}

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
​SpamSymbol[]
GET/messages/{messageId}
curl --request GET \ --url https://api.lettermint.co/v1/messages/:messageId \ --header 'Authorization: <string>'
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

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

sort
​string

Available sorts are timestamp, event. You can sort by multiple options by separating them with a comma. To sort in descending order, use - sign in front of the sort, for example: -timestamp.

Default: -timestamp
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

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 --request GET \ --url https://api.lettermint.co/v1/messages/:messageId/events \ --header 'Authorization: <string>'
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

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 --request GET \ --url https://api.lettermint.co/v1/messages/:messageId/source \ --header 'Authorization: <string>'
Example Responses
string
text
message/rfc822

Get message HTML content

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

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
GET/messages/{messageId}/html
curl --request GET \ --url https://api.lettermint.co/v1/messages/:messageId/html \ --header 'Authorization: <string>'
Example Responses
string
text
text/html; charset=UTF-8

Get message plain text content

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

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
GET/messages/{messageId}/text
curl --request GET \ --url https://api.lettermint.co/v1/messages/:messageId/text \ --header 'Authorization: <string>'
Example Responses
string
text
text/plain; charset=UTF-8

WebhookSuppression