---
title: "Get the grounded Today decision queue"
method: GET
path: "/api/assistant/today"
tags: ["Mailzero Assistant"]
---

# Get the grounded Today decision queue

`GET /api/assistant/today`

## Request

- Base URL: `https://domani.run`
- URL: `https://domani.run/api/assistant/today`
- Auth: HTTP bearer

Returns the versioned Now, Needs you, Waiting, Upcoming, and recent Handled projections with as_of, lag, coverage, and warnings. Every item links to its source message; nothing here sends mail. Requires the assistant:read scope. Authentication mail (sign-in codes, password resets, magic links) never becomes a matter and never reaches a model. A matter made from authentication mail before such mail was kept out of the assistant is shown with its title, summary, ask and plan effects withheld from a reader without `email:auth_secrets`.

## Query parameters

- `agent` string
- `category` string
- `tag` string

## Response `200`

Versioned Now, Needs you, Waiting, Upcoming, and Handled projections

- AssistantTodayView
  - `type` 'today'
  - `as_of` string
  - `projection_lag_ms` integer
  - `category` string, nullable: The kind of matter the view is narrowed to (the category query), or null for every kind.
  - `categories` object: Every kind of matter in the view, before the filter, with how many items it holds.
  - `tag` string, nullable: The tag the view is narrowed to (the tag query), or null for every matter.
  - `tags` object: Every tag of the person in the view, before the filter, with how many matters carry it.
  - `sections` object
    - `suspect` AssistantWorkItem[]: What the trust signals found suspect: read, never acted on, until the person reports phishing or legitimate
      - `id` string
      - `version` integer
      - `status` 'open' | 'needs_judgment' | 'snoozed' | 'waiting' | 'handled' | 'ignored'
      - `title` string
      - `summary` string
      - `ask` string, nullable: The single thing the owner must do or decide, or null.
      - `category` 'invoice' | 'payment_notice' | 'payment_failure' | 'refund_request' | 'signature_request' | 'meeting_request' | 'calendar_change' | 'support_ticket' | 'partner_inquiry' | 'recurring_alert' | 'account_notice' | 'newsletter' | 'legal_notice' | 'internal_handover' | 'shipping_notice' | 'phishing' | 'other', nullable: The kind of matter the analysis found (an invoice, a meeting request, a newsletter...), or null when no analysis said. Rules match it as the label category:<kind>.
      - `tags` string[]: The person's tags on the matter (CT-01b): confirmed once or set by hand, each one a label on the thread at the provider. Rules match them as the label tag:<name>.
      - `proposed_tags` string[]: The tags the engine proposes for the matter (one per project it named), not yet confirmed. Confirm one with the tag interaction; it then applies to the next matter of the same project without a question.
      - `suspect` boolean: The trust signals found the sender suspect: the matter sits in the Suspect section, is never Now, carries no decision, and no effect runs on it until the person reports it legitimate.
      - `suspect_reasons` string[]: Why it looks suspect, one sentence per signal (a failed authentication, a diverging Reply-To, a lookalike domain, a borrowed name, a first contact about money, an instruction to the assistant, a secret asked by return mail).
      - `sender` object, nullable
        - `address` string
        - `name` string, nullable
        - `kind` 'human' | 'automated' | 'self' | 'harness'
      - `recurrence` object: How often this same situation came back: one item, N messages.
        - `count` integer
        - `first_seen_at` string, nullable
        - `last_seen_at` string, nullable
      - `mailbox` object
        - `id` string
        - `address` string
        - `name` string, nullable
        - `operator` 'human' | 'agent'
        - `agent` object, nullable
          - `name` string
          - `emoji` string, nullable
      - `opened_at` string, nullable
      - `delegated_to` string, nullable: The slug of the agent the owner handed this item to, or null.
      - `delegation_rule` object, nullable: The standing delegation that handed this item over, and why it matched; suspended once the owner took the item back.
        - `id` string
        - `why` string, nullable
        - `suspended` boolean
      - `unread` boolean: True until the owner opens the item after its latest change.
      - `messages` object[]: The source messages behind this item, newest first.
        - `id` string
        - `subject` string, nullable
        - `from` string
        - `received_at` string
        - `conversation_id` string, nullable
      - `history` object[]: What already happened in this matter, oldest first: one line per earlier message.
        - `message_id` string
        - `occurred_at` string
        - `sender` string
        - `title` string
      - `source` object
        - `type` string
        - `conversation_id` string, nullable
        - `event_id` string
        - `revision` integer
      - `attention` object
        - `level` 'now' | 'needs_you' | 'fyi' | 'quiet'
        - `reason` string
        - `confidence` string
        - `deadline` string, nullable
      - `analysis` object
        - `coverage` string
        - `warnings` string[]
      - `evidence_refs` string[]
      - `entity_refs` string[]
      - `snoozed_until` string, nullable
      - `decision` object, nullable
        - `id` string
        - `version` integer
        - `status` string
        - `question` string
        - `options` object[]
          - `id` string
          - `label` string
          - `recommended` boolean
          - `outcome` string
      - `plan` object, nullable
        - `id` string
        - `status` string
        - `expires_at` string
    - `now` AssistantWorkItem[]
      - `id` string
      - `version` integer
      - `status` 'open' | 'needs_judgment' | 'snoozed' | 'waiting' | 'handled' | 'ignored'
      - `title` string
      - `summary` string
      - `ask` string, nullable: The single thing the owner must do or decide, or null.
      - `category` 'invoice' | 'payment_notice' | 'payment_failure' | 'refund_request' | 'signature_request' | 'meeting_request' | 'calendar_change' | 'support_ticket' | 'partner_inquiry' | 'recurring_alert' | 'account_notice' | 'newsletter' | 'legal_notice' | 'internal_handover' | 'shipping_notice' | 'phishing' | 'other', nullable: The kind of matter the analysis found (an invoice, a meeting request, a newsletter...), or null when no analysis said. Rules match it as the label category:<kind>.
      - `tags` string[]: The person's tags on the matter (CT-01b): confirmed once or set by hand, each one a label on the thread at the provider. Rules match them as the label tag:<name>.
      - `proposed_tags` string[]: The tags the engine proposes for the matter (one per project it named), not yet confirmed. Confirm one with the tag interaction; it then applies to the next matter of the same project without a question.
      - `suspect` boolean: The trust signals found the sender suspect: the matter sits in the Suspect section, is never Now, carries no decision, and no effect runs on it until the person reports it legitimate.
      - `suspect_reasons` string[]: Why it looks suspect, one sentence per signal (a failed authentication, a diverging Reply-To, a lookalike domain, a borrowed name, a first contact about money, an instruction to the assistant, a secret asked by return mail).
      - `sender` object, nullable
        - `address` string
        - `name` string, nullable
        - `kind` 'human' | 'automated' | 'self' | 'harness'
      - `recurrence` object: How often this same situation came back: one item, N messages.
        - `count` integer
        - `first_seen_at` string, nullable
        - `last_seen_at` string, nullable
      - `mailbox` object
        - `id` string
        - `address` string
        - `name` string, nullable
        - `operator` 'human' | 'agent'
        - `agent` object, nullable
          - `name` string
          - `emoji` string, nullable
      - `opened_at` string, nullable
      - `delegated_to` string, nullable: The slug of the agent the owner handed this item to, or null.
      - `delegation_rule` object, nullable: The standing delegation that handed this item over, and why it matched; suspended once the owner took the item back.
        - `id` string
        - `why` string, nullable
        - `suspended` boolean
      - `unread` boolean: True until the owner opens the item after its latest change.
      - `messages` object[]: The source messages behind this item, newest first.
        - `id` string
        - `subject` string, nullable
        - `from` string
        - `received_at` string
        - `conversation_id` string, nullable
      - `history` object[]: What already happened in this matter, oldest first: one line per earlier message.
        - `message_id` string
        - `occurred_at` string
        - `sender` string
        - `title` string
      - `source` object
        - `type` string
        - `conversation_id` string, nullable
        - `event_id` string
        - `revision` integer
      - `attention` object
        - `level` 'now' | 'needs_you' | 'fyi' | 'quiet'
        - `reason` string
        - `confidence` string
        - `deadline` string, nullable
      - `analysis` object
        - `coverage` string
        - `warnings` string[]
      - `evidence_refs` string[]
      - `entity_refs` string[]
      - `snoozed_until` string, nullable
      - `decision` object, nullable
        - `id` string
        - `version` integer
        - `status` string
        - `question` string
        - `options` object[]
          - `id` string
          - `label` string
          - `recommended` boolean
          - `outcome` string
      - `plan` object, nullable
        - `id` string
        - `status` string
        - `expires_at` string
    - `needs_you` AssistantWorkItem[]
      - `id` string
      - `version` integer
      - `status` 'open' | 'needs_judgment' | 'snoozed' | 'waiting' | 'handled' | 'ignored'
      - `title` string
      - `summary` string
      - `ask` string, nullable: The single thing the owner must do or decide, or null.
      - `category` 'invoice' | 'payment_notice' | 'payment_failure' | 'refund_request' | 'signature_request' | 'meeting_request' | 'calendar_change' | 'support_ticket' | 'partner_inquiry' | 'recurring_alert' | 'account_notice' | 'newsletter' | 'legal_notice' | 'internal_handover' | 'shipping_notice' | 'phishing' | 'other', nullable: The kind of matter the analysis found (an invoice, a meeting request, a newsletter...), or null when no analysis said. Rules match it as the label category:<kind>.
      - `tags` string[]: The person's tags on the matter (CT-01b): confirmed once or set by hand, each one a label on the thread at the provider. Rules match them as the label tag:<name>.
      - `proposed_tags` string[]: The tags the engine proposes for the matter (one per project it named), not yet confirmed. Confirm one with the tag interaction; it then applies to the next matter of the same project without a question.
      - `suspect` boolean: The trust signals found the sender suspect: the matter sits in the Suspect section, is never Now, carries no decision, and no effect runs on it until the person reports it legitimate.
      - `suspect_reasons` string[]: Why it looks suspect, one sentence per signal (a failed authentication, a diverging Reply-To, a lookalike domain, a borrowed name, a first contact about money, an instruction to the assistant, a secret asked by return mail).
      - `sender` object, nullable
        - `address` string
        - `name` string, nullable
        - `kind` 'human' | 'automated' | 'self' | 'harness'
      - `recurrence` object: How often this same situation came back: one item, N messages.
        - `count` integer
        - `first_seen_at` string, nullable
        - `last_seen_at` string, nullable
      - `mailbox` object
        - `id` string
        - `address` string
        - `name` string, nullable
        - `operator` 'human' | 'agent'
        - `agent` object, nullable
          - `name` string
          - `emoji` string, nullable
      - `opened_at` string, nullable
      - `delegated_to` string, nullable: The slug of the agent the owner handed this item to, or null.
      - `delegation_rule` object, nullable: The standing delegation that handed this item over, and why it matched; suspended once the owner took the item back.
        - `id` string
        - `why` string, nullable
        - `suspended` boolean
      - `unread` boolean: True until the owner opens the item after its latest change.
      - `messages` object[]: The source messages behind this item, newest first.
        - `id` string
        - `subject` string, nullable
        - `from` string
        - `received_at` string
        - `conversation_id` string, nullable
      - `history` object[]: What already happened in this matter, oldest first: one line per earlier message.
        - `message_id` string
        - `occurred_at` string
        - `sender` string
        - `title` string
      - `source` object
        - `type` string
        - `conversation_id` string, nullable
        - `event_id` string
        - `revision` integer
      - `attention` object
        - `level` 'now' | 'needs_you' | 'fyi' | 'quiet'
        - `reason` string
        - `confidence` string
        - `deadline` string, nullable
      - `analysis` object
        - `coverage` string
        - `warnings` string[]
      - `evidence_refs` string[]
      - `entity_refs` string[]
      - `snoozed_until` string, nullable
      - `decision` object, nullable
        - `id` string
        - `version` integer
        - `status` string
        - `question` string
        - `options` object[]
          - `id` string
          - `label` string
          - `recommended` boolean
          - `outcome` string
      - `plan` object, nullable
        - `id` string
        - `status` string
        - `expires_at` string
    - `agents` AssistantWorkItem[]
      - `id` string
      - `version` integer
      - `status` 'open' | 'needs_judgment' | 'snoozed' | 'waiting' | 'handled' | 'ignored'
      - `title` string
      - `summary` string
      - `ask` string, nullable: The single thing the owner must do or decide, or null.
      - `category` 'invoice' | 'payment_notice' | 'payment_failure' | 'refund_request' | 'signature_request' | 'meeting_request' | 'calendar_change' | 'support_ticket' | 'partner_inquiry' | 'recurring_alert' | 'account_notice' | 'newsletter' | 'legal_notice' | 'internal_handover' | 'shipping_notice' | 'phishing' | 'other', nullable: The kind of matter the analysis found (an invoice, a meeting request, a newsletter...), or null when no analysis said. Rules match it as the label category:<kind>.
      - `tags` string[]: The person's tags on the matter (CT-01b): confirmed once or set by hand, each one a label on the thread at the provider. Rules match them as the label tag:<name>.
      - `proposed_tags` string[]: The tags the engine proposes for the matter (one per project it named), not yet confirmed. Confirm one with the tag interaction; it then applies to the next matter of the same project without a question.
      - `suspect` boolean: The trust signals found the sender suspect: the matter sits in the Suspect section, is never Now, carries no decision, and no effect runs on it until the person reports it legitimate.
      - `suspect_reasons` string[]: Why it looks suspect, one sentence per signal (a failed authentication, a diverging Reply-To, a lookalike domain, a borrowed name, a first contact about money, an instruction to the assistant, a secret asked by return mail).
      - `sender` object, nullable
        - `address` string
        - `name` string, nullable
        - `kind` 'human' | 'automated' | 'self' | 'harness'
      - `recurrence` object: How often this same situation came back: one item, N messages.
        - `count` integer
        - `first_seen_at` string, nullable
        - `last_seen_at` string, nullable
      - `mailbox` object
        - `id` string
        - `address` string
        - `name` string, nullable
        - `operator` 'human' | 'agent'
        - `agent` object, nullable
          - `name` string
          - `emoji` string, nullable
      - `opened_at` string, nullable
      - `delegated_to` string, nullable: The slug of the agent the owner handed this item to, or null.
      - `delegation_rule` object, nullable: The standing delegation that handed this item over, and why it matched; suspended once the owner took the item back.
        - `id` string
        - `why` string, nullable
        - `suspended` boolean
      - `unread` boolean: True until the owner opens the item after its latest change.
      - `messages` object[]: The source messages behind this item, newest first.
        - `id` string
        - `subject` string, nullable
        - `from` string
        - `received_at` string
        - `conversation_id` string, nullable
      - `history` object[]: What already happened in this matter, oldest first: one line per earlier message.
        - `message_id` string
        - `occurred_at` string
        - `sender` string
        - `title` string
      - `source` object
        - `type` string
        - `conversation_id` string, nullable
        - `event_id` string
        - `revision` integer
      - `attention` object
        - `level` 'now' | 'needs_you' | 'fyi' | 'quiet'
        - `reason` string
        - `confidence` string
        - `deadline` string, nullable
      - `analysis` object
        - `coverage` string
        - `warnings` string[]
      - `evidence_refs` string[]
      - `entity_refs` string[]
      - `snoozed_until` string, nullable
      - `decision` object, nullable
        - `id` string
        - `version` integer
        - `status` string
        - `question` string
        - `options` object[]
          - `id` string
          - `label` string
          - `recommended` boolean
          - `outcome` string
      - `plan` object, nullable
        - `id` string
        - `status` string
        - `expires_at` string
    - `waiting` AssistantWorkItem[]
      - `id` string
      - `version` integer
      - `status` 'open' | 'needs_judgment' | 'snoozed' | 'waiting' | 'handled' | 'ignored'
      - `title` string
      - `summary` string
      - `ask` string, nullable: The single thing the owner must do or decide, or null.
      - `category` 'invoice' | 'payment_notice' | 'payment_failure' | 'refund_request' | 'signature_request' | 'meeting_request' | 'calendar_change' | 'support_ticket' | 'partner_inquiry' | 'recurring_alert' | 'account_notice' | 'newsletter' | 'legal_notice' | 'internal_handover' | 'shipping_notice' | 'phishing' | 'other', nullable: The kind of matter the analysis found (an invoice, a meeting request, a newsletter...), or null when no analysis said. Rules match it as the label category:<kind>.
      - `tags` string[]: The person's tags on the matter (CT-01b): confirmed once or set by hand, each one a label on the thread at the provider. Rules match them as the label tag:<name>.
      - `proposed_tags` string[]: The tags the engine proposes for the matter (one per project it named), not yet confirmed. Confirm one with the tag interaction; it then applies to the next matter of the same project without a question.
      - `suspect` boolean: The trust signals found the sender suspect: the matter sits in the Suspect section, is never Now, carries no decision, and no effect runs on it until the person reports it legitimate.
      - `suspect_reasons` string[]: Why it looks suspect, one sentence per signal (a failed authentication, a diverging Reply-To, a lookalike domain, a borrowed name, a first contact about money, an instruction to the assistant, a secret asked by return mail).
      - `sender` object, nullable
        - `address` string
        - `name` string, nullable
        - `kind` 'human' | 'automated' | 'self' | 'harness'
      - `recurrence` object: How often this same situation came back: one item, N messages.
        - `count` integer
        - `first_seen_at` string, nullable
        - `last_seen_at` string, nullable
      - `mailbox` object
        - `id` string
        - `address` string
        - `name` string, nullable
        - `operator` 'human' | 'agent'
        - `agent` object, nullable
          - `name` string
          - `emoji` string, nullable
      - `opened_at` string, nullable
      - `delegated_to` string, nullable: The slug of the agent the owner handed this item to, or null.
      - `delegation_rule` object, nullable: The standing delegation that handed this item over, and why it matched; suspended once the owner took the item back.
        - `id` string
        - `why` string, nullable
        - `suspended` boolean
      - `unread` boolean: True until the owner opens the item after its latest change.
      - `messages` object[]: The source messages behind this item, newest first.
        - `id` string
        - `subject` string, nullable
        - `from` string
        - `received_at` string
        - `conversation_id` string, nullable
      - `history` object[]: What already happened in this matter, oldest first: one line per earlier message.
        - `message_id` string
        - `occurred_at` string
        - `sender` string
        - `title` string
      - `source` object
        - `type` string
        - `conversation_id` string, nullable
        - `event_id` string
        - `revision` integer
      - `attention` object
        - `level` 'now' | 'needs_you' | 'fyi' | 'quiet'
        - `reason` string
        - `confidence` string
        - `deadline` string, nullable
      - `analysis` object
        - `coverage` string
        - `warnings` string[]
      - `evidence_refs` string[]
      - `entity_refs` string[]
      - `snoozed_until` string, nullable
      - `decision` object, nullable
        - `id` string
        - `version` integer
        - `status` string
        - `question` string
        - `options` object[]
          - `id` string
          - `label` string
          - `recommended` boolean
          - `outcome` string
      - `plan` object, nullable
        - `id` string
        - `status` string
        - `expires_at` string
    - `upcoming` AssistantWorkItem[]
      - `id` string
      - `version` integer
      - `status` 'open' | 'needs_judgment' | 'snoozed' | 'waiting' | 'handled' | 'ignored'
      - `title` string
      - `summary` string
      - `ask` string, nullable: The single thing the owner must do or decide, or null.
      - `category` 'invoice' | 'payment_notice' | 'payment_failure' | 'refund_request' | 'signature_request' | 'meeting_request' | 'calendar_change' | 'support_ticket' | 'partner_inquiry' | 'recurring_alert' | 'account_notice' | 'newsletter' | 'legal_notice' | 'internal_handover' | 'shipping_notice' | 'phishing' | 'other', nullable: The kind of matter the analysis found (an invoice, a meeting request, a newsletter...), or null when no analysis said. Rules match it as the label category:<kind>.
      - `tags` string[]: The person's tags on the matter (CT-01b): confirmed once or set by hand, each one a label on the thread at the provider. Rules match them as the label tag:<name>.
      - `proposed_tags` string[]: The tags the engine proposes for the matter (one per project it named), not yet confirmed. Confirm one with the tag interaction; it then applies to the next matter of the same project without a question.
      - `suspect` boolean: The trust signals found the sender suspect: the matter sits in the Suspect section, is never Now, carries no decision, and no effect runs on it until the person reports it legitimate.
      - `suspect_reasons` string[]: Why it looks suspect, one sentence per signal (a failed authentication, a diverging Reply-To, a lookalike domain, a borrowed name, a first contact about money, an instruction to the assistant, a secret asked by return mail).
      - `sender` object, nullable
        - `address` string
        - `name` string, nullable
        - `kind` 'human' | 'automated' | 'self' | 'harness'
      - `recurrence` object: How often this same situation came back: one item, N messages.
        - `count` integer
        - `first_seen_at` string, nullable
        - `last_seen_at` string, nullable
      - `mailbox` object
        - `id` string
        - `address` string
        - `name` string, nullable
        - `operator` 'human' | 'agent'
        - `agent` object, nullable
          - `name` string
          - `emoji` string, nullable
      - `opened_at` string, nullable
      - `delegated_to` string, nullable: The slug of the agent the owner handed this item to, or null.
      - `delegation_rule` object, nullable: The standing delegation that handed this item over, and why it matched; suspended once the owner took the item back.
        - `id` string
        - `why` string, nullable
        - `suspended` boolean
      - `unread` boolean: True until the owner opens the item after its latest change.
      - `messages` object[]: The source messages behind this item, newest first.
        - `id` string
        - `subject` string, nullable
        - `from` string
        - `received_at` string
        - `conversation_id` string, nullable
      - `history` object[]: What already happened in this matter, oldest first: one line per earlier message.
        - `message_id` string
        - `occurred_at` string
        - `sender` string
        - `title` string
      - `source` object
        - `type` string
        - `conversation_id` string, nullable
        - `event_id` string
        - `revision` integer
      - `attention` object
        - `level` 'now' | 'needs_you' | 'fyi' | 'quiet'
        - `reason` string
        - `confidence` string
        - `deadline` string, nullable
      - `analysis` object
        - `coverage` string
        - `warnings` string[]
      - `evidence_refs` string[]
      - `entity_refs` string[]
      - `snoozed_until` string, nullable
      - `decision` object, nullable
        - `id` string
        - `version` integer
        - `status` string
        - `question` string
        - `options` object[]
          - `id` string
          - `label` string
          - `recommended` boolean
          - `outcome` string
      - `plan` object, nullable
        - `id` string
        - `status` string
        - `expires_at` string
    - `handled` AssistantWorkItem[]
      - `id` string
      - `version` integer
      - `status` 'open' | 'needs_judgment' | 'snoozed' | 'waiting' | 'handled' | 'ignored'
      - `title` string
      - `summary` string
      - `ask` string, nullable: The single thing the owner must do or decide, or null.
      - `category` 'invoice' | 'payment_notice' | 'payment_failure' | 'refund_request' | 'signature_request' | 'meeting_request' | 'calendar_change' | 'support_ticket' | 'partner_inquiry' | 'recurring_alert' | 'account_notice' | 'newsletter' | 'legal_notice' | 'internal_handover' | 'shipping_notice' | 'phishing' | 'other', nullable: The kind of matter the analysis found (an invoice, a meeting request, a newsletter...), or null when no analysis said. Rules match it as the label category:<kind>.
      - `tags` string[]: The person's tags on the matter (CT-01b): confirmed once or set by hand, each one a label on the thread at the provider. Rules match them as the label tag:<name>.
      - `proposed_tags` string[]: The tags the engine proposes for the matter (one per project it named), not yet confirmed. Confirm one with the tag interaction; it then applies to the next matter of the same project without a question.
      - `suspect` boolean: The trust signals found the sender suspect: the matter sits in the Suspect section, is never Now, carries no decision, and no effect runs on it until the person reports it legitimate.
      - `suspect_reasons` string[]: Why it looks suspect, one sentence per signal (a failed authentication, a diverging Reply-To, a lookalike domain, a borrowed name, a first contact about money, an instruction to the assistant, a secret asked by return mail).
      - `sender` object, nullable
        - `address` string
        - `name` string, nullable
        - `kind` 'human' | 'automated' | 'self' | 'harness'
      - `recurrence` object: How often this same situation came back: one item, N messages.
        - `count` integer
        - `first_seen_at` string, nullable
        - `last_seen_at` string, nullable
      - `mailbox` object
        - `id` string
        - `address` string
        - `name` string, nullable
        - `operator` 'human' | 'agent'
        - `agent` object, nullable
          - `name` string
          - `emoji` string, nullable
      - `opened_at` string, nullable
      - `delegated_to` string, nullable: The slug of the agent the owner handed this item to, or null.
      - `delegation_rule` object, nullable: The standing delegation that handed this item over, and why it matched; suspended once the owner took the item back.
        - `id` string
        - `why` string, nullable
        - `suspended` boolean
      - `unread` boolean: True until the owner opens the item after its latest change.
      - `messages` object[]: The source messages behind this item, newest first.
        - `id` string
        - `subject` string, nullable
        - `from` string
        - `received_at` string
        - `conversation_id` string, nullable
      - `history` object[]: What already happened in this matter, oldest first: one line per earlier message.
        - `message_id` string
        - `occurred_at` string
        - `sender` string
        - `title` string
      - `source` object
        - `type` string
        - `conversation_id` string, nullable
        - `event_id` string
        - `revision` integer
      - `attention` object
        - `level` 'now' | 'needs_you' | 'fyi' | 'quiet'
        - `reason` string
        - `confidence` string
        - `deadline` string, nullable
      - `analysis` object
        - `coverage` string
        - `warnings` string[]
      - `evidence_refs` string[]
      - `entity_refs` string[]
      - `snoozed_until` string, nullable
      - `decision` object, nullable
        - `id` string
        - `version` integer
        - `status` string
        - `question` string
        - `options` object[]
          - `id` string
          - `label` string
          - `recommended` boolean
          - `outcome` string
      - `plan` object, nullable
        - `id` string
        - `status` string
        - `expires_at` string
    - `suggestions` AssistantSuggestion[]: The standing delegations the assistant proposes (the owner's view only)
      - `id` string, required
      - `kind` 'delegation_rule', required
      - `handling` string, required: ignored, replied, resolved, or handed:<agent slug>
      - `rule` AssistantRuleInput, required
        - `name` string
        - `enabled` boolean
        - `position` integer: Rules are tried in this order; the first match wins
        - `match` AssistantRuleMatch: The explicit predicate of a standing delegation; every stated condition must hold
          - `senderAddress` string: The sender's address
          - `senderDomain` string: The sender's domain; a subdomain matches too
          - `organisation` string: The organisation label of the sender's domain, for example tucows
          - `workKeyPrefix` string: The work item key starts with this, for example org:tucows or auto:
          - `senderKind` 'human' | 'automated'
          - `mailboxIds` string[]
          - `labels` string[]: The matter carries any of these labels: category:<kind> is its kind of matter (CT-01), tag:<name> one of the person's tags (CT-01b)
          - `subjectPattern` string: An anchored, case-insensitive pattern on the subject
          - `minOccurrences` integer: Only recurring matters: at least this many occurrences
          - `minConfidence` number: Only when the calibrated classifier put at least this probability on one of the rule's category: labels; without its answer the rule does not match
        - `assignee_type` 'agent' | 'member'
        - `assignee_ref` string: The agent identity slug, or the member's user id
        - `level` 'observe' | 'triage' | 'draft' | 'guarded_send' | 'operate': The autonomy granted; observe by default
        - `grants` AssistantGrants: Caps on the effects of a level: who an outward effect may reach, how many effects a day, when, how much model spend, which risk classes without an approver, and a required approver. On a rule and on an assignee, the stricter wins
          - `recipients` object
            - `mode` 'correspondents' | 'domains' | 'anyone', required: The matter's correspondents (the default), listed domains, or anyone
            - `domains` string[]
          - `volume` object
            - `effects_per_day` integer, required
          - `schedule` object
            - `hours` integer[]: Start (inclusive) and end (exclusive) hour
            - `days` integer[]: Sunday is zero
            - `timezone` string: An IANA zone; UTC when absent
          - `spend` object
            - `usd_per_day` number
            - `usd_per_matter` number
          - `risk` object
            - `allow` string[]: Risk classes the assignee may act on; none by default
            - `financial_threshold_usd` number: Amounts below this do not make a matter financial
          - `approver` object
            - `member_id` string, required
      - `evidence` object, required
        - `matters` object[]
          - `id` string
          - `title` string
          - `last_seen_at` string, date-time
        - `matter_count` integer
        - `occurrences` integer
        - `window_days` integer
      - `status` 'open' | 'accepted' | 'dismissed', required
      - `first_seen_at` string, date-time, required
      - `last_seen_at` string, date-time, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
    - `handed_to_you` AssistantWorkItem[]: The matters other owners handed to this person as a workspace member; they work them through the tasks endpoints
      - `id` string
      - `version` integer
      - `status` 'open' | 'needs_judgment' | 'snoozed' | 'waiting' | 'handled' | 'ignored'
      - `title` string
      - `summary` string
      - `ask` string, nullable: The single thing the owner must do or decide, or null.
      - `category` 'invoice' | 'payment_notice' | 'payment_failure' | 'refund_request' | 'signature_request' | 'meeting_request' | 'calendar_change' | 'support_ticket' | 'partner_inquiry' | 'recurring_alert' | 'account_notice' | 'newsletter' | 'legal_notice' | 'internal_handover' | 'shipping_notice' | 'phishing' | 'other', nullable: The kind of matter the analysis found (an invoice, a meeting request, a newsletter...), or null when no analysis said. Rules match it as the label category:<kind>.
      - `tags` string[]: The person's tags on the matter (CT-01b): confirmed once or set by hand, each one a label on the thread at the provider. Rules match them as the label tag:<name>.
      - `proposed_tags` string[]: The tags the engine proposes for the matter (one per project it named), not yet confirmed. Confirm one with the tag interaction; it then applies to the next matter of the same project without a question.
      - `suspect` boolean: The trust signals found the sender suspect: the matter sits in the Suspect section, is never Now, carries no decision, and no effect runs on it until the person reports it legitimate.
      - `suspect_reasons` string[]: Why it looks suspect, one sentence per signal (a failed authentication, a diverging Reply-To, a lookalike domain, a borrowed name, a first contact about money, an instruction to the assistant, a secret asked by return mail).
      - `sender` object, nullable
        - `address` string
        - `name` string, nullable
        - `kind` 'human' | 'automated' | 'self' | 'harness'
      - `recurrence` object: How often this same situation came back: one item, N messages.
        - `count` integer
        - `first_seen_at` string, nullable
        - `last_seen_at` string, nullable
      - `mailbox` object
        - `id` string
        - `address` string
        - `name` string, nullable
        - `operator` 'human' | 'agent'
        - `agent` object, nullable
          - `name` string
          - `emoji` string, nullable
      - `opened_at` string, nullable
      - `delegated_to` string, nullable: The slug of the agent the owner handed this item to, or null.
      - `delegation_rule` object, nullable: The standing delegation that handed this item over, and why it matched; suspended once the owner took the item back.
        - `id` string
        - `why` string, nullable
        - `suspended` boolean
      - `unread` boolean: True until the owner opens the item after its latest change.
      - `messages` object[]: The source messages behind this item, newest first.
        - `id` string
        - `subject` string, nullable
        - `from` string
        - `received_at` string
        - `conversation_id` string, nullable
      - `history` object[]: What already happened in this matter, oldest first: one line per earlier message.
        - `message_id` string
        - `occurred_at` string
        - `sender` string
        - `title` string
      - `source` object
        - `type` string
        - `conversation_id` string, nullable
        - `event_id` string
        - `revision` integer
      - `attention` object
        - `level` 'now' | 'needs_you' | 'fyi' | 'quiet'
        - `reason` string
        - `confidence` string
        - `deadline` string, nullable
      - `analysis` object
        - `coverage` string
        - `warnings` string[]
      - `evidence_refs` string[]
      - `entity_refs` string[]
      - `snoozed_until` string, nullable
      - `decision` object, nullable
        - `id` string
        - `version` integer
        - `status` string
        - `question` string
        - `options` object[]
          - `id` string
          - `label` string
          - `recommended` boolean
          - `outcome` string
      - `plan` object, nullable
        - `id` string
        - `status` string
        - `expires_at` string

## Other responses

- `401`: Missing or invalid API key
- `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)
