• Announcement banner
  • App data policies (EAP)
  • Application roles
  • Audit records
  • Avatars
  • Classification levels
  • Dashboards
  • Filters
  • Filter sharing
  • Group and user picker
  • Groups
  • Issues
  • UI modifications (apps)
  • Issue attachments
  • Issue comments
  • Issue comment properties
  • Issue fields
  • Issue field configurations
  • Issue custom field contexts
  • Issue custom field options
  • Issue custom field options (apps)
  • Issue custom field values (apps)
  • Issue custom field configuration (apps)
  • Issue navigator settings
  • Issue notification schemes
  • Issue priorities
  • Issue properties
  • Issue resolutions
  • Issue security level
  • Issue security schemes
  • Issue types
  • Issue type schemes
  • Issue type screen schemes
  • Issue type properties
  • Issue votes
  • Issue watchers
  • Issue worklogs
  • Issue worklog properties
  • Jira expressions
  • Jira settings
  • JQL
  • JQL functions (apps)
  • Labels
  • License metrics
  • Myself
  • Permissions
  • Permission schemes
  • Projects
  • Project avatars
  • Project categories
  • Project classification levels
  • Project components
  • Project email
  • Project features
  • Project key and name validation
  • Project permission schemes
  • Project properties
  • Project roles
  • Project role actors
  • Project types
  • Project versions
  • Screens
  • Screen tabs
  • Screen tab fields
  • Screen schemes
  • Server info
  • Status
  • Tasks
  • Time tracking
  • Users
  • User properties
  • Webhooks
  • Workflows
  • Workflow transition rules
  • Workflow schemes
  • Workflow scheme project associations
  • Workflow scheme drafts
  • Workflow statuses
  • Workflow status categories
  • Workflow transition properties
  • App properties
  • Dynamic modules
  • App migration
  • Service Registry
Cloud
Jira Cloud platform / Reference / REST API v2

Dashboards

Postman Collection
OpenAPI
GET

Get all dashboards

Returns a list of dashboards owned by or shared with the user. The list may be filtered to include only favorite or owned dashboards.

This operation can be accessed anonymously.

Permissions required: None.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredREAD

ClassicRECOMMENDED:read:jira-work
Granular:read:dashboard:jira, read:group:jira, read:project:jira, read:project-role:jira, read:user:jira ...(Show more)

Request

Query parameters

filter

string

startAt

integer

maxResults

integer

Responses

Returned if the request is successful.

application/json

PageOfDashboards

A page containing dashboard details.

