For AI agents: markdown of this page — /docs-content-en/entities/tasks/flows.md documentation index — /llms.txt
Flows and flow tasks
The nine /v1/tasks/flows routes call the corresponding tasks.flow.* Bitrix24 REST methods. The API key needs the task (or tasks) scope. READONLY keys can read; creating, updating, deleting, and toggling activity require write access.
GET /v1/tasks/flows
POST /v1/tasks/flows
GET /v1/tasks/flows/:flowId
PATCH /v1/tasks/flows/:flowId
DELETE /v1/tasks/flows/:flowId
POST /v1/tasks/flows/:flowId/activate
GET /v1/tasks/flows/:flowId/tasks/completed
GET /v1/tasks/flows/:flowId/tasks/pending
GET /v1/tasks/flows/:flowId/tasks/progress
| HTTP | Route | Bitrix24 method | Forwarded parameters |
|---|---|---|---|
GET |
/v1/tasks/flows |
tasks.flow.Flow.list |
select, filter, order, group, start from the query |
POST |
/v1/tasks/flows |
tasks.flow.Flow.create |
flowData, optional analyticsParams from the JSON body |
GET |
/v1/tasks/flows/:flowId |
tasks.flow.Flow.get |
flowId |
PATCH |
/v1/tasks/flows/:flowId |
tasks.flow.Flow.update |
flowData with id from the path, optional analyticsParams |
DELETE |
/v1/tasks/flows/:flowId |
tasks.flow.Flow.delete |
flowData: { id: flowId } |
POST |
/v1/tasks/flows/:flowId/activate |
tasks.flow.Flow.activate |
flowId |
GET |
/v1/tasks/flows/:flowId/tasks/completed?days=7 |
tasks.flow.Task.Completed.list |
flowData: { id: flowId }, ago: { days: 7 }, optional start |
GET |
/v1/tasks/flows/:flowId/tasks/pending |
tasks.flow.Task.Pending.list |
flowData: { id: flowId }, optional start |
GET |
/v1/tasks/flows/:flowId/tasks/progress |
tasks.flow.Task.Progress.list |
flowData: { id: flowId }, optional start |
flowId is a positive integer. For create and update, send a flowData object with FlowDto fields, such as name, plannedCompletionTime, distributionType, and responsibleList. PATCH takes the identifier from the path; a supplied flowData.id in the body must match it. activate toggles the current state; it does not set a requested value. Calling it again toggles the state again.
For GET /v1/tasks/flows, encode select and group arrays, and filter and order objects, as JSON query strings. Example: ?select=%5B%22ID%22%2C%22NAME%22%5D&filter=%7B%22ACTIVE%22%3A%22Y%22%7D&start=50. Their field names reach Bitrix24 unchanged. start is the native REST pagination offset. VibeCode makes one call and does not combine pages. completed requires a non-negative days value, sent as ago.days. The three task lists stay separate: Bitrix24 determines status and order and returns { tasks, totalCount }.
A successful response is { "success": true, "data": <Bitrix24 result> }. Flow.list returns an array, Flow.get/create/update return an object, Flow.delete returns { "deleted": true }, Flow.activate returns true, and a task list returns { "tasks": [...], "totalCount": N }. Empty and null results are not replaced. Bitrix24 determines the actual object fields.
Invalid path, query, or body input returns 400 INVALID_PARAMS; a missing or invalid key returns 401; missing scope and a READONLY write attempt return 403. Bitrix24 refusals use the common /v1 handler: 422 BITRIX_ERROR, 429 RATE_LIMITED, 502 BITRIX_UNAVAILABLE, 503 BITRIX_TIMEOUT.