---
title: "Read the situation brief of a Work item"
method: GET
path: "/api/assistant/work-items/{id}/brief"
tags: ["Mailzero Assistant"]
---

# Read the situation brief of a Work item

`GET /api/assistant/work-items/{id}/brief`

## Request

- Base URL: `https://domani.run`
- URL: `https://domani.run/api/assistant/work-items/{id}/brief`
- Auth: HTTP bearer

One document an agent reads before acting: the situation (status, attention, recurrence, sender), the story so far (every mail of it, analysed or not), the facts the analyses established (claims with value, basis and validity, and the entities), the open commitments and expectations with what is awaited from whom and since when, what already settled (closed loops and receipts), the current Decision with its options, a suggested next step (the Decision's recommended option when there is one, otherwise a rule: an overdue promise, an overdue expectation to chase, the sender's ask to answer), and the evidence messages. Deterministic and cheap: no model call. Agent tokens read the items of the mailboxes they operate and the items handed to them.

## Path parameters

- `id` string, required

## Query parameters

- `synthesis` boolean

## Response `200`

The situation brief

- AssistantBrief: The situation brief of one Work item: everything an agent needs to act without reading the mail
  - `id` string, required
  - `version` integer, required
  - `generated_at` string, date-time, required
  - `title` string, required
  - `summary` string, required
  - `ask` string, nullable
  - `mailbox` object
    - `id` string
    - `address` string
    - `name` string, nullable
    - `operator` 'human' | 'agent'
  - `delegated_to` string, nullable
  - `situation` object, required
    - `key` string
    - `status` string
    - `attention` object
      - `level` string
      - `reason` string
      - `confidence` string
      - `deadline` string, nullable
    - `occurrences` integer
    - `first_seen_at` string, nullable
    - `last_seen_at` string, nullable
    - `sender` object, nullable
      - `address` string
      - `name` string, nullable
      - `kind` string
  - `story` object[], required: Every mail of the situation, oldest first, with the one-line title the analysis gave it
    - `message_id` string
    - `occurred_at` string
    - `sender` string
    - `title` string
    - `analysed` boolean
  - `facts` object[], required
    - `key` string, nullable
    - `subject` string, nullable
    - `predicate` string, nullable
    - `object` string, nullable
    - `value` object, nullable
      - `type` string
      - `value` string, nullable
      - `currency` string, nullable
    - `basis` string, nullable
    - `confidence` number, nullable
    - `valid_from` string, nullable
    - `valid_until` string, nullable
    - `sensitivity` string
    - `evidence_refs` string[]
    - `seen_at` string
  - `entities` object[], required
    - `kind` string
    - `name` string
    - `aliases` string[]
    - `ref` string
  - `commitments` object[], required: Open promises made by the owner's side
    - `id` string
    - `who` string
    - `owed_to` string, nullable
    - `what` string
    - `due_at` string, nullable
    - `overdue` boolean
    - `status` string
  - `expectations` object[], required: Open things awaited from others
    - `id` string
    - `who` string
    - `what` string
    - `due_at` string, nullable
    - `overdue` boolean
    - `status` string
  - `settled` object[], required: Closed loops and receipts, newest first
    - `kind` 'commitment' | 'expectation' | 'receipt'
    - `who` string
    - `what` string
    - `status` string
    - `at` string
  - `awaiting` object[], required
    - `who` string
    - `what` string
    - `since` string
    - `due_at` string, nullable
    - `overdue` boolean
  - `decision` object, nullable: The current prepared Decision with its options
  - `summary_source` 'model' | 'pipeline': Whether the summary is the model's reading of the evidence or the pipeline's own sentence
  - `suggested_next` object, nullable, required
    - `action` string
    - `reason` string
    - `source` 'decision' | 'rule' | 'model'
    - `links` string[]: The URLs the next action needs, verbatim from the evidence (model source only)
    - `options` string[]: The options on offer when the next action is a choice (model source only)
  - `open_questions` string[]: What only the owner can decide before the next action, at most three questions
  - `synthesis` object, nullable: The model call that wrote the summary and next action, null when the brief is deterministic only
    - `model` string
    - `cached` boolean
    - `generated_at` string, date-time
  - `evidence` object[], required
    - `id` string
    - `subject` string, nullable
    - `from` string
    - `received_at` string
    - `conversation_id` string, nullable
    - `excerpt` string, nullable: The first 500 characters of the message's own words, quoted text and signatures removed
    - `details` object, nullable
      - `links` object[]
        - `url` string
        - `kind` 'signature' | 'calendar' | 'payment' | 'document' | 'other'
      - `amounts` object[]
        - `value` number
        - `currency` string
        - `text` string
      - `dates` string[]
      - `asks` string[]
      - `options` string[]
  - `owner_replies` object[]
    - `id` string
    - `thread_id` string
    - `to` string
    - `subject` string, nullable
    - `sent_at` string, date-time
    - `excerpt` string
  - `evidence_refs` string[]

## Other responses

- `401`: Missing or invalid API key
- `404`: Work item not found
- `429`: Rate limit exceeded - wait and retry

---

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