GET/rest/api/2/dashboard
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/2/dashboard`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.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 { "dashboards": [ { "id": "10000", "isFavourite": false, "name": "System Dashboard", "popularity": 1, "self": "https://your-domain.atlassian.net/rest/api/2/dashboard/10000", "sharePermissions": [ { "type": "global" } ], "view": "https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000" }, { "id": "20000", "isFavourite": true, "name": "Build Engineering", "owner": { "key": "Mia", "self": "https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g", "name": "mia", "displayName": "Mia Krystof", "avatarUrls": { "16x16": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16", "24x24": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24", "32x32": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32", "48x48": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48" } }, "popularity": 1, "self": "https://your-domain.atlassian.net/rest/api/2/dashboard/20000", "sharePermissions": [ { "group": { "name": "administrators", "self": "https://your-domain.atlassian.net/rest/api/2/group?groupname=administrators" }, "id": 10105, "type": "group" } ], "view": "https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=20000" } ], "maxResults": 10, "next": "https://your-domain.atlassian.net/rest/api/2/dashboard?startAt=10", "prev": "https://your-domain.atlassian.net/rest/api/2/dashboard?startAt=0", "startAt": 10, "total": 143 }
POST

Create dashboardExperimental

Creates a dashboard.

Permissions required: None.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredWRITE

ClassicRECOMMENDED:write:jira-work
Granular:read:dashboard:jira, read:group:jira, read:project:jira, read:project-role:jira, read:user:jira ...(Show more)

Request

Request bodyapplication/json

Dashboard details.

description

string

editPermissions

array<SharePermission>

Required
name

string

Required
sharePermissions

array<SharePermission>

Required

Responses

Returned if the request is successful.

application/json

Dashboard

Details of a dashboard.

POST/rest/api/2/dashboard
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 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; var bodyData = `{ "description": "A dashboard to help auditors identify sample of issues to check.", "editPermissions": [], "name": "Auditors dashboard", "sharePermissions": [ { "type": "global" } ] }`; const response = await api.asUser().requestJira(route`/rest/api/2/dashboard`, { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: bodyData }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 { "id": "10000", "isFavourite": false, "name": "System Dashboard", "popularity": 1, "self": "https://your-domain.atlassian.net/rest/api/2/dashboard/10000", "sharePermissions": [ { "type": "global" } ], "view": "https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000" }
PUT

Bulk edit dashboardsExperimental

Bulk edit dashboards. Maximum number of dashboards to be edited at the same time is 100.

Permissions required: None

The dashboards to be updated must be owned by the user, or the user must be an administrator.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredWRITE

ClassicRECOMMENDED:write:jira-work
Granular:read:dashboard:jira, read:group:jira, read:project:jira, read:project-role:jira, read:user:jira ...(Show more)

Request

Request bodyapplication/json

The details of dashboards being updated in bulk.

action

string

Required
changeOwnerDetails

BulkChangeOwnerDetails

entityIds

array<integer>

Required
extendAdminPermissions

boolean

permissionDetails

PermissionDetails

Responses

Returned if the request is successful.

application/json

BulkEditShareableEntityResponse

Details of a request to bulk edit shareable entity.

PUT/rest/api/2/dashboard/bulk/edit
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 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; var bodyData = `{ "action": "changePermission", "entityIds": [ 10001, 10002 ], "extendAdminPermissions": true, "permissionDetails": { "editPermissions": [ { "group": { "groupId": "276f955c-63d7-42c8-9520-92d01dca0625", "name": "jira-administrators", "self": "https://your-domain.atlassian.net/rest/api/~ver~/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625" }, "id": 10010, "type": "group" } ], "sharePermissions": [ { "id": 10000, "type": "global" } ] } }`; const response = await api.asUser().requestJira(route`/rest/api/2/dashboard/bulk/edit`, { method: 'PUT', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: bodyData }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 9 10 11 { "action": "changePermission", "entityErrors": { "10002": { "errorMessages": [ "Only owner or editors of the dashboard can change permissions." ], "errors": {} } } }
GET

Get available gadgetsExperimental

Gets a list of all available gadgets that can be added to all dashboards.

Permissions required: None.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredREAD

ClassicRECOMMENDED:read:jira-work
Granular:read:dashboard:jira

Request

This request has no parameters.

Responses

Returned if the request is successful.

application/json

AvailableDashboardGadgetsResponse

The list of available gadgets.

GET/rest/api/2/dashboard/gadgets
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/2/dashboard/gadgets`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 9 10 11 12 { "gadgets": [ { "moduleKey": "com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-item", "title": "Issue statistics" }, { "uri": "rest/gadgets/1.0/g/com.atlassian.streams.streams-jira-plugin:activitystream-gadget/gadgets/activitystream-gadget.xml", "title": "Activity Stream" } ] }
GET

Search for dashboards

Returns a paginated list of dashboards. This operation is similar to Get dashboards except that the results can be refined to include dashboards that have specific attributes. For example, dashboards with a particular name. When multiple attributes are specified only filters matching all attributes are returned.

This operation can be accessed anonymously.

Permissions required: The following dashboards that match the query parameters are returned:

  • Dashboards owned by the user. Not returned for anonymous users.
  • Dashboards shared with a group that the user is a member of. Not returned for anonymous users.
  • Dashboards shared with a private project that the user can browse. Not returned for anonymous users.
  • Dashboards shared with a public project.
  • Dashboards shared with the public.
Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredREAD

ClassicRECOMMENDED:read:jira-work
Granular:read:dashboard:jira, read:group:jira, read:project:jira, read:project-role:jira, read:user:jira ...(Show more)

Request

Query parameters

dashboardName

string

accountId

string

owner

string

groupname

string

groupId

string

projectId

integer

orderBy

string

startAt

integer

maxResults

integer

status

string

Responses

Returned if the request is successful.

application/json

PageBeanDashboard

A page of items.

