[{"data":1,"prerenderedAt":7},["ShallowReactive",2],{"docs-entities\u002Ftasks\u002Fflows-get":3,"docs-tabs-entities\u002Ftasks\u002Fflows-get":6},{"content":4,"lastmod":5},"## Get a flow\n\n`GET \u002Fv1\u002Ftasks\u002Fflows\u002F:flowId`\n\nReturns a task flow by ID, together with the settings that the flow list omits.\n\n## Parameters\n\n| Parameter | Type | Required | Description |\n|----------|-----|:-----:|----------|\n| `flowId` (path) | number | yes | Flow ID. List: [`GET \u002Fv1\u002Ftasks\u002Fflows`](\u002Fdocs\u002Fentities\u002Ftasks\u002Fflows-list) |\n\n## Examples\n\n### curl — personal key\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Ftasks\u002Fflows\u002F15\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\"\n```\n\n### curl — OAuth application\n\n```bash\ncurl \"https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Ftasks\u002Fflows\u002F15\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\"\n```\n\n### JavaScript — personal key\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Ftasks\u002Fflows\u002F15', {\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n  },\n})\n\nconst { success, data } = await res.json()\nconsole.log(`${data.name}: ${data.active ? 'enabled' : 'disabled'}`)\n```\n\n### JavaScript — OAuth application\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.com\u002Fv1\u002Ftasks\u002Fflows\u002F15', {\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n  },\n})\n\nconst { success, data } = await res.json()\n```\n\n## Response fields\n\n| Field | Type | Description |\n|------|-----|----------|\n| `success` | boolean | `true` on success |\n| `data.id` | number | Flow ID |\n| `data.creatorId` | number | ID of the employee who created the flow. Get: [`GET \u002Fv1\u002Fusers\u002F:id`](\u002Fdocs\u002Fentities\u002Fusers\u002Fget) |\n| `data.ownerId` | number | ID of the flow administrator. Get: [`GET \u002Fv1\u002Fusers\u002F:id`](\u002Fdocs\u002Fentities\u002Fusers\u002Fget) |\n| `data.groupId` | number | ID of the flow's workgroup. `0` for a demo flow. Get: [`GET \u002Fv1\u002Fworkgroups\u002F:id`](\u002Fdocs\u002Fentities\u002Fworkgroups\u002Fget) |\n| `data.templateId` | number | ID of the template used to create tasks in the flow. `0` means no template. Get: [`GET \u002Fv1\u002Ftask-templates\u002F:templateId`](\u002Fdocs\u002Fentities\u002Ftasks\u002Ftemplates-get) |\n| `data.efficiency` | number | Flow efficiency as a percentage |\n| `data.active` | boolean | `true` means the flow is enabled |\n| `data.plannedCompletionTime` | number | Time to complete a task, in seconds |\n| `data.activity` | string | Date and time of the flow's last activity, ISO 8601 with a time zone offset |\n| `data.name` | string | Flow name |\n| `data.description` | string | Flow description. An empty string when there is no description |\n| `data.distributionType` | string | How tasks reach assignees: `manually` — a moderator distributes them, `queue` — in turn among employees, `himself` — employees take tasks themselves |\n| `data.responsibleList` | array | Who receives the tasks: an array of pairs such as `[\"user\", \"1\"]`, where the second element is the employee ID as a string. With `manually`, this is the moderator. An empty array for a demo flow. List: [`GET \u002Fv1\u002Fusers`](\u002Fdocs\u002Fentities\u002Fusers\u002Flist) |\n| `data.demo` | boolean | `true` means the flow is a Bitrix24 demo flow |\n| `data.responsibleCanChangeDeadline` | boolean | `true` means the assignee can change the task deadline |\n| `data.matchWorkTime` | boolean | `true` means weekends and holidays are skipped when the deadline is calculated |\n| `data.matchSchedule` | boolean | `true` means the deadline is counted only in working hours according to the work schedule, excluding weekends and holidays |\n| `data.taskControl` | boolean | `true` means a completed task goes to the task creator for review |\n| `data.notifyAtHalfTime` | boolean | `true` means the assignee gets a reminder halfway to the deadline |\n| `data.notifyOnQueueOverflow` | number \\| null | The administrator is notified when the number of pending tasks in the flow exceeds this value. `null` means the notification is off |\n| `data.notifyOnTasksInProgressOverflow` | number \\| null | The administrator is notified when the number of tasks in progress exceeds this value. `null` means the notification is off |\n| `data.notifyWhenEfficiencyDecreases` | number \\| null | The administrator is notified when flow efficiency drops below this value, as a percentage. `null` means the notification is off |\n| `data.taskCreators` | array | Who can create tasks in the flow: pairs of the same form as in `responsibleList`. `[\"meta-user\", \"all-users\"]` means all employees |\n| `data.team` | array | Employees who receive the flow's tasks: pairs of the same form as in `responsibleList`. An empty array for a demo flow |\n| `data.trialFeatureEnabled` | boolean | Internal Bitrix24 flag |\n\n## Response example\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": 15,\n    \"creatorId\": 29,\n    \"ownerId\": 29,\n    \"groupId\": 57,\n    \"templateId\": 0,\n    \"efficiency\": 0,\n    \"active\": true,\n    \"plannedCompletionTime\": 432000,\n    \"activity\": \"2025-02-06T16:13:59+00:00\",\n    \"name\": \"Request handling\",\n    \"description\": \"Customer service requests\",\n    \"distributionType\": \"himself\",\n    \"responsibleList\": [\n      [\n        \"user\",\n        \"1\"\n      ]\n    ],\n    \"demo\": false,\n    \"responsibleCanChangeDeadline\": true,\n    \"matchWorkTime\": true,\n    \"matchSchedule\": false,\n    \"taskControl\": true,\n    \"notifyAtHalfTime\": true,\n    \"notifyOnQueueOverflow\": 50,\n    \"notifyOnTasksInProgressOverflow\": 50,\n    \"notifyWhenEfficiencyDecreases\": 70,\n    \"taskCreators\": [\n      [\n        \"meta-user\",\n        \"all-users\"\n      ]\n    ],\n    \"team\": [\n      [\n        \"user\",\n        \"1\"\n      ]\n    ],\n    \"trialFeatureEnabled\": false\n  }\n}\n```\n\n## Error response example\n\n422 — no flow with this ID exists:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"BITRIX_ERROR\",\n    \"message\": \"Flow with this ID does not exist.\",\n    \"b24Code\": \"0\"\n  }\n}\n```\n\nThe `error.message` text comes in the language of the Bitrix24 account.\n\n## Errors\n\n| HTTP | Code | Description |\n|------|-----|----------|\n| 400 | `INVALID_PARAMS` | `flowId` is not a positive integer: `flowId must be a positive safe integer` |\n| 401 | `MISSING_API_KEY` | The `X-Api-Key` header is missing |\n| 401 | `INVALID_API_KEY` | The key is not found |\n| 401 | `TOKEN_MISSING` | The key has no Bitrix24 tokens |\n| 403 | `SCOPE_DENIED` | The key does not have the `task` or `tasks` scope |\n| 422 | `BITRIX_ERROR` | No flow with this `flowId` exists, or it was deleted: `Flow with this ID does not exist.` |\n| 429 | `RATE_LIMITED` | The request rate limit of Bitrix24 or the platform was exceeded. Retry after the delay in the `Retry-After` header |\n\nFull list of common API errors — [Errors](\u002Fdocs\u002Ferrors).\n\n## See also\n\n- [Flows and flow tasks](\u002Fdocs\u002Fentities\u002Ftasks\u002Fflows)\n- [List flows](\u002Fdocs\u002Fentities\u002Ftasks\u002Fflows-list)\n- [Update a flow](\u002Fdocs\u002Fentities\u002Ftasks\u002Fflows-update)\n- [Toggle flow activity](\u002Fdocs\u002Fentities\u002Ftasks\u002Fflows-activate)\n- [List pending flow tasks](\u002Fdocs\u002Fentities\u002Ftasks\u002Fflows-pending)\n- [Tasks](\u002Fdocs\u002Fentities\u002Ftasks)\n","2026-10-20",{},1794739434651]