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

Storage fields

GET /v1/storages/fields

Returns a map of all storage fields with their type and read-only flag. Every storage field is read-only — this section does not support create or update.

Examples

curl — personal key

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

curl — OAuth application

Terminal
curl "https://vibecode.bitrix24.com/v1/storages/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/storages/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/storages/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, description }) and a batch list of bulk-mode operations. For storages batch is empty — the section is read-only.

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

Field Bitrix24 Type RO Description
id ID number yes Storage identifier
name NAME string yes Storage name
code CODE string | null yes Symbolic code. null on the Bitrix24 accounts we checked
module MODULE_ID string yes Owner module of the storage, disk for Drive
entityType ENTITY_TYPE string yes Owner type: user, group, common
entityId ENTITY_ID string yes Owner identifier. A string, non-numeric for the shared drive, for example shared_files_s1
rootFolderId ROOT_OBJECT_ID number yes Identifier of the storage root folder. List its contents with GET /v1/folders

Response example

JSON
{
  "success": true,
  "data": {
    "fields": {
      "id": { "type": "number", "readonly": true, "label": "ID", "description": "Unique identifier of the Disk storage." },
      "name": { "type": "string", "readonly": true, "label": "Name", "description": "Storage name as displayed to the user." },
      "code": { "type": "string", "readonly": true, "label": "Symbolic code", "description": "Symbolic code of the storage; in practice often absent (null)." },
      "entityType": { "type": "string", "readonly": true, "label": "Owner type", "description": "Type of storage owner — user, group, or company shared drive." },
      "entityId": { "type": "string", "readonly": true, "label": "Owner ID", "description": "Identifier of the storage owner; for the shared drive it may be a non-numeric value." },
      "rootFolderId": { "type": "number", "readonly": true, "label": "Root folder", "description": "ID of the storage's root folder where its content begins." },
      "module": { "type": "string", "readonly": true, "label": "Module", "description": "Code of the module that owns the storage; for Disk — the value disk." }
    },
    "batch": []
  }
}

Error response example

403 — no scope:

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

Errors

HTTP Code Description
403 SCOPE_DENIED The API key does not have the disk scope
401 TOKEN_MISSING The API key has no configured tokens
429 RATE_LIMITED Rate limit exceeded: 300 requests per minute per portal, all API keys of the portal share one limit. The exact value arrives in the x-ratelimit-limit header (the cap is divided across replicas). Retry after the delay in the Retry-After header

The full list of common API errors — Errors.

See also