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

Page fields

GET /v1/pages/fields

Returns a map of all page fields with their type, label and read-only flag, plus a nullable flag on the fields that can arrive empty. Fields without the read-only flag are writable on create and update.

Examples

curl — personal key

Terminal
curl "https://vibecode.bitrix24.com/v1/pages/fields" \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth application

Terminal
curl "https://vibecode.bitrix24.com/v1/pages/fields" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/pages/fields', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

const { success, data } = await res.json()
console.log('Fields:', Object.keys(data.fields).length)

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/pages/fields', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

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

Response fields

The data object contains a fields map (field name → { type, readonly, label }, with a description on some fields and nullable on the fields that can arrive empty), a batch list of bulk-mode operations, and a set of aggregatable fields for grouping in aggregation.

Field Bitrix24 Type RO Description
Fieldid Bitrix24ID Typenumber ROyes DescriptionPage identifier
Fieldtitle Bitrix24TITLE Typestring RO DescriptionTitle, up to 255 characters
Fieldcode Bitrix24CODE Typestring RO DescriptionSymbolic code in the URL. No /, auto-generated from title
FieldsiteId Bitrix24SITE_ID Typenumber RO DescriptionOwner site. Source: GET /v1/sites
Fieldactive Bitrix24ACTIVE Typeboolean ROyes DescriptionWhether the page is published. Bitrix24 does not accept the field on create or on update, and a new page is always created inactive. Publish through POST /v1/pages/:id/publication and unpublish through POST /v1/pages/:id/unpublish
Fielddescription Bitrix24DESCRIPTION Typestring | null RO DescriptionDescription. null when unset
FieldxmlId Bitrix24XML_ID Typestring | null RO DescriptionExternal code. null when not set
Fielddeleted Bitrix24DELETED Typestring ROyes DescriptionTrash flag: "Y" / "N"
Fieldpublic Bitrix24PUBLIC Typestring RO DescriptionPublic flag: "Y" / "N"
Fieldsys Bitrix24SYS Typestring ROyes DescriptionBitrix24 system page: "Y" / "N"
Fieldviews Bitrix24VIEWS Typenumber ROyes DescriptionView counter
FieldtplId Bitrix24TPL_ID Typenumber | null RO DescriptionTemplate identifier. null when the page uses no template
FieldtplCode Bitrix24TPL_CODE Typestring | null ROyes DescriptionTemplate symbolic code. null when the page uses no template
Fieldsitemap Bitrix24SITEMAP Typestring RO DescriptionInclude in the sitemap: "Y" / "N"
Fieldfolder Bitrix24FOLDER Typestring RO DescriptionWhether the page is a section folder: "Y" / "N"
FieldfolderId Bitrix24FOLDER_ID Typenumber | null RO DescriptionSite section folder identifier. null when the page lies at the root of the site
FieldsearchContent Bitrix24SEARCH_CONTENT Typestring | null ROyes DescriptionIndexable page content for site search. null while the page has not been indexed yet
Fieldversion Bitrix24VERSION Typenumber ROyes DescriptionInternal page structure version
FieldhistoryStep Bitrix24HISTORY_STEP Typenumber ROyes DescriptionInternal change-history field
FieldmodifiedById Bitrix24MODIFIED_BY_ID Typenumber ROyes DescriptionLast editor. Lookup: GET /v1/users
FielddomainId Bitrix24DOMAIN_ID Typenumber ROyes DescriptionSite domain identifier. Not requested by default. In the list (GET /v1/pages) and search (POST /v1/pages/search), an explicit select=domainId is forwarded to Bitrix24 and can return 422 BITRIX_ERROR with the Bitrix24 code SYSTEM_ERROR. In the get-by-ID endpoint (GET /v1/pages/:id), the field is not returned even with an explicit select; id is always returned
FieldinitiatorAppCode Bitrix24INITIATOR_APP_CODE Typestring | null ROyes DescriptionCode of the application that created the page. null for a page created in the Bitrix24 interface
Fieldrule Bitrix24RULE Typestring | null ROyes DescriptionInternal Bitrix24 field. Usually null
FieldcreatedById Bitrix24CREATED_BY_ID Typenumber ROyes DescriptionCreator. Lookup: GET /v1/users
FielddateCreate Bitrix24DATE_CREATE Typedatetime ROyes DescriptionCreation date. A string in the account locale format, not ISO 8601 — see the format block below
FielddateModify Bitrix24DATE_MODIFY Typedatetime ROyes DescriptionLast modification date. Same format as dateCreate
FielddatePublic Bitrix24DATE_PUBLIC Typedatetime | null ROyes DescriptionPublication date, same format as dateCreate. Arrives as null when Bitrix24 has no publication date for the page — the usual case even for a published page. Read active or public to tell whether a page is published

