---
title: "Act On Many"
method: POST
path: "/v1/teams/{team_id}/inbox/bulk"
tags: ["inbox"]
---

# Act On Many

`POST /v1/teams/{team_id}/inbox/bulk`

## Request

- Base URL: `https://api.stormy.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.stormy.ai/v1/teams/{team_id}/inbox/bulk`
- Auth: none declared

One wordless press — archive, unarchive, snooze, unsnooze, read, unread —
on many threads at once, written on each record and landed in one push.

Which threads is never decided here: Stormy reads `GET ?all=true`, judges
which ones he meant ("archive everything about the Henderson roof") and
names their paths. A thread already as asked (archived, not archived, not
snoozed) is skipped with its reason, never written twice.

## Path parameters

- `team_id` string, uuid, required

## Headers

- `authorization` string, nullable
- `x-darwin-token` string, nullable

## Request body

- InboxBulk: One wordless press on many threads — `paths` as `GET ?all=true` lists them.
  - `paths` string[], required
  - `act` 'resolve' | 'unarchive' | 'snooze' | 'unsnooze' | 'seen' | 'unseen', required
  - `until` string, nullable

## Response `200`

Successful Response

- InboxBulked
  - `ok` boolean
  - `items` InboxItem[]
    - `ref` string, required
    - `path` string, required
    - `assignee` string, nullable
    - `desk` string
    - `desk_title` string
    - `title` string, required
    - `needs` string, required
    - `who` string
    - `at` string
    - `rank` integer, nullable
    - `urgent` boolean
    - `stakes` string
    - `ask` string
    - `choices` string
    - `choice_images` object
    - `choice_pick` string
    - `range` string
    - `unit` string
    - `at_point` string
    - `state` 'open' | 'processing' | 'snoozed' | 'done' | 'resolved' | 'answered', required
    - `asked` string
    - `answer` string
    - `answered_at` string
    - `outcome` string
    - `outcome_at` string
    - `learned` string
    - `snoozed_until` string
    - `seen` boolean
    - `seen_at` string
    - `changes` string[], nullable
    - `nudges` integer
    - `nudged_at` string
    - `started` boolean
    - `followup` string
    - `followed_at` string
    - `draft` string
    - `request` string
    - `pictures` InboxPicture[]
      - `kind` 'shot' | 'receipt', required
      - `artifact` string
      - `src` string
      - `href` string
      - `caption` string
    - `icon` string
    - `kind` string
    - `reopened_at` string
    - `reopened_by` string
    - `reopened_with` string
    - `route` string
    - `taken_at` string
    - `unarchived_at` string
    - `sealed` boolean
    - `page` boolean
    - `pageless` boolean
    - `archived` boolean
    - `setup_kind` string
    - `setup_app` string
    - `setup_order` integer
    - `setup_choices` string[]
    - `connect_apps` InboxConnectApp[]
      - `slug` string, required
      - `name` string, required
    - `set_aside` boolean
  - `skipped` InboxSkipped[]
    - `path` string, required
    - `why` string, required

## Other responses

- `422`: Validation Error

## Changes

> 68 revisions in range; 1 not diffed.

- **2026-10-15** `22181872bb36`: 2 info
  - added the optional property `items/items/changes` to the response with the `200` status
  - added the optional property `items/items/seen_at` to the response with the `200` status
- **2026-10-14** `f65dcc3528d4`: 1 info
  - added the optional property `items/items/assignee` to the response with the `200` status
- **2026-10-13** `03c3bc288df4`: 6 info
  - added the optional property `items/items/connect_apps` to the response with the `200` status
  - added the optional property `items/items/set_aside` to the response with the `200` status
  - added the optional property `items/items/setup_app` to the response with the `200` status
  - added the optional property `items/items/setup_choices` to the response with the `200` status
  - …2 more
- **2026-10-11** `dbc505fd8667`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/stormy/apis/stormy-control-plane/changes/v1/teams/:team_id/inbox/bulk/post.md)

---

[API](https://skmtc.dev/stormy/apis/stormy-control-plane.md) · [All operations](https://skmtc.dev/stormy/apis/stormy-control-plane/llms.txt) · [OpenAPI document](https://skmtc.dev/stormy/apis/stormy-control-plane/revisions/a40e83844eaa?raw)
