---
title: "Update document metadata."
method: PUT
path: "/api/v1/projects/{projectId}/pages/{pageId}/metadata"
tags: ["Pages Metadata"]
---

# Update document metadata.

`PUT /api/v1/projects/{projectId}/pages/{pageId}/metadata`

## Request

- Base URL: `https://app.customgpt.ai`
- URL: `https://app.customgpt.ai/api/v1/projects/{projectId}/pages/{pageId}/metadata`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/poll-the-people/apis/customgpt-ai/docs/api/v1/projects/:projectId/pages/:pageId/metadata/put.ts> (a function with typed inputs; its response is checked against the schema)

Updates custom metadata fields for a document. Use this to add tags, categories, or other organizational information that helps manage your knowledge base.

## Path parameters

- `projectId` integer, required
- `pageId` integer, required

## Request body

- object
  - `title` string, nullable: The title of the document used in citations
  - `url` string, nullable: The url of the document used in citations
  - `description` string, nullable: The description of the document used in citations
  - `image` string, nullable: The url of the image used in citations

## Response `200`

Get the document metadata data for a citation

- object
  - `status` 'error' | 'success': The status of the response
  - `data` PageMetadata
    - `id` integer: The unique identifier of the document
    - `url` string, nullable: The URL of the document
    - `title` string, nullable: The title of the document
    - `description` string, nullable: The description of the document
    - `summary` string, nullable: The Library Map snapshot of the document, when one was taken. Read-only: ignored when updating the metadata.
    - `image` string, nullable: The image of the document

## Other responses

- `400`: Bad Argument
- `401`: API Token is either missing or invalid
- `404`: Page not found
- `429`: Too many requests. You have exceeded your API rate limit.
- `500`: Internal Server Error

## Changes

- **2026-11-03** `77aab4354382`: 4 warning, 2 info
  - added the new `422.00` enum value to the `data/code` response property for the response status `400`
  - added the new `422.00` enum value to the `data/code` response property for the response status `401`
  - added the new `422.00` enum value to the `data/code` response property for the response status `404`
  - added the new `422.00` enum value to the `data/code` response property for the response status `500`
  - …2 more
- **2026-07-17** `b80e6dfcf78d`: 1 info
  - endpoint added
- **2023-06-02** `1842d7fd0430`: 1 breaking
  - api path removed without deprecation

[Operation history](https://skmtc.dev/poll-the-people/apis/customgpt-ai/changes/api/v1/projects/:projectId/pages/:pageId/metadata/put.md)

---

[API](https://skmtc.dev/poll-the-people/apis/customgpt-ai.md) - [All operations](https://skmtc.dev/poll-the-people/apis/customgpt-ai/llms.txt) - [OpenAPI document](https://skmtc.dev/poll-the-people/apis/customgpt-ai/revisions/77aab4354382?raw)
