Skip to content

List email conversations

get /v1/emails

Conversations are deduplicated across every mailbox connected to the company: two sellers on the same thread yield one conversation with two mailboxes. Ordered by last_message_at ascending (oldest activity first); pages forward with a signed keyset cursor. Message bodies live under /v1/emails/{email_id}/messages and need emails.content.read.

Requires the emails.read scope.

NameTypeRequiredDescription
limitintegerNoRecords per page, 1 to 100. A page may return fewer than this while has_more is still true; drive the loop by has_more, not by the size of data.
cursorstringNoSigned cursor returned by the previous page.
last_message_afterstring date-timeNoReturn conversations whose latest message is after this instant. Filters on activity, not on record changes: a conversation that gains a message moves forward and will be seen again.
last_message_beforestring date-timeNoReturn conversations whose latest message is before this instant.
Terminal window
curl "https://api.salesbud.com.br/v1/emails?limit=...&cursor=..." \
-H "Authorization: Bearer $SALESBUD_ACCESS_TOKEN"
200 OK
{
"data": [
{
"id": "eml_01JEXAMPLE",
"object": "email_conversation",
"subject": "Assunto de exemplo",
"first_message_at": "2026-01-10T12:00:00.000Z",
"last_message_at": "2026-01-12T15:30:00.000Z",
"message_count": 3,
"has_attachments": true,
"last_message_direction": "inbound",
"participants": [
{
"address": "vendedora@example.com",
"name": "Vendedora Exemplo",
"internal": true
},
{
"address": "cliente@example.net",
"name": "Cliente Exemplo",
"internal": false
}
],
"mailboxes": [
{
"address": "vendedora@example.com",
"owner": {
"id": "usr_01JEXAMPLE",
"name": "Vendedora Exemplo",
"email": "vendedora@example.com"
}
},
{
"address": "vendas@example.com",
"owner": null
}
],
"accounts": [
{
"id": "acc_01JEXAMPLE",
"domain": "example.net",
"cnpj": "00.000.000/0001-00"
}
]
}
],
"pagination": {
"limit": 50,
"has_more": true,
"next_cursor": "cur_ExampleCursor03"
},
"request_id": "req_ExampleRequestId01"
}
StatusDescription
200Company-scoped email conversation page.
400Invalid request.
401Missing or invalid credentials.
403The token does not contain the required scope.
429Client rate limit exceeded.
503A required audit or rate-limit dependency is unavailable.