---
title: "This person's digest, without sending it"
method: GET
path: "/v1/notifications/digest"
tags: ["notifications"]
---

# This person's digest, without sending it

`GET /v1/notifications/digest`

## Request

- Base URL: `https://api.flowral.app`
- URL: `https://api.flowral.app/v1/notifications/digest`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (client credentials, token URL `https://api.flowral.app/v1/oauth/token`, scopes: `notifications:read`)

What tomorrow morning's mail would say, built by the real builder and delivered to nobody. Also the cleanest per-person view of "what should I work on today" across every flow they can see — `/v1/work/available` answers that per workspace, this answers it per person.

## Query parameters

- `memberId` string, required: The person these settings belong to. A credential has no inbox, so this is never optional.

## Response `200`

SUCCESS

- NotificationDigest: One person's day: what is on them, what is free to pick up, what moved. Spans every flow they can see, including flows shared with them from workspaces they are not a member of.
  - `memberId` string, required
  - `generatedAt` string, date-time: When this was built.
  - `wouldSend` boolean, required: False when there is nothing worth mailing — an empty digest is never sent.
  - `counts` object, required: Totals BEFORE the per-section caps, so a truncated list still reports honestly.
  - `ready` object[]: Assigned to them and unblocked.
    - `questId` string: The flow id.
    - `questName` string
    - `nodeId` string: The task id.
    - `nodeTitle` string
    - `hours` number, nullable
    - `criticalPath` boolean
  - `inProgress` object[]
    - `questId` string: The flow id.
    - `questName` string
    - `nodeId` string: The task id.
    - `nodeTitle` string
    - `hours` number, nullable
    - `criticalPath` boolean
  - `blocked` object[]: Theirs, waiting on someone else.
    - `questId` string: The flow id.
    - `questName` string
    - `nodeId` string: The task id.
    - `nodeTitle` string
    - `hours` number, nullable
    - `criticalPath` boolean
  - `available` object[]: Unassigned and ready — anyone could pick it up.
    - `questId` string: The flow id.
    - `questName` string
    - `nodeId` string: The task id.
    - `nodeTitle` string
    - `hours` number, nullable
    - `criticalPath` boolean
  - `completed` object[]: Finished in the last 24 hours, across their flows.
  - `atRisk` object[]: Flows projected to finish after their due date.

## Other responses

- `401`: UNAUTHORIZED
- `403`: FORBIDDEN · PLAN_REQUIRED · INSUFFICIENT_SCOPE
- `404`: MEMBER_NOT_FOUND
- `429`: RATE_LIMITED

---

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