---
title: GET /api/articles/[id]/brief
description: The handoff read — an article's premise plus every note grouped by kind, full bodies rendered, in one call. Backs scripto brief.
---

<Note>

The CLI equivalent is `scripto brief <id>` — the first thing a fresh agent runs to pick up an article.

</Note>

Returns the article's [Brief](/concepts/brief): the `premise` plus every note grouped by kind (full bodies, rendered), so a fresh agent gets oriented in one call. Owner-scoped.

## Endpoint

```text
GET https://scripto.codika.io/api/articles/{id}/brief
```

## Auth

`Authorization: Bearer scripto_…`

## Response (200)

```json
{
  "success": true,
  "data": {
    "article": { "id": "0a1b2c3d-…", "title": "Our launch", "status": "draft" },
    "brief": {
      "premise": "A go-to-market piece: the install is the pitch.",
      "groups": {
        "source": [ { "anchor": "1a2b3c4d", "title": "Medium import docs", "url": "https://…", "html": "…" } ],
        "decision": [ "…" ],
        "idea": [ "…" ],
        "question": [ "…" ]
      }
    }
  }
}
```

## Errors

| HTTP | `code` | Cause |
|---|---|---|
| 401 | `unauthenticated` | Missing or invalid key. |
| 404 | `not-found` | No such article, or you don't own it. |
| 500 | `internal` | Backend error. |

## curl

```bash
curl -sS "https://scripto.codika.io/api/articles/$ID/brief" \
  -H "Authorization: Bearer $SCRIPTO_API_KEY"
```

## Next

- **[PATCH .../brief](/api-reference/set-premise)** — set the premise.
- **[GET .../notes](/api-reference/list-notes)** — the cheap notes map.
