---
title: "Update a shared authored brief"
method: PUT
path: "/v1/editorial/briefs/{briefId}"
tags: ["editorial"]
---

# Update a shared authored brief

`PUT /v1/editorial/briefs/{briefId}`

## Request

- Base URL: `https://api.cueframe.ai`
- URL: `https://api.cueframe.ai/v1/editorial/briefs/{briefId}`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://api.cueframe.ai/api/auth/mcp/authorize`, token URL `https://api.cueframe.ai/api/auth/mcp/token`, scopes: `projects:write`)
  - API key in header `PAYMENT-SIGNATURE`

Required permission: projects:write

## Path parameters

- `briefId` string, required

## Request body

- EditorialBriefUpdateRequest
  - `commandId` string, required
  - `brief` object, required
    - `id` string, required
    - `projectId` string, required
    - `goal` string, required
    - `name` string
    - `audience` string
    - `platform` string
    - `durationSec` number
    - `tone` string
    - `cta` string
    - `locale` string
    - `hook` string
    - `caption` string
    - `mustIncludes` string[]
    - `references` string[]
    - `format` union
      - string
      - number
      - boolean
      - union[]
        - union
          - string
          - number
          - boolean
          - union[]
            - union
              - …
          - object
      - object
    - `beats` union
      - string
      - number
      - boolean
      - union[]
        - union
          - string
          - number
          - boolean
          - union[]
            - union
              - …
          - object
      - object
    - `captions` union
      - string
      - number
      - boolean
      - union[]
        - union
          - string
          - number
          - boolean
          - union[]
            - union
              - …
          - object
      - object
    - `motionStyle` union
      - string
      - number
      - boolean
      - union[]
        - union
          - string
          - number
          - boolean
          - union[]
            - union
              - …
          - object
      - object
    - `seededGraphics` union
      - string
      - number
      - boolean
      - union[]
        - union
          - string
          - number
          - boolean
          - union[]
            - union
              - …
          - object
      - object
    - `exclusions` union
      - string
      - number
      - boolean
      - union[]
        - union
          - string
          - number
          - boolean
          - union[]
            - union
              - …
          - object
      - object
    - `gates` union
      - string
      - number
      - boolean
      - union[]
        - union
          - string
          - number
          - boolean
          - union[]
            - union
              - …
          - object
      - object
    - `audio` union
      - string
      - number
      - boolean
      - union[]
        - union
          - string
          - number
          - boolean
          - union[]
            - union
              - …
          - object
      - object
  - `expectedRevision` string, required

## Response `200`

Shared brief updated.

## Other responses

- `400`: Bad request — validation_error / invalid_cursor / invalid_query.
- `401`: Missing or invalid Authorization header.
- `402`: Payment required. Returned when the caller presents no API key on a priced operation: the body AND the `Payment-Required` header carry the x402 v2 challenge (accepted scheme, network, USDC asset, amount, payTo). Sign the EIP-3009 authorization and retry with a `PAYMENT-SIGNATURE` header. A KEYED caller sees this status instead when their plan lacks or has exhausted the feature (`billing_required`).
- `403`: Forbidden — permission insufficient.
- `404`: Resource not found.
- `409`: Conflict — stale_etag / idempotency_conflict / suggestions_already_complete.
- `422`: Unprocessable — invalid_composition / media_in_use / session_in_use / render_not_cancellable.
- `429`: Rate limited. Retry-After header present.
- `500`: Internal error.

---

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