Cloud
Jira Cloud platform / Reference / REST API v3

Project categories

This resource represents project categories. Use it to create, update, and delete project categories as well as obtain a list of all project categories and details of individual categories. For more information on managing project categories, see Adding, assigning, and deleting project categories.

GET

Get all project categories

Returns all project categories.

Permissions required: Permission to access Jira.

Data Security Policy: Exempt from app access rules
Scopes
ClassicRECOMMENDED:read:jira-work
Granular:read:project-category:jira

Connect app scope requiredREAD

Request

This request has no parameters.

Responses

Returned if the request is successful.

application/json

array<ProjectCategory>

GET/rest/api/3/projectCategory
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/3/projectCategory`, { 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 [ { "description": "First Project Category", "id": "10000", "name": "FIRST", "self": "https://your-domain.atlassian.net/rest/api/3/projectCategory/10000" }, { "description": "Second Project Category", "id": "10001", "name": "SECOND", "self": "https://your-domain.atlassian.net/rest/api/3/projectCategory/10001" } ]
POST

Create project category

Creates a project category.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes
ClassicRECOMMENDED:manage:jira-project
Granular:write:project-category:jira, read:project-category:jira

Connect app scope requiredADMIN

Request

Request bodyapplication/json

description

string

name

string

Responses

Returned if the request is successful.

application/json

ProjectCategory

A project category.

POST/rest/api/3/projectCategory
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 = `{ "description": "Created Project Category", "name": "CREATED" }`; const response = await api.asUser().requestJira(route`/rest/api/3/projectCategory`, { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: bodyData }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
201Response
1 2 3 4 5 6 { "description": "Created Project Category", "id": "10100", "name": "CREATED", "self": "https://your-domain.atlassian.net/rest/api/3/projectCategory/10100" }
GET

Get project category by ID

Returns a project category.

Permissions required: Permission to access Jira.

Data Security Policy: Exempt from app access rules
Scopes
ClassicRECOMMENDED:read:jira-work
Granular:read:project-category:jira

Connect app scope requiredREAD

Request

Path parameters

id

integer

Required

Responses

Returned if the request is successful.

application/json

ProjectCategory

A project category.

GET/rest/api/3/projectCategory/{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/3/projectCategory/{id}`, { headers: { 'Accept': 'application/json' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json());
200Response
1 2 3 4 5 6 { "description": "First Project Category", "id": "10000", "name": "FIRST", "self": "https://your-domain.atlassian.net/rest/api/3/projectCategory/10000" }
PUT

Update project category

Updates a project category.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes
ClassicRECOMMENDED:manage:jira-project
Granular:read:project-category:jira, write:project-category:jira

Connect app scope requiredADMIN

Request

Path parameters

id

integer

Required

Request bodyapplication/json

description

string

name

string

Responses

Returned if the request is successful.

application/json

UpdatedProjectCategory

A project category.

PUT/rest/api/3/projectCategory/{id}
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 = `{ "description": "Updated Project Category", "name": "UPDATED" }`; const response = await api.asUser().requestJira(route`/rest/api/3/projectCategory/{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 { "description": "Updated Project Category", "id": "10100", "name": "UPDATED", "self": "https://your-domain.atlassian.net/rest/api/3/projectCategory/10100" }
DEL

Delete project category

Deletes a project category.

Permissions required: Administer Jira global permission.

Data Security Policy: Exempt from app access rules
Scopes
ClassicRECOMMENDED:manage:jira-project
Granular:delete:project-category:jira

Connect app scope requiredADMIN

Request

Path parameters

id

integer

Required

Responses

Returned if the request is successful.

DEL/rest/api/3/projectCategory/{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/3/projectCategory/{id}`, { method: 'DELETE' }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.text());

Rate this page: