• Backlog
  • Board
  • Epic
  • Issue
  • Sprint
  • Development Information
  • Feature Flags
  • Deployments
  • Builds
  • Security Information
  • Operations
  • DevOps Components
Cloud
Jira Software Cloud / Reference / REST API

Board

Postman Collection
OpenAPI
GET

Get all boards

Returns all boards. This only includes boards that the user has permission to view.

Deprecation notice: The required OAuth 2.0 scopes will be updated on February 15, 2024.

  • read:board-scope:jira-software, read:project:jira
Data Security Policy: Exempt from app access rules
Scopes
read:board-scope:jira-software
, read:project:jira

Connect app scope requiredREAD

Request

Query parameters

startAt

integer

maxResults

integer

type

object

name

string

projectKeyOrId

string

accountIdLocation

string

projectLocation

string

includePrivate

boolean

negateLocationFiltering

boolean

orderBy

string

Responses

Returns the requested boards, at the specified page of the results.

application/json

object
GET/rest/agile/1.0/board
1 2 3 4 curl --request GET \ --url 'https://your-domain.atlassian.net/rest/agile/1.0/board' \ --header 'Authorization: Bearer <access_token>' \ --header 'Accept: application/json'
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 { "isLast": false, "maxResults": 2, "startAt": 1, "total": 5, "values": [ { "id": 84, "name": "scrum board", "self": "https://your-domain.atlassian.net/rest/agile/1.0/board/84", "type": "scrum" }, { "id": 92, "name": "kanban board", "self": "https://your-domain.atlassian.net/rest/agile/1.0/board/92", "type": "kanban" } ] }
POST

Create board

Creates a new board. Board name, type and filter ID is required.

  • name - Must be less than 255 characters.
  • type - Valid values: scrum, kanban
  • filterId - ID of a filter that the user has permissions to view. Note, if the user does not have the 'Create shared objects' permission and tries to create a shared board, a private board will be created instead (remember that board sharing depends on the filter sharing).
  • location - The container that the board will be located in. location must include the type property (Valid values: project, user). If choosing 'project', then a project must be specified by a projectKeyOrId property in location. If choosing 'user', the current user is chosen by default. The projectKeyOrId property should not be provided.

Note:

Data Security Policy: Exempt from app access rules
Scopes
write:board-scope:jira-software

Connect app scope requiredWRITE

Request

Request bodyapplication/json

filterId

integer

location

object

name

string

type

string

Responses

Returns the created board.

application/json

object

Details about a board.

POST/rest/agile/1.0/board
1 2 3 4 5 6 7 8 9 10 11 12 13 14 curl --request POST \ --url 'https://your-domain.atlassian.net/rest/agile/1.0/board' \ --header 'Authorization: Bearer <access_token>' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "filterId": 10040, "location": { "projectKeyOrId": "10000", "type": "project" }, "name": "scrum board", "type": "scrum" }'
201Response
1 2 3 4 5 6 { "id": 84, "name": "scrum board", "self": "https://your-domain.atlassian.net/rest/agile/1.0/board/84", "type": "scrum" }
GET

Get board by filter id

Returns any boards which use the provided filter id. This method can be executed by users without a valid software license in order to find which boards are using a particular filter.

Data Security Policy: Exempt from app access rules
Scopes
read:board-scope.admin:jira-software

Connect app scope requiredREAD

Request

Path parameters

filterId

integer

Required

Query parameters

startAt

integer

maxResults

integer

Responses

Returns the requested boards, at the specified page of the results.

application/json

object
GET/rest/agile/1.0/board/filter/{filterId}
1 2 3 4 curl --request GET \ --url 'https://your-domain.atlassian.net/rest/agile/1.0/board/filter/{filterId}' \ --header 'Authorization: Bearer <access_token>' \ --header 'Accept: application/json'
200Response
1 2 3 4 5 { "id": 84, "name": "scrum board", "self": "https://your-domain.atlassian.net/rest/agile/1.0/board/84" }
GET

Get board

Returns the board for the given board ID. This board will only be returned if the user has permission to view it. Admins without the view permission will see the board as a private one, so will see only a subset of the board's data (board location for instance).

Data Security Policy: Exempt from app access rules
Scopes
read:board-scope:jira-software
, read:issue-details:jira

Connect app scope requiredREAD

Request

Path parameters

boardId

integer

Required

Responses

Returns the requested board.

application/json

object

Details about a board.

GET/rest/agile/1.0/board/{boardId}
1 2 3 4 curl --request GET \ --url 'https://your-domain.atlassian.net/rest/agile/1.0/board/{boardId}' \ --header 'Authorization: Bearer <access_token>' \ --header 'Accept: application/json'
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 { "id": 84, "location": { "displayName": "Example Project", "name": "Example Project", "projectId": 10040, "projectKey": "Example Project Key", "projectName": "Example Project", "projectTypeKey": "KEY", "userAccountId": "5b10a2844c20165700ede21g", "userId": 10040 }, "name": "scrum board", "self": "https://your-domain.atlassian.net/rest/agile/1.0/board/84", "type": "scrum" }
DEL

Delete board

Deletes the board. Admin without the view permission can still remove the board.

Data Security Policy: Exempt from app access rules
Scopes
write:board-scope:jira-software

Connect app scope requiredDELETE

Request

Path parameters

boardId

integer

Required

Responses

Returned if the board has been successfully removed.

DEL/rest/agile/1.0/board/{boardId}
1 2 3 curl --request DELETE \ --url 'https://your-domain.atlassian.net/rest/agile/1.0/board/{boardId}' \ --header 'Authorization: Bearer <access_token>'
GET

Get issues for backlog

Returns all issues from the board's backlog, for the given board ID. This only includes issues that the user has permission to view. The backlog contains incomplete issues that are not assigned to any future or active sprint. Note, if the user does not have permission to view the board, no issues will be returned at all. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.

Data Security Policy: Not exempt from app access rules
Scopes
read:board-scope:jira-software
, read:issue-details:jira

Connect app scope requiredREAD

Request

Path parameters

boardId

integer

Required

Query parameters

startAt

integer

maxResults

integer

jql

string

validateQuery

boolean

fields

array<object>

expand

string

Responses

Returns the requested issues, at the specified page of the results.

application/json

SearchResults

The result of a JQL search.

GET/rest/agile/1.0/board/{boardId}/backlog
1 2 3 4 curl --request GET \ --url 'https://your-domain.atlassian.net/rest/agile/1.0/board/{boardId}/backlog' \ --header 'Authorization: Bearer <access_token>' \ --header 'Accept: application/json'
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 { "expand": "names,schema", "issues": [ { "expand": "", "fields": { "flagged": true, "sprint": { "id": 37, "self": "https://your-domain.atlassian.net/rest/agile/1.0/sprint/13", "state": "future", "name": "sprint 2", "goal": "sprint 2 goal" }, "closedSprints": [ { "id": 37, "self": "https://your-domain.atlassian.net/rest/agile/1.0/sprint/23", "state": "closed", "name": "sprint 1", "startDate": "2015-04-11T15:22:00.000+10:00", "endDate": "2015-04-20T01:22:00.000+10:00", "completeDate": "2015-04-20T11:04:00.000+10:00", "goal": "sprint 1 goal" } ], "description": "example bug report", "project": { "avatarUrls": { "16x16": "https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000", "24x24": "https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000", "32x32": "https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000", "48x48": "https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000" }, "id": "10000", "insight": { "lastIssueUpdateTime": "2021-04-22T05:37:05.000+0000", "totalIssueCount": 100 }, "key": "EX", "name": "Example", "projectCategory": { "description": "First Project Category", "id": "10000", "name": "FIRST", "self": "https://your-domain.atlassian.net/rest/api/3/projectCategory/10000" }, "self": "https://your-domain.atlassian.net/rest/api/3/project/EX", "simplified": false, "style": "classic" }, "comment": [ { "author": { "accountId": "5b10a2844c20165700ede21g", "active": false, "displayName": "Mia Krystof", "self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g" }, "body": { "type": "doc", "version": 1, "content": [ { "type": "paragraph", "content": [ { "type": "text", "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper." } ] } ] }, "created": "2021-01-17T12:34:00.000+0000", "id": "10000", "self": "https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000", "updateAuthor": { "accountId": "5b10a2844c20165700ede21g", "active": false, "displayName": "Mia Krystof", "self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g" }, "updated": "2021-01-18T23:45:00.000+0000", "visibility": { "identifier": "Administrators", "type": "role", "value": "Administrators" } } ], "epic": { "id": 37, "self": "https://your-domain.atlassian.net/rest/agile/1.0/epic/23", "name": "epic 1", "summary": "epic 1 summary", "color": { "key": "color_4" }, "done": true }, "worklog": [ { "author": { "accountId": "5b10a2844c20165700ede21g", "active": false, "displayName": "Mia Krystof", "self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g" }, "comment": { "type": "doc", "version": 1, "content": [ { "type": "paragraph", "content": [ { "type": "text", "text": "I did some work here." } ] } ] }, "id": "100028", "issueId": "10002", "self": "https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000", "started": "2021-01-17T12:34:00.000+0000", "timeSpent": "3h 20m", "timeSpentSeconds": 12000, "updateAuthor": { "accountId": "5b10a2844c20165700ede21g", "active": false, "displayName": "Mia Krystof", "self": "https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g" }, "updated": "2021-01-18T23:45:00.000+0000", "visibility": { "identifier": "276f955c-63d7-42c8-9520-92d01dca0625", "type": "group", "value": "jira-developers" } } ], "updated": 1, "timetracking": { "originalEstimate": "10m", "originalEstimateSeconds": 600, "remainingEstimate": "3m", "remainingEstimateSeconds": 200, "timeSpent": "6m", "timeSpentSeconds": 400 } }, "id": "10001", "key": "HSP-1", "self": "https://your-domain.atlassian.net/rest/agile/1.0/board/92/issue/10001" } ], "maxResults": 50, "startAt": 0, "total": 1 }
GET

Get configuration

Get the board configuration. The response contains the following fields:

  • id - ID of the board.
  • name - Name of the board.
  • filter - Reference to the filter used by the given board.
  • location - Reference to the container that the board is located in. Includes the container type (Valid values: project, user).
  • subQuery (Kanban only) - JQL subquery used by the given board.
  • columnConfig - The column configuration lists the columns for the board, in the order defined in the column configuration. For each column, it shows the issue status mapping as well as the constraint type (Valid values: none, issueCount, issueCountExclSubs) for the min/max number of issues. Note, the last column with statuses mapped to it is treated as the "Done" column, which means that issues in that column will be marked as already completed.
  • estimation (Scrum only) - Contains information about type of estimation used for the board. Valid values: none, issueCount, field. If the estimation type is "field", the ID and display name of the field used for estimation is also returned. Note, estimates for an issue can be updated by a PUT /rest/api/3/issue/{issueIdOrKey} request, however the fields must be on the screen. "timeoriginalestimate" field will never be on the screen, so in order to update it "originalEstimate" in "timetracking" field should be updated.
  • ranking - Contains information about custom field used for ranking in the given board.
Data Security Policy: Exempt from app access rules
Scopes
read:board-scope.admin:jira-software
, read:project:jira

Connect app scope requiredREAD

Request