List the messages of an email conversation
get /v1/emails/{email_id}/messages
Messages in the order they were sent, oldest first, with plain-text bodies and attachment metadata (no attachment content). Governed by the email_content rate-limit policy in addition to the client and company policies. The cursor is bound to the conversation.
Authorization
Section titled “Authorization”Requires the emails.read and emails.content.read scopes together.
Path parameters
Section titled “Path parameters”| Name | Type | Required | Description |
|---|---|---|---|
email_id | string | Yes | — |
Query parameters
Section titled “Query parameters”| Name | Type | Required | Description |
|---|---|---|---|
limit | integer | No | Records 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. |
cursor | string | No | Signed cursor returned by the previous page. |
Example request
Section titled “Example request”curl "https://api.salesbud.com.br/v1/emails/mtg_01JEXAMPLE/messages?limit=...&cursor=..." \ -H "Authorization: Bearer $SALESBUD_ACCESS_TOKEN"Example response
Section titled “Example response”{ "data": [ { "id": "emsg_01JEXAMPLE", "object": "email_message", "conversation_id": "eml_01JEXAMPLE", "sent_at": "2026-01-12T15:30:00.000Z", "direction": "inbound", "subject": "Re: Assunto de exemplo", "snippet": "Trecho de exemplo da mensagem", "body_text": "Corpo de exemplo da mensagem.\n\nAtenciosamente,\nCliente Exemplo", "from": { "address": "cliente@example.net", "name": "Cliente Exemplo", "internal": false }, "to": [ { "address": "vendedora@example.com", "name": "Vendedora Exemplo", "internal": true } ], "cc": [ { "address": "financeiro@example.net", "name": null, "internal": false } ], "attachments": [ { "filename": "exemplo.pdf", "mime_type": "application/pdf", "size_bytes": 182400 } ] } ], "pagination": { "limit": 50, "has_more": false, "next_cursor": null }, "request_id": "req_ExampleRequestId01"}Responses
Section titled “Responses”| Status | Description |
|---|---|
200 | Company-scoped email message page. |
400 | Invalid request. |
401 | Missing or invalid credentials. |
403 | The token lacks the required scope, its user owner lost matching product access, or a connector awaits administrator approval. API_ACCESS_DISABLED identifies the feature gate for manual clients and third-party OAuth apps; AI_COLLABORATORS_DISABLED identifies the gate for first-party OAuth apps. For partner credentials, the gate also requires an active partner and the required published module, and applies to previously issued tokens. |
404 | Resource not found in the authenticated company, or outside what the owner of a user credential can see. |
429 | Client rate limit exceeded. |
503 | A required audit or rate-limit dependency is unavailable. |