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

Create a sprint

POST /v1/scrum/sprints

Creates a sprint in a scrum project. The request body is flat, with no fields wrapper.

Request fields (body)

Field Type Required Description
FieldgroupId Typenumber Requiredyes DescriptionScrum project ID. List of groups: GET /v1/workgroups
Fieldname Typestring Requiredyes DescriptionSprint name
FielddateStart Typestring | number Requiredyes DescriptionSprint start: a date 2026-11-02 or a Unix timestamp
FielddateEnd Typestring | number Requiredyes DescriptionSprint end: a date 2026-11-16 or a Unix timestamp
Fieldstatus Typestring Requiredyes Descriptionplanned, active or completed
FieldcreatedBy Typenumber Requiredyes DescriptionID of the sprint author. List: GET /v1/users
FieldmodifiedBy Typenumber Requiredno DescriptionID of the user who changed the sprint. If omitted, it equals createdBy. List: GET /v1/users
Fieldsort Typenumber Requiredno DescriptionSprint order within the project. Defaults to 0

If name or createdBy is missing, the sprint is not created and the response is 422 BITRIX_ERROR with the message Unable to add sprint.

Examples

curl — personal key

Terminal
curl -X POST https://vibecode.bitrix24.com/v1/scrum/sprints \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "groupId": 211,
    "name": "Sprint 12",
    "dateStart": "2026-11-02",
    "dateEnd": "2026-11-16",
    "status": "planned",
    "createdBy": 1317
  }'

curl — OAuth application

Terminal
curl -X POST https://vibecode.bitrix24.com/v1/scrum/sprints \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "groupId": 211,
    "name": "Sprint 12",
    "dateStart": "2026-11-02",
    "dateEnd": "2026-11-16",
    "status": "planned",
    "createdBy": 1317
  }'

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/scrum/sprints', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    groupId: 211,
    name: 'Sprint 12',
    dateStart: '2026-11-02',
    dateEnd: '2026-11-16',
    status: 'planned',
    createdBy: 1317,
  }),
})

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

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/scrum/sprints', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    groupId: 211,
    name: 'Sprint 12',
    dateStart: '2026-11-02',
    dateEnd: '2026-11-16',
    status: 'planned',
    createdBy: 1317,
  }),
})

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

Response fields

Field Type Description
Fieldsuccess Typeboolean Descriptiontrue on successful creation, HTTP status 201
Fielddata Typeobject DescriptionThe created sprint
Fielddata.id Typenumber DescriptionSprint ID
Fielddata.groupId Typenumber DescriptionScrum project ID
Fielddata.entityType Typestring DescriptionRecord type, sprint
Fielddata.name Typestring DescriptionSprint name
Fielddata.goal Typestring DescriptionSprint goal. An empty string until a goal is set
Fielddata.sort Typenumber DescriptionSprint order within the project
Fielddata.createdBy Typenumber DescriptionID of the sprint author
Fielddata.modifiedBy Typenumber DescriptionID of the user who last changed the sprint
Fielddata.dateStart Typestring DescriptionSprint start in ISO 8601 format
Fielddata.dateEnd Typestring DescriptionSprint end in ISO 8601 format
Fielddata.status Typestring Descriptionplanned, active or completed

Response example

JSON
{
  "success": true,
  "data": {
    "id": 53,
    "groupId": 211,
    "entityType": "sprint",
    "name": "Sprint 12",
    "goal": "",
    "sort": 0,
    "createdBy": 1317,
    "modifiedBy": 1317,
    "dateStart": "2026-11-02T00:00:00+00:00",
    "dateEnd": "2026-11-16T00:00:00+00:00",
    "status": "planned"
  }
}

Error response example

422 — name or createdBy is missing:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "Unable to add sprint",
    "b24Code": "0"
  }
}

Errors

HTTP Code Description
HTTP400 CodeINVALID_PARAMS DescriptiongroupId, dateStart, dateEnd or status is missing, a field not listed in the table is passed, status is outside the allowed values, or an ID is not a positive integer
HTTP422 CodeBITRIX_ERROR DescriptionUnable to add sprint — name or createdBy is missing
HTTP422 CodeBITRIX_ERROR DescriptionAccess denied — no group with this ID exists, it is not a scrum project, 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 tokens configured

The full list of common API errors — Errors.

See also