Sprints
This chapter focuses on services for the sprints.
Get all sprints
A GET to /sprints returns all the sprints that the user is allowed to read.
HTTP request
GET /api/rest/latest/sprints?size=2&page=0 HTTP/1.1
Accept: application/json
Host: localhost:8080
Query parameters
| Parameter | Description |
|---|---|
|
number of the page to retrieve (optional) |
|
size of the page to retrieve (optional) |
|
which attributes of the returned entities should be sorted on (optional) |
|
which fields of the elements should be returned (optional) |
|
which type of the element should be returned (optional) |
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1066
{
"_embedded" : {
"sprints" : [ {
"_type" : "sprint",
"id" : 256,
"name" : "sample sprint",
"reference" : "sample reference",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/sprints/256"
}
}
}, {
"_type" : "sprint",
"id" : 257,
"name" : "sample sprint 2",
"reference" : "sample reference 2",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/sprints/257"
}
}
} ]
},
"_links" : {
"first" : {
"href" : "http://localhost:8080/api/rest/latest/sprints?page=0&size=2"
},
"self" : {
"href" : "http://localhost:8080/api/rest/latest/sprints?page=0&size=2"
},
"next" : {
"href" : "http://localhost:8080/api/rest/latest/sprints?page=1&size=2"
},
"last" : {
"href" : "http://localhost:8080/api/rest/latest/sprints?page=1&size=2"
}
},
"page" : {
"size" : 2,
"totalElements" : 4,
"totalPages" : 2,
"number" : 0
}
}
Response fields
| Path | Type | Description |
|---|---|---|
|
|
the list of elements for that page |
|
|
the page size for that query |
|
|
total number of elements the user is allowed to read |
|
|
how many pages can be browsed |
|
|
the page number |
|
|
related links |
Links
| Relation | Description |
|---|---|
|
link to the first page (optional) |
|
link to the previous page (optional) |
|
link to this page |
|
link to the next page (optional) |
|
link to the last page (optional) |
Get sprint
A GET to /sprints/{id} returns the sprint with the given id.
Path parameters
| Parameter | Description |
|---|---|
|
the id of the sprint |
HTTP request
GET /api/rest/latest/sprints/256 HTTP/1.1
Accept: application/json
Host: localhost:8080
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1396
{
"_type" : "sprint",
"id" : 256,
"name" : "sample sprint",
"reference" : "my ref",
"description" : "my description",
"status" : "OPEN",
"start_date" : "2025-06-10T10:00:00.000+00:00",
"end_date" : "2025-06-24T10:00:00.000+00:00",
"created_by" : "admin",
"created_on" : "2024-10-01T10:00:00.000+00:00",
"last_modified_by" : "another user",
"last_modified_on" : "2025-05-12T10:00:00.000+00:00",
"project" : {
"_type" : "project",
"id" : 19,
"name" : "the project for sprints",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/projects/19"
}
}
},
"path" : "/the project for sprints/the sprint group/sample sprint",
"parent" : {
"_type" : "sprint-group",
"id" : 1,
"name" : "the sprint group",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/sprint-groups/1"
}
}
},
"sprint_req_versions" : [ {
"_type" : "sprint-req-version",
"id" : 247,
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/sprint-req-versions/247"
}
}
} ],
"is_synchronized" : "false",
"attachments" : [ ],
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/sprints/256"
},
"project" : {
"href" : "http://localhost:8080/api/rest/latest/projects/19"
}
}
}
Response fields
| Path | Type | Description |
|---|---|---|
|
|
the type of this entity |
|
|
the id of this sprint |
|
|
the name of this sprint |
|
|
the reference of this sprint |
|
|
the description of this sprint |
|
|
the status of this sprint |
|
|
the start date of this sprint |
|
|
the end date of this sprint |
|
|
the user who created this sprint |
|
|
the date the sprint was created |
|
|
the user who last modified this sprint |
|
|
the date the sprint was last modified |
|
|
the project this sprint belongs to |
|
|
the path of this sprint |
|
|
the parent entity of this sprint |
|
|
the sprint requirement versions of this sprint |
|
|
indicates if the sprint is synchronized (true) or native (false) |
|
|
the attachments of this sprint |
|
|
related links |
Links
| Relation | Description |
|---|---|
|
link to this sprint |
|
link to the project of this sprint |
Get test plan of a sprint
A GET to /sprints/{id}/test-plan returns the test plan of the sprint with the given id.
Path parameters
| Parameter | Description |
|---|---|
|
the id of the iteration |
HTTP request
GET /api/rest/latest/sprints/1/test-plan?size=2&page=1 HTTP/1.1
Accept: application/json
Host: localhost:8080
Query parameters
| Parameter | Description |
|---|---|
|
number of the page to retrieve (optional) |
|
size of the page to retrieve (optional) |
|
which attributes of the returned entities should be sorted on (optional) |
|
which fields of the elements should be returned (optional) |
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 5652
{
"_embedded" : {
"test-plan" : [ {
"_type" : "test-plan-item",
"id" : 4,
"execution_status" : "READY",
"referenced_test_case" : {
"_type" : "test-case",
"id" : 8,
"name" : "sample test case 8",
"reference" : "TC-8",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/test-cases/8"
}
}
},
"referenced_dataset" : {
"_type" : "dataset",
"id" : 90,
"name" : "sample dataset 90",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/datasets/90"
}
}
},
"last_executed_by" : "User-1",
"last_executed_on" : "2017-06-25T10:00:00.000+00:00",
"assigned_to" : "User-1",
"executions" : [ {
"_type" : "execution",
"id" : 2,
"execution_status" : "BLOCKED",
"last_executed_by" : "User-1",
"last_executed_on" : "2017-06-24T10:00:00.000+00:00",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/executions/2"
}
}
}, {
"_type" : "execution",
"id" : 3,
"execution_status" : "SUCCESS",
"last_executed_by" : "User-1",
"last_executed_on" : "2017-06-25T10:00:00.000+00:00",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/executions/3"
}
}
} ],
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/test-plan-items/4"
}
}
}, {
"_type" : "test-plan-item",
"id" : 12,
"execution_status" : "READY",
"referenced_test_case" : {
"_type" : "scripted-test-case",
"id" : 16,
"name" : "scripted test case 16",
"reference" : "TC-16",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/test-cases/16"
}
}
},
"referenced_dataset" : {
"_type" : "dataset",
"id" : 12,
"name" : "sample dataset 12",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/datasets/12"
}
}
},
"last_executed_by" : "User-1",
"last_executed_on" : "2017-06-28T10:00:00.000+00:00",
"assigned_to" : "User-1",
"executions" : [ {
"_type" : "scripted-execution",
"id" : 9,
"execution_status" : "FAILURE",
"last_executed_by" : "User-1",
"last_executed_on" : "2017-06-26T10:00:00.000+00:00",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/executions/9"
}
}
}, {
"_type" : "scripted-execution",
"id" : 35,
"execution_status" : "SUCCESS",
"last_executed_by" : "User-1",
"last_executed_on" : "2017-06-28T10:00:00.000+00:00",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/executions/35"
}
}
} ],
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/test-plan-items/12"
}
}
}, {
"_type" : "test-plan-item",
"id" : 13,
"execution_status" : "READY",
"referenced_test_case" : {
"_type" : "keyword-test-case",
"id" : 17,
"name" : "keyword test case 17",
"reference" : "TC-17",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/test-cases/17"
}
}
},
"referenced_dataset" : {
"_type" : "dataset",
"id" : 13,
"name" : "sample dataset 13",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/datasets/13"
}
}
},
"last_executed_by" : "User-1",
"last_executed_on" : "2017-06-28T10:00:00.000+00:00",
"assigned_to" : "User-1",
"executions" : [ {
"_type" : "keyword-execution",
"id" : 9,
"execution_status" : "FAILURE",
"last_executed_by" : "User-1",
"last_executed_on" : "2017-06-26T10:00:00.000+00:00",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/executions/9"
}
}
}, {
"_type" : "keyword-execution",
"id" : 35,
"execution_status" : "SUCCESS",
"last_executed_by" : "User-1",
"last_executed_on" : "2017-06-28T10:00:00.000+00:00",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/executions/35"
}
}
} ],
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/test-plan-items/13"
}
}
} ]
},
"_links" : {
"first" : {
"href" : "http://localhost:8080/api/rest/latest/sprints/1/test-plan?page=0&size=2"
},
"prev" : {
"href" : "http://localhost:8080/api/rest/latest/sprints/1/test-plan?page=0&size=2"
},
"self" : {
"href" : "http://localhost:8080/api/rest/latest/sprints/1/test-plan?page=1&size=2"
},
"next" : {
"href" : "http://localhost:8080/api/rest/latest/sprints/1/test-plan?page=2&size=2"
},
"last" : {
"href" : "http://localhost:8080/api/rest/latest/sprints/1/test-plan?page=2&size=2"
}
},
"page" : {
"size" : 2,
"totalElements" : 6,
"totalPages" : 3,
"number" : 1
}
}
Response fields
| Path | Type | Description |
|---|---|---|
|
|
the list of elements for that page |
|
|
the page size for that query |
|
|
total number of elements the user is allowed to read |
|
|
how many pages can be browsed |
|
|
the page number |
|
|
related links |
Links
| Relation | Description |
|---|---|
|
link to the first page (optional) |
|
link to the previous page (optional) |
|
link to this page |
|
link to the next page (optional) |
|
link to the last page (optional) |
Create a sprint
A POST to /sprints creates a new sprint.
HTTP request
POST /api/rest/latest/sprints HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 330
Host: localhost:8080
{
"name" : "Sprint created by API",
"reference" : "ABCD",
"status" : "OPEN",
"description" : "<p>Sed eget rhoncus sapien. Nam et pulvinar nisi. su Do</p>",
"start_date" : "2025-05-29T10:00:00.000+00:00",
"end_date" : "2025-06-13T10:00:00.000+00:00",
"parent" : {
"_type" : "campaign-folder",
"id" : 103
}
}
Request fields
| Path | Type | Description |
|---|---|---|
|
|
the name of the sprint |
|
|
the reference of the sprint |
|
|
the status of the sprint |
|
|
the description of the sprint |
|
|
the start date of the sprint |
|
|
the end date of the sprint |
|
|
the parent entity of the sprint |
HTTP response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 1162
{
"_type" : "sprint",
"id" : 885,
"name" : "new sprint",
"reference" : "new ref",
"description" : "<p>New description</p>",
"status" : "UPCOMING",
"start_date" : "2025-05-29T10:00:00.000+00:00",
"end_date" : "2025-06-13T10:00:00.000+00:00",
"created_by" : "admin",
"created_on" : "2024-10-01T10:00:00.000+00:00",
"last_modified_by" : "another user",
"last_modified_on" : "2025-05-12T10:00:00.000+00:00",
"project" : {
"_type" : "project",
"id" : 76,
"name" : "the project for new sprints",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/projects/76"
}
}
},
"path" : "/the project for new sprints/the parent campaign folder/new sprint",
"parent" : {
"_type" : "campaign-folder",
"id" : 103,
"name" : "the parent campaign folder",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/campaign-folders/103"
}
}
},
"sprint_req_versions" : [ ],
"is_synchronized" : "false",
"attachments" : [ ],
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/sprints/885"
}
}
}
Response fields
| Path | Type | Description |
|---|---|---|
|
|
the type of the created sprint |
|
|
the id of the created sprint |
|
|
the name of the created sprint |
|
|
the reference of the created sprint |
|
|
the description of the created sprint |
|
|
the status of the created sprint |
|
|
the start date of the created sprint |
|
|
the end date of the created sprint |
|
|
the project the created sprint belongs to |
|
|
the parent entity of the created sprint |
|
|
the user who created the sprint |
|
|
the date the sprint was created |
|
|
the user who last modified the sprint |
|
|
the date the sprint was last modified |
|
|
the path of the created sprint |
|
|
the sprint requirement versions |
|
|
indicates if the sprint is synchronized |
|
|
the attachments of the sprint |
|
|
related links |
Links
| Relation | Description |
|---|---|
|
the link to the created sprint |
Modify a sprint
A PATCH to /sprints/{id} modifies the sprint with the given id.
HTTP request
PATCH /api/rest/latest/sprints/762 HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 232
Host: localhost:8080
{
"name" : "New name",
"reference" : "New reference",
"status" : "OPEN",
"description" : "<p>This is my new description</p>",
"start_date" : "2025-05-29T10:00:00.000+00:00",
"end_date" : "2025-06-13T10:00:00.000+00:00"
}
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1084
{
"_type" : "sprint",
"id" : 762,
"name" : "New name",
"reference" : "New reference",
"description" : "<p>This is my new description</p>",
"status" : "OPEN",
"start_date" : "2025-05-29T10:00:00.000+00:00",
"end_date" : "2025-06-13T10:00:00.000+00:00",
"created_by" : "admin",
"created_on" : "2024-10-01T10:00:00.000+00:00",
"last_modified_by" : "another user",
"last_modified_on" : "2025-05-12T10:00:00.000+00:00",
"project" : {
"_type" : "project",
"id" : 76,
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/projects/76"
}
}
},
"path" : "/the project for new sprints/the parent campaign folder/New name",
"parent" : {
"_type" : "campaign-folder",
"id" : 108,
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/campaign-folders/108"
}
}
},
"sprint_req_versions" : [ ],
"is_synchronized" : "false",
"attachments" : [ ],
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/sprints/762"
}
}
}
Delete sprints
A DELETE to /sprints/{ids} deletes one or several sprints with the given ids.
Path parameters
| Parameter | Description |
|---|---|
|
the sprint ids to delete |
HTTP request
DELETE /api/rest/latest/sprints/44,59 HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080
Create a sprint req version
A POST to /sprints/{id}/requirements/{requirementIds} creates new sprint req version(s) for the sprint with the given id. They are linked to requirements with {requirementIds}.
Path parameters
| Parameter | Description |
|---|---|
|
the sprint id |
|
the requirement ids |
HTTP request
POST /api/rest/latest/sprints/123/requirements/12,23,34 HTTP/1.1
Accept: application/json
Host: localhost:8080
Content-Type: application/x-www-form-urlencoded
HTTP response
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 1353
{
"_type" : "sprint",
"id" : 123,
"name" : "native sprint",
"reference" : null,
"description" : null,
"status" : "UPCOMING",
"start_date" : null,
"end_date" : null,
"created_by" : "admin",
"created_on" : "2024-10-01T10:00:00.000+00:00",
"last_modified_by" : "another user",
"last_modified_on" : "2025-05-12T10:00:00.000+00:00",
"project" : null,
"parent" : {
"_type" : "sprint-group",
"id" : 456,
"name" : "native sprint group",
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/sprint-groups/456"
}
}
},
"sprint_req_versions" : [ {
"_type" : "sprint-req-version",
"id" : 789,
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/sprint-req-versions/789"
}
}
}, {
"_type" : "sprint-req-version",
"id" : 790,
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/sprint-req-versions/790"
}
}
}, {
"_type" : "sprint-req-version",
"id" : 791,
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/sprint-req-versions/791"
}
}
} ],
"is_synchronized" : "false",
"attachments" : [ ],
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/sprints/123"
}
}
}
Get issues of a sprint
A GET to /sprints/{id}/issues returns all the issues of the sprint with the given id.
Path parameters
| Parameter | Description |
|---|---|
|
the id of the sprint |
HTTP request
GET /api/rest/latest/sprints/456/issues HTTP/1.1
Accept: application/json
Host: localhost:8080
Query parameters
| Parameter | Description |
|---|---|
|
number of the page to retrieve (optional) |
|
size of the page to retrieve (optional) |
|
which fields of the elements should be returned (optional) |
HTTP response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1154
{
"_embedded" : {
"issues" : [ {
"remoteIssueId" : "981351896",
"url" : "https://gitlab.com/sample-group/sample-project/issues/15",
"executions" : [ {
"_type" : "execution",
"id" : 2,
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/executions/2"
}
}
}, {
"_type" : "execution",
"id" : 3,
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/executions/3"
}
}
} ]
}, {
"remoteIssueId" : "988465282",
"url" : "https://gitlab.com/sample-group/sample-project/issues/16",
"executions" : [ {
"_type" : "execution",
"id" : 8,
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/executions/8"
}
}
} ]
} ]
},
"_links" : {
"self" : {
"href" : "http://localhost:8080/api/rest/latest/sprints/456/issues?page=0&size=20"
}
},
"page" : {
"size" : 20,
"totalElements" : 2,
"totalPages" : 1,
"number" : 0
}
}
Response fields
| Path | Type | Description |
|---|---|---|
|
|
the issues of this sprint |
|
|
the remote issue id of the issue linked to the entity. |
|
|
the URL of the issue linked to the entity. |
|
|
the executions linked to the entity. |
|
|
the page size for that query |
|
|
total number of elements the user is allowed to read |
|
|
how many pages can be browsed |
|
|
the page number |
|
|
related links |
Links
| Relation | Description |
|---|---|
|
link to the first page (optional) |
|
link to the previous page (optional) |
|
link to this page |
|
link to the next page (optional) |
|
link to the last page (optional) |