Documentation Index

Fetch the complete documentation index at: https://apidocs.document360.com/llms.txt

Use this file to discover all available pages before exploring further.

Update a published article

Prev Next

Once an article is published, its content is locked to the published version. To change it you create a new draft version, apply your edits, and publish again. In v3 this is streamlined with the auto_fork option.

Note

To edit a published article, send your update with auto_fork: true — the API creates a new draft version and applies the change to it in one call. Editing a published version without auto_fork returns 422.

Recommended: update with auto_fork

Send a PATCH request with the fields you want to change and auto_fork: true. Only the fields you include are modified.

PATCH /v3/projects/{project_id}/articles/{article_id}?lang_code=en
curl --request PATCH "https://apihub.document360.io/v3/projects/{project_id}/articles/{article_id}?lang_code=en" \
  --header "X-API-Key: YOUR_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "title": "Getting Started with Single Sign-On (Updated)",
    "content": "# Introduction\nThis updated guide walks you through configuring SSO.",
    "auto_fork": true
  }'
Field Description
title New article title.
content New body, in Markdown or HTML per the article's content type.
category_id Move the article to a different category.
order Reposition the article within its category.
hidden true or false to hide or show the article.
version_number Target a specific draft version to update.
auto_fork When true and the target version is published, a new draft is created automatically.
translation_option Translation state for the language.

A successful update returns 200 OK. When auto_fork created a new draft, the response shows the new draft version_number, and the previously published version remains under public_version.

{
  "success": true,
  "request_id": "req_abc123def456",
  "data": {
    "id": "9a3b4c5d-6e7f-8a9b-0c1d-2e3f4a5b6c7d",
    "title": "Getting Started with Single Sign-On (Updated)",
    "version_number": 3,
    "public_version": 2,
    "latest_version": 3,
    "status": "draft",
    "lang_code": "en"
  }
}
Tip

Only the fields present in the request are changed. Omit any field you do not want to modify.

Note

The body must contain at least one recognised field, or the request returns 422. Field names are case-sensitive and use snake_case — a misspelled field is not silently ignored.

Alternative: fork explicitly, then update

If you prefer to control versioning yourself, fork the article first, then update the resulting draft, then publish it.

1. Fork the published version into a new draft. This returns 201 Created with the new draft version.

POST /v3/projects/{project_id}/articles/{article_id}/fork?lang_code=en

# Body is optional. Omit it to fork the currently published version,
# or specify a version:
{ "version_number": 2 }

2. Update the new draft (without auto_fork, since it is already a draft).

3. Publish it using POST /v3/projects/{project_id}/articles/{article_id}/publish with the new version_number.