Endpoint
List messages
GET/api/public/v1/messagesread
List drafted/sent messages across a campaign, with QA fields (qa_score, qa_evaluated_at, needs_human, needs_redo). Filter by sent. Paginated: pass next_cursor while has_more is true.
Request
curl "https://sayintel.com/api/public/v1/messages?campaign_id=<campaign_id>" \ -H "Authorization: Bearer $SAYINTEL_TOKEN"
Try it out
Try it outGET/api/public/v1/messagesread
Sent as a bearer token to this site only, and kept in this tab's session storage. It is never written to disk or sent anywhere else.
Paste an API key to run.
Query parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| campaign_id | query | string | yes | — |
| sent | query | boolean | no | — |
| limit | query | number | no | — |
| cursor | query | string | no | Opaque cursor from a previous call's next_cursor. Omit for the first page. |
Response
{
"ok": true,
"tool": "list_messages",
"kind": "read",
"data": { ... },
"error": null
}Notes
- Scope required: read. How scopes work.
- Paginated. Pass the returned next_cursor while has_more is true.
- Same capability over MCP as the tool list_messages. MCP setup.