---
title: "Get intake status"
method: GET
path: "/v1/intakes/{id}/status"
tags: ["Intakes"]
---

# Get intake status

`GET /v1/intakes/{id}/status`

## Request

- Base URL: `https://api.briefgate.dev`
- URL: `https://api.briefgate.dev/v1/intakes/{id}/status`
- Auth: HTTP bearer

Lightweight polling endpoint. Returns the intake status and a progress summary without the full item list. Agents should poll this rather than GET /v1/intakes/:id to minimise response payload while waiting for completion.

## Path parameters

- `id` string, required

## Response `200`

Intake status and progress

- object
  - `items` object[], required
    - `key` string
    - `status` 'pending' | 'submitted' | 'needs_revision' | 'approved' | 'waived'
    - `submitted_at` string, date-time, nullable
    - `label` string
    - `assignee` 'client' | 'owner'
    - `required` boolean
    - `decision` object
      - `options` object[]
        - `value` string
        - `label` string
      - `decided_by` 'owner' | 'agent_proposal' | 'undecided'
      - `value` unknown
      - `proposed_value` unknown
      - `proposed_rationale` string, nullable
  - `chases` object[], required
    - `id` string
    - `channel` 'email' | 'sms'
    - `kind` 'invite' | 'reminder' | 'revision' | 'manual'
    - `scheduled_at` string, date-time
    - `sent_at` string, date-time, nullable
    - `status` 'scheduled' | 'sent' | 'failed' | 'bounced' | 'complained' | 'cancelled' | 'skipped'
    - `attempt_no` integer
    - `missing_items_count` integer, nullable
    - `error` string, nullable
  - `client_last_seen` string, date-time, nullable, required
  - `progress` object, required: The client's items only — an item the owner has waived, and an optional item the client has not touched, both leave the denominator, so `percent` reaches 100 exactly when `status` turns `completed`.
    - `submitted` integer, required: Items submitted or approved.
    - `total` integer, required
    - `outstanding` integer, required: Items still pending or needing revision.
    - `percent` integer, required: round(submitted / total * 100); 0 when total is 0.
  - `status` 'draft' | 'sent' | 'in_progress' | 'completed' | 'archived', required
  - `due_date` string, date-time, nullable, required

## Other responses

- `401`: Missing or invalid API key
- `403`: Authenticated but not allowed to perform this action
- `404`: Resource not found

---

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