stayhomer.png

Treat without the trick!

Be brave and face your Redmine fears Horribly awesome discounts wait for you!

Halloween special offer has begun!

REST API Agile Sprint

Sprints are available in the REST API in XML and JSON. Reading (index, show) needs the View issues permission and the Agile module enabled in the project. Creating, updating and deleting needs the Manage sprints permission (PRO). Pass the API key as ?key=YOUR_API_KEY or in the X-Redmine-API-Key header.

List sprints

GET /projects/PROJECT_ID/agile_sprints.xml
GET /projects/PROJECT_ID/agile_sprints.json
Parameter Description
name part of the sprint name
status open, active or closed
from sprints ending on or after this date
to sprints starting on or before this date; together with from you get the sprints overlapping the interval
include_shared 1 adds sprints shared into the project from other projects
limit, offset paging, default limit is 25

A date that cannot be parsed gives 422 Unprocessable Entity.

Example: GET /projects/agile/agile_sprints.json?status=active&include_shared=1&limit=10

{
  "project_id": 1,
  "project_name": "Agile",
  "sprints": [
    {
      "id": 3,
      "project_id": 1,
      "name": "Sprint 46",
      "description": "",
      "start_date": "2026-10-19",
      "end_date": "2026-10-30",
      "status": "active",
      "sharing": "none" 
    }
  ],
  "total_count": 1,
  "offset": 0,
  "limit": 10
}

Show a sprint

GET /projects/PROJECT_ID/agile_sprints/SPRINT_ID.xml
GET /projects/PROJECT_ID/agile_sprints/SPRINT_ID.json

The answer has the sprint fields and the sums over its visible issues: story_points, done_ratio and, for users who can view time entries, estimated_hours and spent_hours. Add ?include=issues to get the list of issues (id, subject, hours, story_points, done_ratio).

Example: GET /projects/agile/agile_sprints/3.json?include=issues

Create a sprint

POST /projects/PROJECT_ID/agile_sprints.json?key=YOUR_API_KEY
{
  "agile_sprint": {
    "name": "Sprint 46",
    "start_date": "2026-10-19",
    "end_date": "2026-10-30",
    "status": 0,
    "sharing": 0
  }
}

status: 0 open, 1 active, 2 closed. sharing: 0 none, 1 descendants, 2 hierarchy, 3 tree, 4 system. The answer is 201 Created with the sprint. Sprint dates cannot overlap with other sprints of the project unless the sprint is shared or overlapping is allowed in the plugin settings; a sprint with open issues cannot be closed.

Update a sprint

PUT /projects/PROJECT_ID/agile_sprints/SPRINT_ID.json?key=YOUR_API_KEY
{
  "agile_sprint": {
    "name": "New name" 
  }
}

The answer is 204 No Content.

Delete a sprint

DELETE /projects/PROJECT_ID/agile_sprints/SPRINT_ID.json?key=YOUR_API_KEY

The issues of the deleted sprint stay, they are only unlinked from it.

Example: DELETE /projects/agile/agile_sprints/67.json

To assign an issue to a sprint see REST API Agile data. To read the history of issues, including sprint changes, see REST API issues timeline.

Was this article helpful? Yes  No
1687 from 1733 found this helpful