GET/rest/api/2/dashboard/search
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/2/dashboard/search`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.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 { "isLast": true, "maxResults": 100, "self": "https://your-domain.atlassian.net/rest/api/2/dashboard/search?expand=owner&maxResults=50&startAt=0", "startAt": 0, "total": 2, "values": [ { "description": "Testing program", "id": "1", "isFavourite": true, "name": "Testing", "owner": { "self": "https://your-domain.atlassian.net/user?accountId=5b10a2844c20165700ede21g", "displayName": "Mia", "active": true, "accountId": "5b10a2844c20165700ede21g", "avatarUrls": { "16x16": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16", "24x24": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24", "32x32": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32", "48x48": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48" } }, "popularity": 1, "self": "https://your-domain.atlassian.net/rest/api/2/dashboard/1", "sharePermissions": [ { "type": "global" } ], "view": "https://your-domain.atlassian.net/Dashboard.jspa?selectPageId=1" }, { "description": "Quantum initiative", "id": "2", "isFavourite": false, "name": "Quantum ", "owner": { "self": "https://your-domain.atlassian.net/user?accountId=5b10a2844c20165700ede21g", "displayName": "Mia", "active": true, "accountId": "5b10a2844c20165700ede21g", "avatarUrls": { "16x16": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16", "24x24": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24", "32x32": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32", "48x48": "https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48" } }, "popularity": 0, "self": "https://your-domain.atlassian.net/rest/api/2/dashboard/2", "sharePermissions": [ { "type": "loggedin" } ], "view": "https://your-domain.atlassian.net/Dashboard.jspa?selectPageId=2" } ] }
GET

Get gadgetsExperimental

Returns a list of dashboard gadgets on a dashboard.

This operation returns:

  • Gadgets from a list of IDs, when id is set.
  • Gadgets with a module key, when moduleKey is set.
  • Gadgets from a list of URIs, when uri is set.
  • All gadgets, when no other parameters are set.

This operation can be accessed anonymously.

Permissions required: None.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredREAD

ClassicRECOMMENDED:read:jira-work
Granular:read:dashboard:jira

Request

Path parameters

dashboardId

integer

Required

Query parameters

moduleKey

array<string>

uri

array<string>

gadgetId

array<integer>

Responses

Returned if the request is successful.

application/json

DashboardGadgetResponse

The list of gadgets on the dashboard.

GET/rest/api/2/dashboard/{dashboardId}/gadget
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/2/dashboard/{dashboardId}/gadget`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.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 { "gadgets": [ { "id": 10001, "moduleKey": "com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-item", "color": "blue", "position": { "row": 0, "column": 0 }, "title": "Issue statistics" }, { "id": 10002, "moduleKey": "com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-graph", "color": "red", "position": { "row": 1, "column": 0 }, "title": "Activity stream" }, { "id": 10003, "moduleKey": "com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-item", "color": "yellow", "position": { "row": 0, "column": 1 }, "title": "Bubble chart" } ] }
POST

Add gadget to dashboardExperimental

Adds a gadget to a dashboard.

Permissions required: None.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredWRITE

ClassicRECOMMENDED:write:jira-work, read:jira-work
Granular:write:dashboard:jira, read:dashboard:jira

Request

Path parameters

dashboardId

integer

Required

Request bodyapplication/json

color

string

ignoreUriAndModuleKeyValidation

boolean

moduleKey

string

position

DashboardGadgetPosition

title

string

uri

string

Responses

Returned if the request is successful.

application/json

DashboardGadget

Details of a gadget.

