---
title: "Update a content item"
method: PATCH
path: "/content/{id}"
tags: ["Content"]
---

# Update a content item

`PATCH /content/{id}`

## Request

- Base URL: `https://app.pencil.ink/api/v1`
- URL: `https://app.pencil.ink/api/v1/content/{id}`
- Auth: HTTP bearer

Requires a `write` key.

## Request body

- ContentUpdate
  - `title` string
  - `description` string
  - `body` string
  - `stage` 'idea' | 'draft' | 'script' | 'review' | 'publish'
  - `priority` 'urgent' | 'high' | 'medium' | 'low'
  - `projectId` string
  - `agentId` string
  - `dueAt` integer: Epoch ms.

## Response `200`

A single content item.

- object
  - `data` Content
    - `id` string
    - `title` string
    - `description` string, nullable
    - `stage` 'idea' | 'draft' | 'script' | 'review' | 'publish'
    - `body` string, nullable
    - `priority` 'urgent' | 'high' | 'medium' | 'low'
    - `projectId` string, nullable
    - `agentId` string, nullable
    - `assigneeId` string, nullable
    - `tags` string[]
    - `dueAt` integer, nullable: Epoch ms.
    - `isBlocked` boolean
    - `autoAdvance` boolean, nullable
    - `createdAt` integer: Epoch ms.
    - `updatedAt` integer, nullable: Epoch ms.

## Other responses

- `400`: Malformed request or invalid field (`validation_error`).
- `401`: Missing or invalid API key (`unauthorized`).
- `403`: The key is read-only and may not write (`forbidden`).
- `404`: Resource not found in this org (`not_found`).

---

[API](https://skmtc.dev/pencil/apis/pencil-public-api.md) · [All operations](https://skmtc.dev/pencil/apis/pencil-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pencil/apis/pencil-public-api/revisions/2b842698b76d?raw)