Fields that can be empty

A field Bitrix24 does not always fill carries "nullable": true in the endpoint response, and its type is written as … | null in the table above. There are nine such fields: description, xmlId, tplId, tplCode, folderId, searchContent, initiatorAppCode, rule, datePublic. The value arrives as null — not as an empty string and not as 0 — so check it before parsing. Every other field always has a value.

Date format

Dates are strings in the account locale format, NOT ISO 8601. Bitrix24 returns dateCreate, dateModify and datePublic as strings, and the specific template depends on the regional settings of the account: in the RU locale it is DD.MM.YYYY HH:MM:SS (30.12.2021 12:30:52), in the EN locale it is MM/DD/YYYY hh:mm:ss am/pm (12/30/2021 12:30:52 pm). Vibecode returns the value as is, without normalizing to ISO, in the same format in list and get-by-ID responses — there is no divergence between GET /v1/pages and GET /v1/pages/:id. new Date(value) returns Invalid Date or silently swaps day and month: do not parse the date with a fixed template and do not trust new Date(). The filter needs the same format — see Search pages.

Response example

Besides type and readonly, every field carries a label (short name) and a description, in English. Request headers do not switch the language. A field that can arrive empty additionally carries nullable. In the example below, description is shown on active only — it is omitted from the other fields for brevity.

JSON
{
  "success": true,
  "data": {
    "fields": {
      "id": { "type": "number", "readonly": true, "label": "Page ID" },
      "title": { "type": "string", "readonly": false, "label": "Title" },
      "siteId": { "type": "number", "readonly": false, "label": "Site ID" },
      "active": {
        "type": "boolean",
        "readonly": true,
        "label": "Active",
        "description": "Whether the page is published. Read-only: Bitrix24 does not accept the field on create or on update, and a new page is always created inactive. Publish through POST /v1/pages/:id/publication and unpublish through POST /v1/pages/:id/unpublish."
      },
      "xmlId": { "type": "string", "readonly": false, "nullable": true, "label": "External ID" },
      "datePublic": { "type": "datetime", "readonly": true, "nullable": true, "label": "Published at" }
    },
    "aggregatable": ["siteId", "active", "deleted", "public", "folderId", "tplId", "createdById", "modifiedById"],
    "batch": ["create", "update", "delete"]
  }
}

6 of 27 fields are shown. The full list is in the table above.

Error response example

403 — no scope:

JSON
{
  "success": false,
  "error": {
    "code": "SCOPE_DENIED",
    "message": "This endpoint requires 'landing' scope"
  }
}

Errors

HTTP Code Description
HTTP403 CodeSCOPE_DENIED DescriptionAPI key does not have the landing scope
HTTP401 CodeTOKEN_MISSING DescriptionAPI key has no configured tokens
HTTP429 CodeRATE_LIMITED DescriptionRate limit exceeded: 300 requests per minute per portal. All API keys of the portal share one limit. The current limit is returned in the x-ratelimit-limit header. Retry after the delay in the Retry-After header

For the full list of common API errors, see Errors.

See also