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

Inventory document fields

GET /v1/catalog-documents/fields

Returns the schema of all inventory document fields. Helps build the request body for creating and updating a document.

Parameters

Parameter Type Default Description
Parameterrefresh (query) Typestring Defaultfalse DescriptionPass true to get the schema bypassing the cache. Example: ?refresh=true

Examples

curl — personal key

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

curl — OAuth application

Terminal
curl "https://vibecode.bitrix24.com/v1/catalog-documents/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/catalog-documents/fields', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

const { success, data } = await res.json()
const required = Object.entries(data.fields)
  .filter(([, field]) => field.required)
  .map(([name]) => name)
console.log('Required on create:', required)

JavaScript — OAuth application

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

const { success, data } = await res.json()
const required = Object.entries(data.fields)
  .filter(([, field]) => field.required)
  .map(([name]) => name)
console.log('Required on create:', required)

Response fields

Field Type Description
Fieldsuccess Typeboolean DescriptionAlways true on success
Fielddata.fields Typeobject DescriptionMap of document fields: the key is the field name, the value is its description
Fielddata.fields.<field>.type Typestring DescriptionValue type: number, string, datetime
Fielddata.fields.<field>.readonly Typeboolean Descriptiontrue — the field is filled by the system and is not accepted on create or update
Fielddata.fields.<field>.createOnly Typeboolean DescriptionPresent with the value true on fields that are set only on create. On update such a field is rejected with 400 READONLY_FIELD
Fielddata.fields.<field>.required Typeboolean DescriptionPresent with the value true on fields required on create
Fielddata.fields.<field>.label Typestring DescriptionField caption
Fielddata.fields.<field>.description Typestring DescriptionField description
Fielddata.batch Typestring[] DescriptionOperations available in bulk mode via Batch: create, update, delete
Fieldmeta.warnings Typearray DescriptionPresent only if the full field schema could not be retrieved from Bitrix24. Contains an object with the code fields_partial and a message string: the response holds only the fields from the Vibecode schema, and some captions may be missing. Retry the request

For most fields, label and description contain the field name itself, and the docType description lists the document types.

Document fields:

Field Type RO Description
Fieldid Typenumber ROyes DescriptionDocument ID
FielddocType Typestring RO DescriptionDocument type: A — receipt, S — stock adjustment, M — transfer, R — return, D — write-off. Required on create, set only on create
Fieldcurrency Typestring RO DescriptionDocument currency. Required on create, set only on create. List: GET /v1/currencies
FieldresponsibleId Typenumber RO DescriptionResponsible employee. Required on create. List: GET /v1/users
Fieldstatus Typestring ROyes DescriptionConducting status: Y — conducted, N — not conducted. Changed by conducting and canceling conducting
FielddateStatus Typedatetime ROyes DescriptionDate the conducting status changed. For a new document it matches the creation date
FieldcreatedBy Typenumber RO DescriptionEmployee who created the document. Set only on create. List: GET /v1/users
FielddateCreate Typedatetime ROyes DescriptionCreation date
Fieldtitle Typestring RO DescriptionDocument title
FielddocNumber Typestring RO DescriptionDocument number. null if not set
Fieldcommentary Typestring RO DescriptionComment. null if not set
FielddateDocument Typedatetime RO DescriptionDocument date. null if not set
FieldsiteId Typestring RO DescriptionBitrix24 account site ID. If not passed on create, s1 is used
Fieldtotal Typenumber RO DescriptionDocument total. Not calculated from the items: if the total is not set, it stays null even after conducting
FieldmodifiedBy Typenumber RO DescriptionEmployee who last modified the document. List: GET /v1/users
FieldstatusBy Typenumber RO DescriptionEmployee who changed the conducting status. null until the status changes. List: GET /v1/users
FielddateModify Typedatetime RO DescriptionLast modification date

Dates are returned in ISO 8601 format in UTC, for example 2026-10-12T13:20:16.000Z.

Response example

JSON
{
  "success": true,
  "data": {
    "fields": {
      "id": {
        "type": "number",
        "readonly": true,
        "label": "id",
        "description": "id"
      },
      "docType": {
        "type": "string",
        "readonly": false,
        "createOnly": true,
        "required": true,
        "label": "docType",
        "description": "Document type: A receipt, S stock adjustment, M transfer, R return, D write-off. Bitrix24 excludes U and W from the REST type list."
      },
      "currency": {
        "type": "string",
        "readonly": false,
        "createOnly": true,
        "required": true,
        "label": "currency",
        "description": "currency"
      },
      "responsibleId": {
        "type": "number",
        "readonly": false,
        "required": true,
        "label": "responsibleId",
        "description": "responsibleId"
      },
      "status": {
        "type": "string",
        "readonly": true,
        "label": "status",
        "description": "status"
      },
      "dateStatus": {
        "type": "datetime",
        "readonly": true,
        "label": "dateStatus",
        "description": "dateStatus"
      },
      "createdBy": {
        "type": "number",
        "readonly": false,
        "createOnly": true,
        "label": "createdBy",
        "description": "createdBy"
      },
      "dateCreate": {
        "type": "datetime",
        "readonly": true,
        "label": "dateCreate",
        "description": "dateCreate"
      },
      "title": {
        "type": "string",
        "readonly": false,
        "label": "title",
        "description": "title"
      },
      "docNumber": {
        "type": "string",
        "readonly": false,
        "label": "docNumber",
        "description": "docNumber"
      },
      "commentary": {
        "type": "string",
        "readonly": false,
        "label": "commentary",
        "description": "commentary"
      },
      "dateDocument": {
        "type": "datetime",
        "readonly": false,
        "label": "dateDocument",
        "description": "dateDocument"
      },
      "siteId": {
        "type": "string",
        "readonly": false,
        "label": "siteId",
        "description": "siteId"
      },
      "total": {
        "type": "number",
        "readonly": false,
        "label": "total",
        "description": "total"
      },
      "modifiedBy": {
        "type": "number",
        "readonly": false,
        "label": "modifiedBy",
        "description": "modifiedBy"
      },
      "statusBy": {
        "type": "number",
        "readonly": false,
        "label": "statusBy",
        "description": "statusBy"
      },
      "dateModify": {
        "type": "datetime",
        "readonly": false,
        "label": "dateModify",
        "description": "dateModify"
      }
    },
    "batch": [
      "create",
      "update",
      "delete"
    ]
  }
}

Error response example

401 — API key not passed:

JSON
{
  "success": false,
  "error": {
    "code": "MISSING_API_KEY",
    "message": "API key required. Pass via X-Api-Key header."
  }
}

Errors

HTTP Code Description
HTTP401 CodeMISSING_API_KEY DescriptionThe X-Api-Key header is not passed
HTTP401 CodeINVALID_API_KEY DescriptionThe passed API key was not found
HTTP401 CodeTOKEN_MISSING DescriptionThe API key has no configured tokens
HTTP403 CodeSCOPE_DENIED DescriptionThe API key does not have the catalog scope
HTTP429 CodeRATE_LIMITED DescriptionRate limit exceeded: 300 requests per minute per portal, all API keys of the portal share one limit. The effective value is in the x-ratelimit-limit header. Retry after the delay in the Retry-After header

Full list of common API errors — Errors.

See also