POST/rest/api/2/dashboard/{dashboardId}/gadget
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 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; var bodyData = `{ "color": "blue", "ignoreUriAndModuleKeyValidation": false, "moduleKey": "com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-item", "position": { "column": 1, "row": 0 }, "title": "Issue statistics" }`; const response = await api.asUser().requestJira(route`/rest/api/2/dashboard/{dashboardId}/gadget`, { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: bodyData }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 9 10 { "id": 10001, "moduleKey": "com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-item", "color": "blue", "position": { "row": 0, "column": 1 }, "title": "Issue statistics" }
PUT

Update gadget on dashboardExperimental

Changes the title, position, and color of the gadget on a dashboard.

Permissions required: None.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredWRITE

ClassicRECOMMENDED:write:jira-work
Granular:write:dashboard:jira

Request

Path parameters

dashboardId

integer

Required
gadgetId

integer

Required

Request bodyapplication/json

color

string

position

DashboardGadgetPosition

title

string

Responses

Returned if the request is successful.

application/json

any

PUT/rest/api/2/dashboard/{dashboardId}/gadget/{gadgetId}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; var bodyData = `{ "color": "red", "position": { "column": 1, "row": 1 }, "title": "My new gadget title" }`; const response = await api.asUser().requestJira(route`/rest/api/2/dashboard/{dashboardId}/gadget/{gadgetId}`, { method: 'PUT', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: bodyData }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
DEL

Remove gadget from dashboardExperimental

Removes a dashboard gadget from a dashboard.

When a gadget is removed from a dashboard, other gadgets in the same column are moved up to fill the emptied position.

Permissions required: None.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredDELETE

ClassicRECOMMENDED:write:jira-work
Granular:write:dashboard:jira

Request

Path parameters

dashboardId

integer

Required
gadgetId

integer

Required

Responses

Returned if the request is successful.

application/json

any

DEL/rest/api/2/dashboard/{dashboardId}/gadget/{gadgetId}
1 2 3 4 5 6 7 8 9 10 11 12 13 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/2/dashboard/{dashboardId}/gadget/{gadgetId}`, { method: 'DELETE', headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
GET

Get dashboard item property keys

Returns the keys of all properties for a dashboard item.

This operation can be accessed anonymously.

Permissions required: The user must be the owner of the dashboard or have the dashboard shared with them. Note, users with the Administer Jira global permission are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users, and is accessible to anonymous users when Jira\u2019s anonymous access is permitted.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredREAD

ClassicRECOMMENDED:read:jira-work
Granular:read:dashboard.property:jira

Request

Path parameters

dashboardId

string

Required
itemId

string

Required

Responses

Returned if the request is successful.

application/json

PropertyKeys

List of property keys.

GET/rest/api/2/dashboard/{dashboardId}/items/{itemId}/properties
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/2/dashboard/{dashboardId}/items/{itemId}/properties`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 { "keys": [ { "key": "issue.support", "self": "https://your-domain.atlassian.net/rest/api/2/issue/EX-2/properties/issue.support" } ] }
GET

Get dashboard item property

Returns the key and value of a dashboard item property.

A dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed to users as gadgets that users can add to their dashboards. For more information on how users do this, see Adding and customizing gadgets.

When an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this resource to store the item's content or configuration details. For more information on working with dashboard items, see Building a dashboard item for a JIRA Connect add-on and the Dashboard Item documentation.

There is no resource to set or get dashboard items.

This operation can be accessed anonymously.

Permissions required: The user must be the owner of the dashboard or have the dashboard shared with them. Note, users with the Administer Jira global permission are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users, and is accessible to anonymous users when Jira\u2019s anonymous access is permitted.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredREAD

ClassicRECOMMENDED:read:jira-work
Granular:read:dashboard.property:jira

Request

Path parameters

dashboardId

string

Required
itemId

string

Required
propertyKey

string

Required

Responses

Returned if the request is successful.

application/json

EntityProperty

An entity property, for more information see Entity properties.

GET/rest/api/2/dashboard/{dashboardId}/items/{itemId}/properties/{propertyKey}
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/2/dashboard/{dashboardId}/items/{itemId}/properties/{propertyKey}`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 { "key": "issue.support", "value": { "system.conversation.id": "b1bf38be-5e94-4b40-a3b8-9278735ee1e6", "system.support.time": "1m" } }
PUT

Set dashboard item property

Sets the value of a dashboard item property. Use this resource in apps to store custom data against a dashboard item.

A dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed to users as gadgets that users can add to their dashboards. For more information on how users do this, see Adding and customizing gadgets.

When an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this resource to store the item's content or configuration details. For more information on working with dashboard items, see Building a dashboard item for a JIRA Connect add-on and the Dashboard Item documentation.

There is no resource to set or get dashboard items.

The value of the request body must be a valid, non-empty JSON blob. The maximum length is 32768 characters.

This operation can be accessed anonymously.

Permissions required: The user must be the owner of the dashboard. Note, users with the Administer Jira global permission are considered owners of the System dashboard.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredWRITE

ClassicRECOMMENDED:write:jira-work
Granular:write:dashboard.property:jira

Request

Path parameters

dashboardId

string

Required
itemId

string

Required
propertyKey

string

Required

Request bodyapplication/json

The value of the property. The value has to be a valid, non-empty JSON value. The maximum length of the property value is 32768 bytes.

any

Responses

Returned if the dashboard item property is updated.

application/json

any

PUT/rest/api/2/dashboard/{dashboardId}/items/{itemId}/properties/{propertyKey}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; var bodyData = `{ "number": 5, "string": "string-value" }`; const response = await api.asUser().requestJira(route`/rest/api/2/dashboard/{dashboardId}/items/{itemId}/properties/{propertyKey}`, { method: 'PUT', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: bodyData }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
DEL

Delete dashboard item property

Deletes a dashboard item property.

This operation can be accessed anonymously.

Permissions required: The user must be the owner of the dashboard. Note, users with the Administer Jira global permission are considered owners of the System dashboard.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredDELETE

ClassicRECOMMENDED:write:jira-work
Granular:delete:dashboard.property:jira

Request

Path parameters

dashboardId

string

Required
itemId

string

Required
propertyKey

string

Required

Responses

Returned if the dashboard item property is deleted.

application/json

any

DEL/rest/api/2/dashboard/{dashboardId}/items/{itemId}/properties/{propertyKey}
1 2 3 4 5 6 7 8 9 10 11 12 13 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/2/dashboard/{dashboardId}/items/{itemId}/properties/{propertyKey}`, { method: 'DELETE', headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
GET

Get dashboard

Returns a dashboard.

This operation can be accessed anonymously.

Permissions required: None.

However, to get a dashboard, the dashboard must be shared with the user or the user must own it. Note, users with the Administer Jira global permission are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredREAD

ClassicRECOMMENDED:read:jira-work
Granular:read:dashboard:jira, read:group:jira, read:project:jira, read:project-role:jira, read:user:jira ...(Show more)

Request

Path parameters

id

string

Required

Responses

Returned if the request is successful.

application/json

Dashboard

Details of a dashboard.

GET/rest/api/2/dashboard/{id}
1 2 3 4 5 6 7 8 9 10 11 12 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/2/dashboard/{id}`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 { "id": "10000", "isFavourite": false, "name": "System Dashboard", "popularity": 1, "self": "https://your-domain.atlassian.net/rest/api/2/dashboard/10000", "sharePermissions": [ { "type": "global" } ], "view": "https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000" }
PUT

Update dashboardExperimental

Updates a dashboard, replacing all the dashboard details with those provided.

Permissions required: None

The dashboard to be updated must be owned by the user.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredWRITE

ClassicRECOMMENDED:write:jira-work
Granular:read:dashboard:jira, read:group:jira, read:project:jira, read:project-role:jira, read:user:jira ...(Show more)

Request

Path parameters

id

string

Required

Request bodyapplication/json

Replacement dashboard details.

description

string

editPermissions

array<SharePermission>

Required
name

string

Required
sharePermissions

array<SharePermission>

Required

Responses

Returned if the request is successful.

application/json

Dashboard

Details of a dashboard.

PUT/rest/api/2/dashboard/{id}
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 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; var bodyData = `{ "description": "A dashboard to help auditors identify sample of issues to check.", "editPermissions": [], "name": "Auditors dashboard", "sharePermissions": [ { "type": "global" } ] }`; const response = await api.asUser().requestJira(route`/rest/api/2/dashboard/{id}`, { method: 'PUT', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: bodyData }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 { "id": "10000", "isFavourite": false, "name": "System Dashboard", "popularity": 1, "self": "https://your-domain.atlassian.net/rest/api/2/dashboard/10000", "sharePermissions": [ { "type": "global" } ], "view": "https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000" }
DEL

Delete dashboardExperimental

Deletes a dashboard.

Permissions required: None

The dashboard to be deleted must be owned by the user.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredDELETE

ClassicRECOMMENDED:write:jira-work
Granular:delete:dashboard:jira

Request

Path parameters

id

string

Required

Responses

Returned if the dashboard is deleted.

DEL/rest/api/2/dashboard/{id}
1 2 3 4 5 6 7 8 9 10 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; const response = await api.asUser().requestJira(route`/rest/api/2/dashboard/{id}`, { method: 'DELETE' }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.text());
POST

Copy dashboardExperimental

Copies a dashboard. Any values provided in the dashboard parameter replace those in the copied dashboard.

Permissions required: None

The dashboard to be copied must be owned by or shared with the user.

Data Security Policy: Exempt from app access rules
Scopes

Connect app scope requiredWRITE

ClassicRECOMMENDED:write:jira-work
Granular:read:dashboard:jira, read:group:jira, read:project:jira, read:project-role:jira, read:user:jira ...(Show more)

Request

Path parameters

id

string

Required

Request bodyapplication/json

Dashboard details.

description

string

editPermissions

array<SharePermission>

Required
name

string

Required
sharePermissions

array<SharePermission>

Required

Responses

Returned if the request is successful.

application/json

Dashboard

Details of a dashboard.

POST/rest/api/2/dashboard/{id}/copy
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 // This sample uses Atlassian Forge // https://developer.atlassian.com/platform/forge/ import api, { route } from "@forge/api"; var bodyData = `{ "description": "A dashboard to help auditors identify sample of issues to check.", "editPermissions": [], "name": "Auditors dashboard", "sharePermissions": [ { "type": "global" } ] }`; const response = await api.asUser().requestJira(route`/rest/api/2/dashboard/{id}/copy`, { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: bodyData }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 { "id": "10000", "isFavourite": false, "name": "System Dashboard", "popularity": 1, "self": "https://your-domain.atlassian.net/rest/api/2/dashboard/10000", "sharePermissions": [ { "type": "global" } ], "view": "https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000" }

Rate this page: