Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

How to Start and Stop a Jira Sprint via REST API And Easier Way

There's a feature Jira doesn't expose in its native automation engine: starting and stopping sprints programmatically. You can automate almost everything else: transitions, assignments, notifications, field updates, but sprint state changes have always required either a manual click in the UI or an API call.

There is an easier way to handle this without touching the API at all. We'll get to that at the end. But if you want to understand what's happening under the hood, or if you're building a script or integration that needs full control, here's how to do it properly from scratch.

What you need before you start

This isn't a beginner task. To follow this guide you'll need:

  • An Atlassian API token: generate one at id.atlassian.com under Security - API tokens

  • Your Jira Cloud base URL the your-domain.atlassian.net part

  • Basic comfort with making HTTP requests, if you've never done this before, Jira has a built-in REST API browser you can use directly in your browser. Navigate to https://your-domain.atlassian.net/rest/api/latest to explore available endpoints. To actually send requests, use the Atlassian API documentation interactive console it lets you fill in parameters and fire requests without installing anything. 

  • The sprint ID you want to start or stop, we'll show you how to find this

If any of those feel unfamiliar, the no-code approach at the end of this article is probably the better path.

Step 1. Find your sprint ID

In Jira Cloud, there's no board ID sitting in the URL the way older Jira Server versions had it. The reliable way to find it is through the API directly.

Call the boards endpoint to list all boards your account can access:

Use the same Basic Auth header as described above. The response returns a list of boards with their IDs, names, and types. Find your Scrum board by name and note its id value.

If you have many boards and want to filter by project, add a query parameter:

Once you have the board ID, use it to list the sprints on that board:

The response returns each sprint's id, name, and state. Note the ID of the sprint you want to start. To find an active sprint you want to stop, change the filter to ?state=active.

Step 2. Start the sprint

A sprint can only be started if it's currently in future state and has both a startDate and endDate set. The endpoint is:

With this request body:

json

{ "state": "active", "startDate": "2025-05-05T09:00:00.000Z", "endDate": "2025-05-19T09:00:00.000Z" }

A successful response returns 200 OK with the updated sprint object. If the sprint is missing dates or is already active, you'll get a 400 Bad Request with an error message explaining why.

Step 3. Stop the sprint

Closing a sprint uses the same endpoint and the same PUT method. The sprint must be in active state. Jira sets the completeDate automatically to the time of the request, you don't need to pass it.

Request body:

json

{ "state": "closed" }

A 200 OK response confirms the sprint is closed. Any incomplete issues remain in the backlog until you move them manually or handle them with a follow-up call.

What can go wrong

A few things trip people up consistently:

403 Forbidden: your API token user doesn't have board admin permissions. The permission check for sprint management via API is the same as in the UI.

400 Bad Request on start: the sprint is missing startDate or endDate. Set them in the request body or in the Jira UI before making the call.

Sprint not found: double-check the sprint ID. IDs are numeric and board-specific. A sprint ID from one board won't work on another.

Already active: you can't start a sprint that's already running. Check the current state first with a GET call before attempting to update.

The easier way

If your goal is to start and stop sprints as part of a Jira automation rule without writing scripts, managing API tokens, or handling authentication - Automation Actions Bundle for Jira does this in one click.

image-20260112-094018 (1).png

We built it at Grandia Solutions specifically to bridge the gap between what Jira's native automation engine supports and what admins actually need to do. Start sprint, stop sprint, and a range of other admin-grade actions are available directly inside your automation rule builder without code or API tokens.

You set the trigger (a scheduled time, a webhook, a field change - whatever fits your process), add the Start Sprint or Stop Sprint action, and you're done. The same outcome as the API approach above, without the setup overhead.

If that fits what you're trying to solve, Automation Actions Bundle for Jira is on the Marketplace.

0 comments

Comment

Log in or Sign up to comment
TAGS
AUG Leaders

Atlassian Community Events