---
title: "Archive intake"
method: POST
path: "/v1/intakes/{id}/archive"
tags: ["Intakes"]
---

# Archive intake

`POST /v1/intakes/{id}/archive`

## Request

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

Close an intake from any status (`draft`, `sent`, `in_progress`, `completed`) without deleting it: cancels every pending reminder, and blocks further edits, item submissions, waivers, notes and completion on the client portal — the same `409 conflict` (reason `intake_archived`) that PATCH /v1/intakes/{id} already returns for an archived intake. The row, its items, files, and history are all kept — GET /v1/intakes/{id} keeps returning it, and the client's portal link keeps resolving with `status: "archived"` rather than going dead. This is the reversible counterpart to DELETE /v1/intakes/{id}, which is permanent.

## Path parameters

- `id` string, required

## Response `200`

The now-archived intake — same single-object shape PATCH /v1/intakes/{id} returns, not the fuller GET /v1/intakes/{id} bundle (no items/progress/owner_tasks).

- object
  - `intake` object
    - `intake_id` string, required
    - `project_name` string, required
    - `status` 'draft' | 'sent' | 'in_progress' | 'completed' | 'archived', required
    - `mode` 'live' | 'test', required
    - `portal_url` string, uri
    - `client` object, required
      - `email` string, email
      - `name` string, nullable
      - `phone` string, nullable: E.164, e.g. +420601123456.
      - `language` 'cs' | 'sk' | 'pl' | 'de' | 'es' | 'en'
      - `timezone` string
      - `also_notify` object[]: Other people who receive the same invitation and reminders through the same link. Present on GET /v1/intakes/{id} only; omitted from the list endpoint, where absent means "not loaded" rather than "none".
        - `email` string, email, required
        - `name` string, nullable, required
        - `bounced_at` string, date-time, nullable, required
      - `client_bounced_at` string, date-time, nullable: When the primary address stopped accepting mail, if it has.
    - `branding` object, nullable
      - `logo_url` string, uri
      - `accent_color` string
      - `sender_name` string: Part of custom branding (Solo plan or higher). On a plan without it the value is stored but not used: mail and the portal show the built-in sender name with the account owner's address. Links and web or e-mail addresses are refused.
      - `reply_to` string, email
    - `folder_id` string, nullable: The folder this intake is filed under, or null for Unfiled. See Folders.
    - `chase_schedule` 'default' | 'gentle' | 'aggressive' | 'custom' | 'off'
    - `chase_interval_minutes` integer, nullable: Only set for chase_schedule="custom".
    - `respect_quiet_hours` boolean
    - `max_reminders` integer, nullable: Null means no cap ("unlimited").
    - `chase_at_time` string, nullable: "HH:MM" in the client's timezone.
    - `due_date` string, date-time, nullable
    - `retention` object
      - `mode` 'days' | 'on_delivery'
      - `days` integer, nullable
      - `anonymize` boolean
    - `created_at` string, date-time, required
    - `sent_at` string, date-time, nullable
    - `completed_at` string, date-time, nullable
    - `delivered_at` string, date-time, nullable: First time an agent collected every delivered item via GET /v1/intakes/{id}/results.
    - `anonymized_at` string, date-time, nullable
    - `client_last_seen` string, date-time, nullable
    - `stalled_at` string, date-time, nullable
    - `purge_at` string, date-time, nullable
    - `client_note` string, nullable: Written by the client. Visible to both sides.
    - `owner_note` string, nullable: The owner's own note on the whole intake. Never shown to the client.
    - `client_brief` string, nullable: The owner's own text handed to the client — shown at the top of the portal as "Information from <sender name>", before the requested items. Attachments are `brief_files`, present on GET /v1/intakes/{id} only — see the Intakes description above.
    - `export` object, nullable: Null if this intake has never been exported. See POST /v1/intakes/{id}/export.
      - `status` 'queued' | 'running' | 'done' | 'failed'
      - `provider` 'google_drive' | 'dropbox', nullable
      - `url` string, uri, nullable: Link to the destination folder, once done.
      - `exported_at` string, date-time, nullable
      - `error` string, nullable

## Other responses

- `401`: Missing or invalid API key
- `403`: Authenticated but not allowed to perform this action
- `404`: Resource not found
- `409`: Intake is already archived.

---

[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)
