---
title: "Update an API Product Document"
method: PATCH
path: "/v2/api-products/{apiProductId}/documents/{id}"
tags: ["API Product Documentation"]
---

# Update an API Product Document

`PATCH /v2/api-products/{apiProductId}/documents/{id}`

Updates a document for an API product.

## Request body

- UpdateAPIProductDocumentDTO — a document payload
  - `parent_document_id` string, uuid, nullable — Parent document Id. If this value is explicitly set to null, the document will be put as a top level document at the bottom of the tree.
  - `slug` string, nullable — document slug. must be unique accross documents belonging to an api product
  - `status` 'published' | 'unpublished'
  - `title` string, nullable — document title
  - `content` string, nullable — Can be markdown string content or base64 encoded string
  - `metadata` object

## Response `200`

API product document

- APIProductDocument — an api product document
  - `id` string, uuid, required
  - `parent_document_id` string, uuid, nullable, required
  - `title` string, required
  - `slug` string, required
  - `status` 'unpublished' | 'published', required
  - `metadata` object, required
  - `content` string, required — The unencoded markdown string of the api product document.
  - `created_at` string, date-time, required — An ISO-8601 timestamp representation of entity creation date.
  - `updated_at` string, date-time, required — An ISO-8601 timestamp representation of entity update date.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict - `slug` property must be unique
- `415` — Unsupported Media Type

## Changes

> 52 revisions in range; 2 could not be searched.

- **2025-10-29** `19e869275e28` — 1 warning
  - added the new `type` enum value to the `allOf[subschema #2]/invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterStandard]/rule` response property for the response status `400`
- **2025-08-22** `96118a9cd7f4` — 6 breaking, 3 info
  - the response property `allOf[subschema #2]/invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterChoiceItem]/source` became nullable for the status `400`
  - the response property `allOf[subschema #2]/invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterDependentItem]/source` became nullable for the status `400`
  - the response property `allOf[subschema #2]/invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterMaximumLength]/source` became nullable for the status `400`
  - the response property `allOf[subschema #2]/invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterMinimumLength]/source` became nullable for the status `400`
  - …5 more
- **2025-02-10** `d833d4dbb1fa` — 1 warning
  - added the new `missing_reference` enum value to the `allOf[subschema #2]/invalid_parameters/items/oneOf[#/components/schemas/InvalidParameterStandard]/rule` response property for the response status `400`
- …earlier changes not shown

[Full history](https://skmtc.dev/kong/apis/konnect-api/changes/v2/api-products/:apiProductId/documents/:id/patch.md)

---

[API](https://skmtc.dev/kong/apis/konnect-api.md) · [All operations](https://skmtc.dev/kong/apis/konnect-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/kong/konnect-api/revisions/72502a676a92/schema)
