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

Site fields

GET /v1/sites/fields

Returns a map of all site fields with their type, read-only flag, label and description. Fields without that flag are writable on create and update.

Examples

curl — personal key

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

curl — OAuth application

Terminal
curl "https://vibecode.bitrix24.com/v1/sites/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/sites/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/sites/fields', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

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

Response fields

Field Type Description
Fieldsuccess Typeboolean DescriptionAlways true on success
Fielddata.fields Typeobject DescriptionMap of site fields: the key is the field name, the value describes the field. The fields are listed in the table below
Fielddata.fields.<field>.type Typestring DescriptionValue type: number, string, boolean or datetime
Fielddata.fields.<field>.readonly Typeboolean Descriptiontrue — the field is read-only and is not sent on create or update
Fielddata.fields.<field>.required Typeboolean DescriptionPresent and set to true on the fields required on create: title and code
Fielddata.fields.<field>.nullable Typeboolean DescriptionPresent and set to true on the fields whose value may be absent
Fielddata.fields.<field>.label Typestring DescriptionField label
Fielddata.fields.<field>.description Typestring DescriptionField description
Fielddata.fields.type.enum Typearray DescriptionAllowed values of the type field. Each value is an object with the value and label keys
Fielddata.aggregatable Typearray DescriptionFields you can group by in aggregation
Fielddata.batch Typearray DescriptionOperations available in batch mode

All 22 fields carry a label and a description. The nullable: true key is present on eight fields: description, xmlId, landingIdIndex, landingId404, landingId503, tplCode, smnSiteId, lang. What an absent value looks like for each of them is shown in the table below.

The label and description values are returned in English. Request headers do not switch the language.

Site fields in the data.fields map:

Field Type RO Description
Fieldid Typenumber ROyes DescriptionSite identifier
Fieldtitle Typestring RO DescriptionName, up to 255 characters
Fieldcode Typestring RO DescriptionSymbolic code in the URL
Fieldtype Typestring RO DescriptionSite type: PAGE, STORE, KNOWLEDGE — created via the API. Responses may also contain VIBE and SMN
Fieldactive Typeboolean ROyes DescriptionWhether the site is active. Read-only: Bitrix24 does not store the value on create or on update, so sending the field is refused with 400 READONLY_FIELD. A site is activated by POST /v1/sites/:id/publication or by publishing it in the interface
FielddomainId Typenumber RO DescriptionDomain identifier
Fielddescription Typestring | null RO DescriptionDescription, up to 255 characters. null if not set
FieldxmlId Typestring | null RO DescriptionExternal identifier. null if not set
FieldlandingIdIndex Typenumber | null RO DescriptionHome page. Set on update, after the pages are created
FieldlandingId404 Typenumber | null RO Description404 error page. If not assigned — 0 or null
FieldlandingId503 Typenumber | null RO Description503 error page. If not assigned — 0 or null
Fielddeleted Typestring ROyes DescriptionRecycle bin flag: "Y" / "N"
FieldcreatedById Typenumber ROyes DescriptionCreator. Lookup: GET /v1/users
FieldmodifiedById Typenumber ROyes DescriptionLast editor. Lookup: GET /v1/users
FielddateCreate Typedatetime ROyes DescriptionCreation date. Bitrix24 locale format, not ISO 8601
FielddateModify Typedatetime ROyes DescriptionLast modification date. Bitrix24 locale format
FieldtplId Typenumber ROyes DescriptionSite template identifier
FieldtplCode Typestring | null ROyes DescriptionTemplate symbolic code. null if the template has no code
FieldsmnSiteId Typestring | null ROyes DescriptionLinked "Site Management" site of type SMN. null for regular sites
Fieldlang Typestring | null ROyes DescriptionLanguage code, for example en. null if not set
Fieldspecial Typestring ROyes DescriptionBitrix24 service flag: "Y" / "N"
Fieldversion Typenumber ROyes DescriptionVersion of the site's internal structure

Response example

JSON
{
  "success": true,
  "data": {
    "fields": {
      "id": {
        "type": "number",
        "readonly": true,
        "label": "Site ID",
        "description": "Unique numeric identifier of the site."
      },
      "title": {
        "type": "string",
        "readonly": false,
        "required": true,
        "label": "Title",
        "description": "Site name, up to 255 characters. Required on create."
      },
      "type": {
        "type": "string",
        "readonly": false,
        "label": "Site type",
        "description": "Site type. PAGE/STORE/KNOWLEDGE are creatable via the API (KNOWLEDGE needs scope: \"KNOWLEDGE\" on create and update). VIBE (a site built in the constructor) and SMN (a link with the \"Site Management\" module) appear in responses only and are read-only.",
        "enum": [
          { "value": "PAGE", "label": "Landing" },
          { "value": "STORE", "label": "Online store" },
          { "value": "KNOWLEDGE", "label": "Knowledge base 2.0" },
          { "value": "VIBE", "label": "Constructor site (read-only)" },
          { "value": "SMN", "label": "Site Management link (read-only)" }
        ]
      },
      "active": {
        "type": "boolean",
        "readonly": true,
        "label": "Active",
        "description": "Whether the site is active. Read-only: Bitrix24 stores the value neither on create nor on update — landing.site.add and landing.site.update do not declare the field, a new site is always created inactive, and a live round-trip on both verbs answered with a success while the flag stayed off. A site is activated by POST /v1/sites/:id/publication or by publishing it in the Bitrix24 interface."
      },
      "description": {
        "type": "string",
        "readonly": false,
        "nullable": true,
        "label": "Description",
        "description": "Site description, up to 255 characters. Comes back as null when not set."
      }
    },
    "aggregatable": ["type", "active", "deleted", "lang", "tplId", "domainId", "createdById", "modifiedById"],
    "batch": ["create", "update", "delete"]
  }
}

5 of 22 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 DescriptionThe API key does not have the landing scope
HTTP401 CodeTOKEN_MISSING DescriptionThe API 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