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

List task templates

GET /v1/task-templates

Returns one page of task templates. The filter and the field set are specified with Bitrix24 parameters in params.

Parameters

Parameter Type Required Default Description
Parameterparams (query) Typestring Requiredno Default— DescriptionURL-encoded JSON object of Bitrix24 parameters: filter — selection conditions, select — the field set. Field names are not converted. Example before encoding: {"filter":{"ID":75},"select":["ID","TITLE"]}
Parameterstart (query) Typenumber Requiredno Default0 DescriptionPage offset. For the next page, pass meta.next from the previous response

The method accepts no other query parameters.

Pagination. The response is one page. While the response contains meta.next, request the next page with start equal to meta.next. Pages are not loaded automatically.

Examples

curl — personal key

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

curl — OAuth application

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

const { success, data, meta } = await res.json()
const templates = Object.values(data.task_templates)
console.log('Templates:', templates.map((t) => `${t.ID}: ${t.TITLE}`))
console.log('Next page:', meta.next ?? 'none')

JavaScript — OAuth application

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

const { success, data, meta } = await res.json()

Response fields

Field Type Description
Fieldsuccess Typeboolean Descriptiontrue on success
Fielddata.task_templates Typeobject DescriptionTemplates on the page: the key is the template ID, the value is the template. If there are no templates, the field is an empty array []
Fielddata.task_templates.<id>.ID Typenumber DescriptionTemplate ID
Fielddata.task_templates.<id>.TITLE Typestring DescriptionTemplate title
Fielddata.task_templates.<id>.DESCRIPTION Typestring | null DescriptionTask description
Fielddata.task_templates.<id>.PRIORITY Typestring DescriptionPriority: 0 — low, 1 — normal, 2 — high
Fielddata.task_templates.<id>.CREATED_BY Typestring DescriptionCreator ID. Get: GET /v1/users/:id
Fielddata.task_templates.<id>.RESPONSIBLE_ID Typenumber DescriptionResponsible person ID. If RESPONSIBLE_ID is passed in select, it comes as a string. Get: GET /v1/users/:id
Fielddata.task_templates.<id>.RESPONSIBLES Typearray DescriptionResponsible person IDs. List: GET /v1/users
Fielddata.task_templates.<id>.ACCOMPLICES Typearray DescriptionParticipant IDs. List: GET /v1/users
Fielddata.task_templates.<id>.AUDITORS Typearray DescriptionObserver IDs. List: GET /v1/users
Fielddata.task_templates.<id>.DEPENDS_ON Typearray DescriptionIDs of the tasks the future task depends on. Get: GET /v1/tasks/:id
Fielddata.task_templates.<id>.* Type— DescriptionOther template fields, including user fields UF_*. See Get a task template
Fieldmeta.total Typenumber DescriptionNumber of templates matching the filter
Fieldmeta.next Typenumber Descriptionstart of the next page. Absent on the last page

When a single template is retrieved, ID, RESPONSIBLE_ID and the member lists come as strings.

Response example

The main template fields are shown:

JSON
{
  "success": true,
  "data": {
    "task_templates": {
      "75": {
        "ID": 75,
        "TITLE": "Weekly status report",
        "DESCRIPTION": null,
        "PRIORITY": "1",
        "CREATED_BY": "1295",
        "GROUP_ID": null,
        "RESPONSIBLE_ID": 1295,
        "ACCOMPLICES": [],
        "AUDITORS": [],
        "RESPONSIBLES": [
          1295
        ],
        "DEPENDS_ON": []
      }
    }
  },
  "meta": {
    "total": 1
  }
}

Error response example

400 — a query parameter other than params and start was passed:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "Only params and start are supported"
  }
}

Errors

HTTP Code Description
HTTP400 CodeINVALID_PARAMS DescriptionA query parameter other than params and start was passed. Message Only params and start are supported
HTTP400 CodeINVALID_PARAMS Descriptionparams is not a JSON object. Message params must be a JSON object
HTTP400 CodeINVALID_PARAMS Descriptionstart is not a non-negative integer. Message start must be a non-negative integer
HTTP401 CodeMISSING_API_KEY DescriptionThe X-Api-Key header is missing
HTTP401 CodeTOKEN_MISSING DescriptionThe key has no Bitrix24 tokens
HTTP403 CodeSCOPE_DENIED DescriptionThe key does not have the task scope
HTTP422 CodeBITRIX_ERROR DescriptionBitrix24 rejected the call. The text is in error.message
HTTP429 CodeRATE_LIMITED DescriptionRequest rate exceeded. The effective cap is in the x-ratelimit-limit header

Full list of common API errors — Errors.

See also