---
title: Generate Brief
api: POST /brands/{brand_id}/brief
description: "Generate a content brief from a queue item. Returns 202 — poll for completion."
---

> **For AI agents:** the complete documentation index is at [llms.txt](https://docs.boringmarketing.com/llms.txt). Append `.md` to any page URL for its markdown version.

Generates a structured content brief from a queue item. The brief includes strategy, outline, section guidance, and brand context.

<Note>
Requires a valid API key with available daily calls. There is no separate gating beyond the standard tier call limit — every paid tier (Builder, Pro, Agency) can produce briefs.
</Note>

## Path parameters

<ParamField path="brand_id" type="string" required>
  The brand UUID.
</ParamField>

## Request body

<ParamField body="queue_item_id" type="string" required>
  The queue item ID from `GET /brands/{id}/queue`.
</ParamField>

## Response (202 Accepted)

```json
{
  "run_id": "brief-run-uuid",
  "status": "queued"
}
```

**Duration:** 1-3 minutes. Poll `GET /brands/{id}/runs/{run_id}`.

After completion, fetch the brief via `GET /brands/{id}/briefs`.

## Example

<CodeGroup>
```bash cURL
curl -X POST \
  -H "X-API-Key: $BM_API_KEY" \
  -H "Content-Type: application/json" \
  https://api.boringmarketing.com/brands/$BRAND_ID/brief \
  -d '{"queue_item_id": "qi-uuid-1"}'
```

```python Python
resp = httpx.post(
    f"https://api.boringmarketing.com/brands/{brand_id}/brief",
    headers={"X-API-Key": api_key, "Content-Type": "application/json"},
    json={"queue_item_id": "qi-uuid-1"},
)
brief_run_id = resp.json()["run_id"]
```
</CodeGroup>
