لوكلاء AI: ملف markdown لهذه الصفحة — /docs-content-en/lists/elements.md فهرس التوثيق — /llms.txt
مقالات التوثيق متاحة حاليًا باللغة الإنجليزية فقط.
Elements
Work with list rows: retrieve elements with filtering, create, update, and delete them, and get links to files from element properties. Custom property values are addressed by PROPERTY_<id> keys.
Bitrix24 API: lists.element.*
Scope: lists
List elements
GET /v1/lists/:iblockId/elements
Returns list elements with filtering and pagination.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
ParameteriblockId (path) |
Typestring | Requiredyes | Default— | DescriptionNumeric list identifier IBLOCK_ID or symbolic code IBLOCK_CODE |
ParameteriblockTypeId (query) |
Typestring | Requiredno | Defaultlists |
DescriptionInfoblock type. Values:lists — regular lists, defaultlists_socnet — workgroup listsbitrix_processes — service workflowsstructure — company-structure type (holds the built-in absence-calendar iblock absence) |
Parameterfilter (query) |
Typestring | Requiredno | Default— | DescriptionJSON filter object over element fields. Key is the field name, value is the condition. Example: ?filter={"NAME":"%report%"}. Important: pass the WHOLE filter in a single form — either bracket notation or one JSON object. A mixed envelope (?filter[NAME]=x&filter=) and a bracket condition deeper than two levels are rejected with 400 INVALID_FILTER: parsing such a query string would irrecoverably drop half of the conditions. An empty ?filter= means "no filter". A field that cannot be filtered on is rejected with 422 BITRIX_ERROR. A filter on ACTIVE is accepted and applied: a value other than Y or N returns an empty array. |
Parameterselect (query) |
Typestring | Requiredno | Default— | DescriptionComma-separated list of returned fields. A custom property is requested as PROPERTY_<id>. Example: ?select=ID,NAME,PROPERTY_1149. A name the list does not return causes no error: that field is simply absent from the response. ID is always returned, even when it is not in select |
Parameterstart (query) |
Typenumber | Requiredno | Default0 | DescriptionOffset from the start of the result set, for pagination |
Parameteroffset (query) |
Typenumber | Requiredno | Default0 | DescriptionAlias of start. Applied when start is not passed AND the value is greater than zero — zero addresses the same first page as no offset at all |
Place the operator before the field name: no prefix — ordinary comparison, = — exact equality, ! — inequality, % — contains a substring, !% — does not contain a substring, >, >=, <, <= — comparison, >< — within a range, !>< — outside a range, * — partial full-text search. Supply a two-value array for a range. Examples: filter={"=NAME":"Report"}, filter={"%NAME":"report"}, filter={">=ID":500}, filter={"><ID":[500,1000]}. Encode JSON and special characters in the URL with URLSearchParams or curl --get --data-urlencode.
Examples
curl — personal key
curl https://vibecode.bitrix24.com/v1/lists/121/elements \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl https://vibecode.bitrix24.com/v1/lists/121/elements \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — personal key
const res = await fetch('https://vibecode.bitrix24.com/v1/lists/121/elements', {
headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})
const { data, meta } = await res.json()
console.log(`Elements: ${meta.total}`, data)
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/lists/121/elements', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { data, meta } = await res.json()
Response fields
The set of fields in the response is not fixed: some fields named in select may not come back, and elements of the same list carry different sets of keys. A missing field means neither an empty value nor N. The activity flag ACTIVE is not returned, with or without select. To get only active elements, filter with ?filter={"ACTIVE":"Y"}.
| Field | Type | Description |
|---|---|---|
Fieldsuccess |
Typeboolean | DescriptionAlways true on success |
Fielddata |
Typearray | DescriptionArray of list elements |
Fielddata[].ID |
Typestring | DescriptionElement identifier |
Fielddata[].NAME |
Typestring | DescriptionElement name |
Fielddata[].IBLOCK_SECTION_ID |
Typestring or null | DescriptionSection identifier, null for an element outside sections |
Fielddata[].PROPERTY_<id> |
Typeobject | DescriptionCustom property values. Key is the property identifier from List fields. The value shape is described in the "Known specifics" section |
Fieldmeta.total |
Typenumber | DescriptionTotal number of elements matching the filter |
Response example
System fields are shown. Custom properties are returned under PROPERTY_<id> keys — their shape is shown in Get element.
{
"success": true,
"data": [
{ "ID": "501", "NAME": "Sample element", "IBLOCK_SECTION_ID": null },
{ "ID": "502", "NAME": "Draft", "IBLOCK_SECTION_ID": "12" }
],
"meta": { "total": 2 }
}
Error response example
403 — no access to the list:
{
"success": false,
"error": {
"code": "BITRIX_ACCESS_DENIED",
"message": "No permission to view and edit the list."
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| HTTP400 | CodeINVALID_IBLOCK_TYPE |
DescriptioniblockTypeId is not in the set lists, bitrix_processes, lists_socnet, structure |
| HTTP400 | CodeINVALID_FILTER |
DescriptionThe filter parameter is not valid JSON. An ambiguous envelope is rejected as well: the bracket form and JSON in one request (in either order), two spellings of one condition, or a bracket condition deeper than two levels — half of the conditions are irrecoverably lost during parsing, so the request is refused rather than half-applied. |
| HTTP400 | CodeINVALID_PARAMS |
Descriptionstart or offset is not a non-negative integer. Such a value used to be dropped silently, and the page served was not the one asked for |
| HTTP422 | CodeBITRIX_ERROR |
Descriptionfilter names a field that cannot be filtered on. The error text names the field: Filter field not allowed: <field> |
| HTTP422 | CodeBITRIX_ERROR |
DescriptionUnsupported filter operator. error.b24Code is ERROR_ARGUMENT, and the message names the operator: Filter operation not allowed: <operator> |
| HTTP403 | CodeBITRIX_ACCESS_DENIED |
DescriptionNo access to the list. As measured on 2026-09-02, a list that does not exist at this address returns 404, but Bitrix24 also returns this code when permissions are genuinely missing |
| HTTP404 | CodeLIST_NOT_FOUND |
DescriptionNo list with the given iblockId exists. Bitrix24 reports this with a machine code, so an absent list is distinguishable from a permission refusal |
| HTTP409 | CodeLISTS_MODULE_NOT_ENABLED |
DescriptionThe "Lists" module is not enabled on the portal |
| HTTP403 | CodeSCOPE_DENIED |
DescriptionThe key lacks the lists scope |
| HTTP401 | CodeTOKEN_MISSING |
DescriptionThe key has no access tokens configured |
For the full list of common API errors, see Errors.
Known specifics
Custom property values arrive under PROPERTY_<id> keys as a map from value identifier to value. The same shape is shown in detail in Get element.