GET /v1/messages
Docs / Sending
GET

/v1/messages

Lists messages in the archive for this Account — newest first. Returns summary rows (status, evidence, subject, tags), not bodies. Bodies live on .

Authentication

Authorization: Bearer spw_

Requires messages:read. A messages:send-only key gets 403.

Query parameters

limitintegeroptionalPage size, 1–100. Default 25.
cursorstring (uuid)optionalReturn rows with id strictly less than this (keyset). See Pagination.
application_idintegeroptionalFilter to one Application id.
statusstringoptionalFilter by status: queued, sending, sent, failed, suppressed.

Worked example

curl https://spoolway.com/api/v1/messages?limit=25 \
  -H "Authorization: Bearer spw_…"
200 OKcaptured LOCAL — real accept path
{
  "data": [
    {
      "id": "2ee35675-6bae-42be-aa5e-6d4618d0c61d",
      "status": "queued",
      "status_label": "Queued",
      "evidence": "none",
      "supports_feedback": false,
      "application_id": 1,
      "template_id": 1,
      "subject": "Reset password",
      "subject_redacted": false,
      "from_address": "[email protected]",
      "queued_at": "2026-08-06T06:55:48.000000Z",
      "completed_at": null,
      "content_expires_at": null,
      "tags": { "env": "docs" }
    }
  ],
  "next_cursor": null
}
HONESTY NOTE — STATUS VS EVIDENCEstatus is the machine state. status_label and evidence are what the panel shows — on plain SMTP, Handed to your server with smtp_accepted, never a green Delivered without a feedback feed.

Responses & failures

401 unauthenticated, 403 when the key lacks messages:read. Full matrix under .