---
title: "Get outbound sending readiness"
method: GET
path: "/outbound/status"
tags: ["Sending"]
---

# Get outbound sending readiness

`GET /outbound/status`

## Request

- Base URL: `https://api.primitive.dev/v1`
- URL: `https://api.primitive.dev/v1/outbound/status`
- Auth: HTTP bearer

The "what can I send From?" bootstrap, the outbound mirror of
/inbox/status. Returns per-domain sending readiness for every
domain in the caller's org, plus the flat `sendable_domains`
list of From-domains the org may send from right now. That
list is the same set echoed in a `cannot_send_from_domain`
error's details, so orienting here before a send and
recovering from that error use identical data.

Each domain's `status` collapses the sending prerequisites
into one actionable state: `sendable`, `pending_ownership`
(ownership TXT not verified), `pending_outbound_dns`
(SPF/DKIM/DMARC not verified), or `inactive` (domain
deactivated). `next_actions` lists concrete remediation steps,
each with a suggested CLI command where one exists.

## Response `200`

Outbound readiness summary

- object
  - `success` true, required
  - `data` OutboundStatus, required: Outbound sending readiness for the caller's org, the outbound mirror of InboxStatus.
    - `ready` boolean, required: True when at least one domain is sendable right now.
    - `summary` string, required: Short human-readable status summary.
    - `sendable_domains` string[], required: Flat, sorted list of From-domains the org may send from right now. The same set echoed in a `cannot_send_from_domain` error's `details.valid_senders`, so recovery from that error and orientation here agree.
    - `domains` OutboundStatusDomain[], required
      - `id` string, uuid, required
      - `domain` string, required
      - `status` 'sendable' | 'pending_outbound_dns' | 'pending_ownership' | 'inactive', required: Single actionable state collapsing the sending prerequisites: `sendable` (you may send From this domain now), `pending_ownership` (ownership TXT not verified), `pending_outbound_dns` (ownership done, SPF/DKIM/DMARC not verified), or `inactive` (domain deactivated; re-adding it, not publishing DNS, is the fix).
      - `ownership_verified` boolean, required
      - `outbound_verified` boolean, required: Whether the domain has an active outbound key with verified outbound DNS.
    - `next_actions` object[], required: Concrete remediation steps for domains that are not yet sendable. The server contract leaves entries open-ended; in practice each carries a `kind`, a human-readable `message`, and, when there is an obvious next step, a suggested CLI `command`.
      - `kind` string
      - `message` string
      - `command` string

## Other responses

- `401`: Invalid or missing API key

## Changes

> 32 revisions in range; 1 not diffed.

- **2026-11-03** `bce409c97acb`: 31 warning
  - added the new `access_mode_unavailable` enum value to the `error/code` response property for the response status `401`
  - added the new `builtin_role` enum value to the `error/code` response property for the response status `401`
  - added the new `cleanup_incomplete` enum value to the `error/code` response property for the response status `401`
  - added the new `cli_access_refused` enum value to the `error/code` response property for the response status `401`
  - …27 more
  - …this revision’s changelog is incomplete
- **2026-10-21** `0360ea8d4f3d`: 13 warning
  - added the new `agent_changed` enum value to the `error/code` response property for the response status `401`
  - added the new `agent_limit` enum value to the `error/code` response property for the response status `401`
  - added the new `already_member` enum value to the `error/code` response property for the response status `401`
  - added the new `directory_limit` enum value to the `error/code` response property for the response status `401`
  - …9 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/primitive/apis/primitive-api/changes/outbound/status/get.md)

---

[API](https://skmtc.dev/primitive/apis/primitive-api.md) - [All operations](https://skmtc.dev/primitive/apis/primitive-api/llms.txt) - [OpenAPI document](https://skmtc.dev/primitive/apis/primitive-api/revisions/bce409c97acb?raw)
