---
title: "Update an article"
method: PATCH
path: "/v1/knowledge-base/articles/{id}"
tags: ["Knowledge Center"]
---

# Update an article

`PATCH /v1/knowledge-base/articles/{id}`

## Request

- Base URL: `https://api.vidocu.ai`
- URL: `https://api.vidocu.ai/v1/knowledge-base/articles/{id}`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://vidocu.ai/oauth/authorize`, token URL `https://api.vidocu.ai/oauth/token`)

Locked articles accept only sectionId, state, seo and tagIds. The slug is frozen with the content.

**Scope:** `knowledge_base:write`

**Role permission:** `canEdit` (OAuth only — API keys carry full workspace permissions)

## Path parameters

- `id` string, required

## Request body

- object
  - `sectionId` string
  - `title` string
  - `slug` string
  - `content` string
  - `excerpt` string, nullable
  - `state` 'draft' | 'published' | 'archived'
  - `visibility` 'public' | 'staff' | 'customers'
  - `seo` object
    - `metaTitle` string
    - `metaDescription` string
    - `ogImageUrl` string, uri
    - `canonicalUrl` string, uri
    - `noindex` boolean
  - `tagIds` string[]
  - `linkedVideoId` string, nullable
  - `sourceLocale` string

## Response `200`

Success

## Other responses

- `400`: Validation error
- `401`: Invalid or missing credentials
- `403`: Missing scope (`insufficient_scope`), insufficient role (`insufficient_role`), or quota exhausted (`limit_exceeded`)
- `404`: Not found
- `409`: Slug taken, or the linked video is awaiting approval
- `423`: The article is locked
- `429`: Rate limit exceeded (60 req/min)
- `500`: Server error

---

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