For AI agents: markdown of this page — /docs-content-en/entities/pages/update.md documentation index — /llms.txt

Update a page

PATCH /v1/pages/:id

Updates fields of an existing page. Pass only the fields you want to change, flat at the root of the JSON — without a fields wrapper. Fields that are not passed keep their current values.

Parameters

Parameter Type Req. Description
id (path) number yes Page identifier

Fields to update (body)

Field Type Description
title string Page title, up to 255 characters
code string Symbolic code of the page. Must not contain /. If the code is already taken on the site — a numeric suffix is added
description string Arbitrary description
siteId number Owner site ID. List: GET /v1/sites
active boolean Page activity. Accepted without error, but the value is not saved — managed in the Bitrix24 account interface, in the Sites section
public string Whether the page is public (Y/N)
sitemap string Include in the sitemap (Y/N)
xmlId string External code
folderId number Folder/section ID of the site
tplId number Template ID

Examples

curl — personal key

Terminal
curl -X PATCH "https://vibecode.bitrix24.com/v1/pages/2295" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Spring sale — updated",
    "description": "Discounts up to 50%"
  }'

curl — OAuth application

Terminal
curl -X PATCH "https://vibecode.bitrix24.com/v1/pages/2295" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Spring sale — updated",
    "description": "Discounts up to 50%"
  }'

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/pages/2295', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    title: 'Spring sale — updated',
    description: 'Discounts up to 50%',
  }),
})

const { success, data } = await res.json()

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/pages/2295', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    title: 'Spring sale — updated',
    description: 'Discounts up to 50%',
  }),
})

const { success, data } = await res.json()

Response fields

The full object of the updated page is returned.

Field Type Description
id number Page identifier
title string Page title
code string Symbolic code of the page
siteId number Site identifier
active boolean Whether the page is active
description string | null Page description
createdById number Identifier of the employee who created it
dateCreate datetime Creation date
dateModify datetime Last modification date (after the update)

Response example

JSON
{
  "success": true,
  "data": {
    "id": 2295,
    "title": "Spring sale — updated",
    "code": "spring-sale",
    "siteId": 3,
    "active": false,
    "description": "Discounts up to 50%",
    "createdById": 1,
    "dateCreate": "08.05.2026 11:49:33",
    "dateModify": "08.05.2026 12:14:08"
  }
}

Error response example

422 — a slash in code:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "Slash is forbidden in the landing address."
  }
}

Errors

HTTP error.code Marker in error.message Description
401 TOKEN_MISSING The API key has no configured tokens
403 BITRIX_ACCESS_DENIED The user does not have permission to change this page
403 SCOPE_DENIED The API key does not have the landing scope
404 ENTITY_NOT_FOUND A page with this id is not found or deleted
422 BITRIX_ERROR Slash is forbidden in the landing address A / character was passed in code
422 BITRIX_ERROR Page address cannot be empty An empty string was passed in code
422 BITRIX_ERROR Invalid page address A value in the __ format was passed in code

Full list of general API errors — Errors.

See also