Transports
Docs / Control plane

Transports

Read-only. Credentials never leave the server. GET /v1/transports and GET /v1/transports/{id}. A health check older than 24h demotes to unknown, not healthy. Plain SMTP still says it cannot report post-handoff events.

Authentication

Authorization: Bearer spw_

Requires transports:read (or transports:manage).

Worked example

curl https://spoolway.com/api/v1/transports/2 \
  -H "Authorization: Bearer spw_…"
200 — health demotedcaptured LOCAL · check 3d old
{
  "data": {
    "id": 2,
    "name": "stale-smtp",
    "type": "smtp",
    "supports_feedback": false,
    "feedback_note": "cannot report post-handoff events — permanent, by design",
    "health": {
      "state": "unknown",
      "label": "unknown",
      "detail": "last check 3d ago — older than 24h reads as unknown, not healthy",
      "checked_at": "2026-08-03T08:11:01+00:00",
      "until": null
    },
    "max_concurrency": 5,
    "max_per_minute": null,
    "max_per_day": null,
    "fallback_transport_id": null,
    "disabled_at": null,
    "deferral_until": null
  }
}

24h honesty

HONESTY NOTE — UNKNOWN, NOT HEALTHYA transport whose last health check is older than 24h (or never checked) returns health.state: "unknown", even if the stored status was ok. The detail spells it out: older than 24h reads as unknown, not healthy. feedback_note is permanent for plain SMTP — it cannot report post-handoff events. Config and credentials are never in the payload.

Responses & failures

403 without the ability. Cross-account id is 404. No write path on v1 — use the panel to test or replace credentials.