For AI agents: markdown of this page — /docs-content-en/scrum/backlogs/create.md documentation index — /llms.txt

Create a backlog

POST /v1/scrum/backlogs

Creates a backlog in a Scrum project that does not have one. The request body is flat, with no fields wrapper.

Request fields (body)

Field Type Required Description
FieldgroupId Typenumber Requiredyes DescriptionScrum project ID. Group list: GET /v1/workgroups
FieldcreatedBy Typenumber Requiredyes DescriptionCreator user ID. List: GET /v1/users
FieldmodifiedBy Typenumber Requiredno DescriptionID of the user who modified the backlog. List: GET /v1/users

Without createdBy the backlog is not created: the response is 422 BITRIX_ERROR with the message Unable to add backlog.

Examples

curl — personal key

Terminal
curl -X POST https://vibecode.bitrix24.com/v1/scrum/backlogs \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "groupId": 175, "createdBy": 1 }'

curl — OAuth application

Terminal
curl -X POST https://vibecode.bitrix24.com/v1/scrum/backlogs \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "groupId": 175, "createdBy": 1 }'

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/scrum/backlogs', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ groupId: 175, createdBy: 1 }),
})

const { data } = await res.json()
console.log('Backlog ID:', data.id)

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/scrum/backlogs', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ groupId: 175, createdBy: 1 }),
})

const { data } = await res.json()
console.log('Backlog ID:', data.id)

Response fields

Field Type Description
Fieldsuccess Typeboolean Descriptiontrue on successful creation, HTTP status 201
Fielddata.id Typenumber DescriptionID of the created backlog
Fielddata.groupId Typenumber DescriptionScrum project ID
Fielddata.createdBy Typenumber DescriptionCreator user ID
Fielddata.modifiedBy Typenumber DescriptionID of the user who modified the backlog. 0 if modifiedBy is not passed

Response example

JSON
{
  "success": true,
  "data": {
    "id": 43,
    "groupId": 175,
    "createdBy": 1,
    "modifiedBy": 0
  }
}

Error response example

422 — the project already has a backlog:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "Backlog already added",
    "b24Code": "0"
  }
}

Errors

HTTP Code Description
HTTP400 CodeINVALID_PARAMS DescriptiongroupId is missing, a field outside the table is passed, or an ID is not a positive integer
HTTP422 CodeBITRIX_ERROR DescriptionBacklog already added — the project already has a backlog
HTTP422 CodeBITRIX_ERROR DescriptionUnable to add backlog — createdBy is missing or the group is not a Scrum project
HTTP422 CodeBITRIX_ERROR DescriptionAccess denied — no group with this ID exists or there is no access to it
HTTP403 CodeSCOPE_DENIED DescriptionThe key lacks the task scope
HTTP403 CodeWRITE_BLOCKED_READONLY_KEY DescriptionThe key is read-only
HTTP401 CodeTOKEN_MISSING DescriptionThe key has no configured tokens

Full list of common API errors — Errors.

See also