لوكلاء AI: ملف markdown لهذه الصفحة — /docs-content-en/scrum/sprints.md فهرس التوثيق — /llms.txt
مقالات التوثيق متاحة حاليًا باللغة الإنجليزية فقط.
Sprints
Read sprints from scrum projects: the full list visible to the key, the project's current active sprint, or one record by ID. A sprint ID is also used by operations on the columns of its board.
Scope: task | Base URL: https://vibecode.bitrix24.com/v1 | Auth: X-Api-Key
List sprints
GET /v1/scrum/sprints
Returns the sprints of the Bitrix24 account's scrum projects. Board stage operations and reading a single sprint need the identifier from the id field.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
ParametergroupId (query) |
Typenumber | Default— | DescriptionScrum project ID. List: GET /v1/workgroups. Without the parameter, the response contains every sprint the key can see |
Parameterlimit (query) |
Typenumber | Default200 |
DescriptionHow many sprints to return, from 1 to 1000 |
Pagination. Pages are fetched automatically — the response arrives as a single array of up to limit records, and the method has no offset parameter. A limit above 1000 is clamped to 1000 without an error.
Examples
curl — personal key
curl https://vibecode.bitrix24.com/v1/scrum/sprints \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl https://vibecode.bitrix24.com/v1/scrum/sprints \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — personal key
const res = await fetch('https://vibecode.bitrix24.com/v1/scrum/sprints', {
headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})
const { data } = await res.json()
const active = data.filter((sprint) => sprint.status === 'active')
console.log(active.map((sprint) => `${sprint.id}: ${sprint.name}`))
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/scrum/sprints', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { data } = await res.json()
console.log(data.map((sprint) => sprint.name))
Response fields
| Field | Type | Description |
|---|---|---|
Fieldsuccess |
Typeboolean | DescriptionAlways true on success |
Fielddata |
Typearray | DescriptionArray of sprints |
Fielddata[].id |
Typenumber | DescriptionSprint ID. The same value as sprintId in stage operations |
Fielddata[].groupId |
Typenumber | DescriptionScrum project ID. List: GET /v1/workgroups |
Fielddata[].entityType |
Typestring | DescriptionRecord type, sprint |
Fielddata[].name |
Typestring | DescriptionSprint name |
Fielddata[].goal |
Typestring | DescriptionSprint goal. An empty string is returned when no goal is set |
Fielddata[].sort |
Typenumber | DescriptionSprint order within the project |
Fielddata[].createdBy |
Typenumber | DescriptionID of the sprint author. List: GET /v1/users |
Fielddata[].modifiedBy |
Typenumber | DescriptionID of the user who last changed the sprint. List: GET /v1/users |
Fielddata[].dateStart |
Typestring | DescriptionSprint start in ISO 8601 with the account's UTC offset |
Fielddata[].dateEnd |
Typestring | DescriptionSprint end in ISO 8601 with the account's UTC offset |
Fielddata[].status |
Typestring | Descriptionplanned, active or completed |
Response example
{
"success": true,
"data": [
{
"id": 9,
"groupId": 45,
"entityType": "sprint",
"name": "Sprint 2",
"goal": "",
"sort": 0,
"createdBy": 29,
"modifiedBy": 29,
"dateStart": "2023-09-01T01:00:00+00:00",
"dateEnd": "2024-04-16T12:20:42+00:00",
"status": "completed"
},
{
"id": 11,
"groupId": 45,
"entityType": "sprint",
"name": "Sprint 3",
"goal": "",
"sort": 0,
"createdBy": 29,
"modifiedBy": 29,
"dateStart": "2023-09-15T01:00:00+00:00",
"dateEnd": "2023-09-29T01:00:00+00:00",
"status": "active"
},
{
"id": 21,
"groupId": 53,
"entityType": "sprint",
"name": "Sprint 6",
"goal": "",
"sort": 0,
"createdBy": 1,
"modifiedBy": 1,
"dateStart": "2024-06-05T01:00:00+00:00",
"dateEnd": "2024-06-19T01:00:00+00:00",
"status": "active"
}
]
}
Error response example
400 — an invalid groupId value:
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "groupId must be a positive integer"
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| HTTP400 | CodeINVALID_PARAMS |
DescriptiongroupId is not a positive integer |
| HTTP400 | CodeINVALID_PARAMS |
Descriptionlimit is not a positive integer |
| HTTP422 | CodeBITRIX_ERROR |
DescriptionBitrix24 returned an error, e.g. "Access denied" when the key's user has no access to the scrum project |
| HTTP403 | CodeSCOPE_DENIED |
DescriptionThe key lacks the task scope |
| HTTP401 | CodeTOKEN_MISSING |
DescriptionThe key has no tokens configured |
The full list of common API errors — Errors.
Known specifics
- Without
groupIdthe sprints of different projects are interleaved. The response is not grouped by project, so split the result on your side by each record'sgroupIdfield. - Completed sprints stay in the result. The response is not limited to the project's current sprint. If you only need the current one, use
GET /v1/scrum/sprints/active.