---
title: "Get Latest Briefing"
method: GET
path: "/api/briefings/latest"
tags: ["briefings"]
---

# Get Latest Briefing

`GET /api/briefings/latest`

Return the user's current briefing, or None if there isn't a fresh one.

Only briefings covering today or yesterday qualify; anything older is
history, not "this morning".

Stored content that fails to validate against the current BriefingContent
shape (e.g. written by an older/newer version of the composer) is skipped
rather than 500ing the request — and rather than hiding every older
briefing behind one unreadable row on the newest date.

## Response `200`

Successful Response

- BriefingResponse
  - `id` string, required
  - `briefing_date` string, date, required
  - `created_at` string, date-time, required
  - `delivered_at` string, date-time, nullable, required
  - `content` BriefingContent, required
    - `generated_at` string, date-time, required
    - `timezone` string, required
    - `zero_expert_fallback` boolean, required
    - `run_items` BriefingRunItem[], required
      - `expert_id` string, nullable, required
      - `expert_name` string, nullable, required
      - `expert_avatar_url` string, nullable, required
      - `agent_name` string, required
      - `graph_id` string, required
      - `execution_id` string, required
      - `library_agent_id` string, nullable, required
      - `status` string, required
      - `summary` string, nullable, required
      - `link` string, nullable, required
      - `expert_role` string, nullable
      - `title` string
      - `detail` string
      - `occurred_at` string, date-time, nullable
      - `duration_seconds` number
      - `cost_cents` integer
      - `schedule_id` string, nullable
      - `webhook_id` string, nullable
    - `decision_items` BriefingDecisionItem[], required
      - `node_exec_id` string, required
      - `graph_exec_id` string, required
      - `title` string, required
      - `expert_id` string, nullable, required
      - `expert_name` string, nullable, required
      - `expert_avatar_url` string, nullable, required
      - `link` string, required
    - `decision_total` integer
    - `completed_total` integer
    - `failed_total` integer
    - `narrative` string, nullable

## Other responses

- `401` — Authentication required

## Changes

- **2026-09-07** `d3946c727d24` — 2 info
  - added the optional property `anyOf[subschema #1: BriefingResponse]/content/run_items/items/schedule_id` to the response with the `200` status
  - added the optional property `anyOf[subschema #1: BriefingResponse]/content/run_items/items/webhook_id` to the response with the `200` status
- **2026-08-13** `a9cde6ae4a2b` — 1 info
  - added the optional property `anyOf[subschema #1: BriefingResponse]/content/narrative` to the response with the `200` status
- **2026-08-13** `26bc66807121` — 8 info
  - added the optional property `anyOf[subschema #1: BriefingResponse]/content/completed_total` to the response with the `200` status
  - added the optional property `anyOf[subschema #1: BriefingResponse]/content/failed_total` to the response with the `200` status
  - added the optional property `anyOf[subschema #1: BriefingResponse]/content/run_items/items/cost_cents` to the response with the `200` status
  - added the optional property `anyOf[subschema #1: BriefingResponse]/content/run_items/items/detail` to the response with the `200` status
  - …4 more
- **2026-08-09** `19919e303780` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server/changes/api/briefings/latest/get.md)

---

[API](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server.md) · [All operations](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server/llms.txt) · [OpenAPI document](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server/revisions/5f27fa9d6c03?raw)
