For AI agents: markdown of this page — /docs-content-en/lists/elements/files.md documentation index — /llms.txt
Element property files
GET /v1/lists/:iblockId/elements/:elementId/files/:fieldId
Returns links to files stored in an element property of the File type.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
iblockId (path) |
string | yes | — | Numeric list identifier IBLOCK_ID or symbolic code IBLOCK_CODE |
elementId (path) |
number | yes | — | Element identifier, a positive integer |
fieldId (path) |
number | yes | — | Numeric property identifier without the PROPERTY_ prefix. For example 1149, not PROPERTY_1149. Property list — List fields |
iblockTypeId (query) |
string | no | lists |
Infoblock type. Values:lists — regular lists, defaultlists_socnet — workgroup listsbitrix_processes — service workflows |
Examples
curl — personal key
curl https://vibecode.bitrix24.com/v1/lists/121/elements/501/files/1149 \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl https://vibecode.bitrix24.com/v1/lists/121/elements/501/files/1149 \
-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/501/files/1149', {
headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})
const { data } = await res.json()
console.log('File links:', data)
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/lists/121/elements/501/files/1149', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { data } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
success |
boolean | Always true on success |
data |
array | Links to the property files. For a non-file property — an empty array |
Response example
A property with no files or of a non-file type returns an empty array:
{
"success": true,
"data": []
}
A property of the File type returns an array of file download links.
Error response example
400 — fieldId passed with the PROPERTY_ prefix:
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "fieldId must be the numeric property id WITHOUT the PROPERTY_ prefix (e.g. 423, not PROPERTY_423)."
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| 400 | INVALID_PARAMS |
fieldId passed with the PROPERTY_ prefix or is not a number |
| 400 | INVALID_PARAMS |
elementId is not a positive integer |
| 400 | INVALID_IBLOCK_TYPE |
iblockTypeId is not in the set lists, bitrix_processes, lists_socnet |
| 403 | BITRIX_ACCESS_DENIED |
No access to the list, or the list does not exist |
| 409 | LISTS_MODULE_NOT_ENABLED |
The "Lists" module is not enabled on the portal |
| 403 | SCOPE_DENIED |
The key lacks the lists scope |
| 401 | TOKEN_MISSING |
The key has no access tokens configured |
The full list of common API errors — Errors.
Known specifics
The property identifier in this route is passed as a bare number without the PROPERTY_ prefix — 1149, not PROPERTY_1149. List field routes address the same property as PROPERTY_<id>. Passing the identifier with the prefix returns 400 INVALID_PARAMS.