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

Template list

GET /v1/bizproc-templates

Returns the business process templates created in the Bitrix24 account, with filtering, sorting, and pagination. Without select, records contain the full declared field set (including id); use select only to narrow the response to specific fields.

Parameters

Parameter Type Default Description
select (query) string Comma-separated fields: id, moduleId, entity, documentType, autoExecute, name, description, modified, isModified, userId. Without select, the full declared field set is returned
filter (query) object Filtering by the fields of GET /v1/bizproc-templates/fields.
Filtering syntax. Example: ?filter[entity]=BizprocDocument
order (query) object Sorting. Example: ?order[id]=desc
limit (query) number 50 Number of records in the response
offset (query) number 0 Offset from the start of the selection

For a limit greater than 50 the request is paginated on the server side. The maximum is 5000 records per call.

Examples

Templates can be read only with an authorization key — both examples send the authorization key and the Authorization: Bearer header. The session token is issued by OAuth authorization, is valid for 24 hours, and cannot be renewed — Passing the key.

curl — authorization key

Terminal
curl -X GET "https://vibecode.bitrix24.com/v1/bizproc-templates?select=id,name,moduleId,entity,autoExecute&limit=2" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — authorization key

javascript
const params = new URLSearchParams({
  select: 'id,name,moduleId,entity,autoExecute',
  limit: '2',
})

const res = await fetch(`https://vibecode.bitrix24.com/v1/bizproc-templates?${params}`, {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

const { success, data, meta } = await res.json()
console.log(`Templates in the account: ${meta.total}`)

Response fields

Field Type Description
success boolean Always true on success
data array Array of templates. The fields of each element are defined by select, the full schema is in Template fields
meta.total number Number of templates matching the filter
meta.hasMore boolean Whether there are records beyond limit

Response example

JSON
{
  "success": true,
  "data": [
    {
      "id": 23,
      "name": "Contract approval",
      "moduleId": "lists",
      "entity": "BizprocDocument",
      "autoExecute": 1
    },
    {
      "id": 25,
      "name": "Purchase request",
      "moduleId": "lists",
      "entity": "BizprocDocument",
      "autoExecute": 1
    }
  ],
  "meta": {
    "total": 81,
    "hasMore": true
  }
}

Error response example

403 — the request was sent with an API key:

JSON
{
  "success": false,
  "error": {
    "code": "OAUTH_REQUIRED",
    "message": "bizproc-templates require an OAuth app key (vibe_app_*) with an Authorization: Bearer session — a personal vibe_api_* key lacks the per-user OAuth context Bitrix24 needs for these methods. Create an OAuth app (POST /v1/apps) and retry with its key. On this 403 switch keys — do NOT delete or recreate the app (that discards anything already registered under it, e.g. a bizproc robot you just registered)."
  }
}

Errors

HTTP Code Description
403 OAUTH_REQUIRED The request was sent with an API key. Templates can be read only with an authorization key
401 TOKEN_MISSING Authorization key without the Authorization: Bearer header
401 WRONG_AUTH_SCHEME The authorization key was sent in the Authorization: Bearer header. The key goes in X-Api-Key, while Authorization: Bearer carries the session token
401 INVALID_SESSION The session token has expired or is invalid — authorize again
403 SCOPE_DENIED The key lacks the bizproc scope

Full list of common API errors — Errors.

Known specifics

The template file is not returned in the response. The .bpt content passed in the templateData field on creation cannot be read back through the API — neither in the list nor through select. Keep the original file on your side.

The documentType field is assembled from moduleId and entity. Request all three fields together — otherwise the first two elements of the array arrive as null: select=id,documentType returns [null, null, "iblock_19"], while select=id,documentType,moduleId,entity returns ["lists", "BizprocDocument", "iblock_19"].

An unknown field name in select, filter, or order does not raise an error. The response arrives with code 200 and the unknown name is dropped: in select the field is simply absent from the records, in filter the result set is not narrowed. Check field names against the select row in the parameters table or against the schema at GET /v1/bizproc-templates/fields.

See also