components:
schemas:
PageBeanField:
additionalProperties: false
description: A page of items.
properties:
isLast:
description: Whether this is the last page.
readOnly: true
type: boolean
maxResults:
description: The maximum number of items that could be returned.
format: int32
readOnly: true
type: integer
nextPage:
description: If there is another page of results, the URL of the next page.
format: uri
readOnly: true
type: string
self:
description: The URL of the page.
format: uri
readOnly: true
type: string
startAt:
description: The index of the first item returned.
format: int64
readOnly: true
type: integer
total:
description: The number of items returned.
format: int64
readOnly: true
type: integer
values:
description: The list of items.
items:
$ref: '#/components/schemas/Field'
readOnly: true
type: array
type: object
PageBeanCustomFieldContext:
additionalProperties: false
description: A page of items.
properties:
isLast:
description: Whether this is the last page.
readOnly: true
type: boolean
maxResults:
description: The maximum number of items that could be returned.
format: int32
readOnly: true
type: integer
nextPage:
description: If there is another page of results, the URL of the next page.
format: uri
readOnly: true
type: string
self:
description: The URL of the page.
format: uri
readOnly: true
type: string
startAt:
description: The index of the first item returned.
format: int64
readOnly: true
type: integer
total:
description: The number of items returned.
format: int64
readOnly: true
type: integer
values:
description: The list of items.
items:
$ref: '#/components/schemas/CustomFieldContext'
readOnly: true
type: array
type: object
PageBeanCustomFieldContextDefaultValue:
additionalProperties: false
description: A page of items.
properties:
isLast:
description: Whether this is the last page.
readOnly: true
type: boolean
maxResults:
description: The maximum number of items that could be returned.
format: int32
readOnly: true
type: integer
nextPage:
description: If there is another page of results, the URL of the next page.
format: uri
readOnly: true
type: string
self:
description: The URL of the page.
format: uri
readOnly: true
type: string
startAt:
description: The index of the first item returned.
format: int64
readOnly: true
type: integer
total:
description: The number of items returned.
format: int64
readOnly: true
type: integer
values:
description: The list of items.
items:
$ref: '#/components/schemas/CustomFieldContextDefaultValue'
readOnly: true
type: array
type: object
PageBeanIssueTypeToContextMapping:
additionalProperties: false
description: A page of items.
properties:
isLast:
description: Whether this is the last page.
readOnly: true
type: boolean
maxResults:
description: The maximum number of items that could be returned.
format: int32
readOnly: true
type: integer
nextPage:
description: If there is another page of results, the URL of the next page.
format: uri
readOnly: true
type: string
self:
description: The URL of the page.
format: uri
readOnly: true
type: string
startAt:
description: The index of the first item returned.
format: int64
readOnly: true
type: integer
total:
description: The number of items returned.
format: int64
readOnly: true
type: integer
values:
description: The list of items.
items:
$ref: '#/components/schemas/IssueTypeToContextMapping'
readOnly: true
type: array
type: object
PageBeanContextForProjectAndIssueType:
additionalProperties: false
description: A page of items.
properties:
isLast:
description: Whether this is the last page.
readOnly: true
type: boolean
maxResults:
description: The maximum number of items that could be returned.
format: int32
readOnly: true
type: integer
nextPage:
description: If there is another page of results, the URL of the next page.
format: uri
readOnly: true
type: string
self:
description: The URL of the page.
format: uri
readOnly: true
type: string
startAt:
description: The index of the first item returned.
format: int64
readOnly: true
type: integer
total:
description: The number of items returned.
format: int64
readOnly: true
type: integer
values:
description: The list of items.
items:
$ref: '#/components/schemas/ContextForProjectAndIssueType'
readOnly: true
type: array
type: object
PageBeanCustomFieldContextProjectMapping:
additionalProperties: false
description: A page of items.
properties:
isLast:
description: Whether this is the last page.
readOnly: true
type: boolean
maxResults:
description: The maximum number of items that could be returned.
format: int32
readOnly: true
type: integer
nextPage:
description: If there is another page of results, the URL of the next page.
format: uri
readOnly: true
type: string
self:
description: The URL of the page.
format: uri
readOnly: true
type: string
startAt:
description: The index of the first item returned.
format: int64
readOnly: true
type: integer
total:
description: The number of items returned.
format: int64
readOnly: true
type: integer
values:
description: The list of items.
items:
$ref: '#/components/schemas/CustomFieldContextProjectMapping'
readOnly: true
type: array
type: object
PageBeanCustomFieldContextOption:
additionalProperties: false
description: A page of items.
properties:
isLast:
description: Whether this is the last page.
readOnly: true
type: boolean
maxResults:
description: The maximum number of items that could be returned.
format: int32
readOnly: true
type: integer
nextPage:
description: If there is another page of results, the URL of the next page.
format: uri
readOnly: true
type: string
self:
description: The URL of the page.
format: uri
readOnly: true
type: string
startAt:
description: The index of the first item returned.
format: int64
readOnly: true
type: integer
total:
description: The number of items returned.
format: int64
readOnly: true
type: integer
values:
description: The list of items.
items:
$ref: '#/components/schemas/CustomFieldContextOption'
readOnly: true
type: array
type: object
CustomFieldCreatedContextOptionsList:
additionalProperties: false
description: A list of custom field options for a context.
properties:
options:
description: The created custom field options.
items:
$ref: '#/components/schemas/CustomFieldContextOption'
type: array
type: object
CustomFieldUpdatedContextOptionsList:
additionalProperties: false
description: A list of custom field options for a context.
properties:
options:
description: The updated custom field options.
items:
$ref: '#/components/schemas/CustomFieldOptionUpdate'
type: array
type: object
PageBeanContext:
additionalProperties: false
description: A page of items.
properties:
isLast:
description: Whether this is the last page.
readOnly: true
type: boolean
maxResults:
description: The maximum number of items that could be returned.
format: int32
readOnly: true
type: integer
nextPage:
description: If there is another page of results, the URL of the next page.
format: uri
readOnly: true
type: string
self:
description: The URL of the page.
format: uri
readOnly: true
type: string
startAt:
description: The index of the first item returned.
format: int64
readOnly: true
type: integer
total:
description: The number of items returned.
format: int64
readOnly: true
type: integer
values:
description: The list of items.
items:
$ref: '#/components/schemas/Context'
readOnly: true
type: array
type: object
PageBeanScreenWithTab:
additionalProperties: false
description: A page of items.
properties:
isLast:
description: Whether this is the last page.
readOnly: true
type: boolean
maxResults:
description: The maximum number of items that could be returned.
format: int32
readOnly: true
type: integer
nextPage:
description: If there is another page of results, the URL of the next page.
format: uri
readOnly: true
type: string
self:
description: The URL of the page.
format: uri
readOnly: true
type: string
startAt:
description: The index of the first item returned.
format: int64
readOnly: true
type: integer
total:
description: The number of items returned.
format: int64
readOnly: true
type: integer
values:
description: The list of items.
items:
$ref: '#/components/schemas/ScreenWithTab'
readOnly: true
type: array
type: object
PageBeanIssueFieldOption:
additionalProperties: false
description: A page of items.
properties:
isLast:
description: Whether this is the last page.
readOnly: true
type: boolean
maxResults:
description: The maximum number of items that could be returned.
format: int32
readOnly: true
type: integer
nextPage:
description: If there is another page of results, the URL of the next page.
format: uri
readOnly: true
type: string
self:
description: The URL of the page.
format: uri
readOnly: true
type: string
startAt:
description: The index of the first item returned.
format: int64
readOnly: true
type: integer
total:
description: The number of items returned.
format: int64
readOnly: true
type: integer
values:
description: The list of items.
items:
$ref: '#/components/schemas/IssueFieldOption'
readOnly: true
type: array
type: object
IssueFieldOption:
additionalProperties: false
description: Details of the options for a select list issue field.
properties:
config:
$ref: '#/components/schemas/IssueFieldOptionConfiguration'
id:
description: >-
The unique identifier for the option. This is only unique within the
select field's set of options.
format: int64
type: integer
properties:
additionalProperties: {}
description: >-
The properties of the object, as arbitrary key-value pairs. These
properties can be searched using JQL, if the extractions (see [Issue
Field Option Property
Index](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field-option-property-index/))
are defined in the descriptor for the issue field module.
type: object
value:
description: The option's name, which is displayed in Jira.
type: string
required:
- id
- value
type: object
externalDocs:
description: Find out more about Atlassian products and services.
url: http://www.atlassian.com
info:
contact:
email: ecosystem@atlassian.com
description: Needs description.
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
termsOfService: http://atlassian.com/terms/
title: 'Atlassian rest/api/3/field/'
version: 1001.0.0-SNAPSHOT-67b5c6e5f3598d7ec1649016d026468ab2838a77
openapi: 3.0.1
paths:
/rest/api/3/field/search:
get:
deprecated: false
description: >-
Returns a [paginated](#pagination) list of fields for Classic Jira
projects. The list can include:
* all fields
* specific
fields, by defining `id`
* fields that contain a string in the
field name or description, by defining `query`
* specific fields
that contain a string in the field name or description, by defining `id`
and `query`
Only custom fields can be queried, `type` must be set
to `custom`.
**[Permissions](#permissions) required:**
*Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianGetfieldspaginated
parameters:
- description: >-
The index of the first item to return in a page of results (page
offset).
in: query
name: startAt
schema:
default: 0
format: int64
type: integer
- description: The maximum number of items to return per page.
in: query
name: maxResults
schema:
default: 50
format: int32
type: integer
- description: The type of fields to search.
in: query
name: type
schema:
items:
default: ''
enum:
- custom
- system
type: string
type: array
- description: >-
The IDs of the custom fields to return or, where `query` is
specified, filter.
in: query
name: id
schema:
items:
default: ''
type: string
type: array
uniqueItems: true
- description: >-
String used to perform a case-insensitive partial match with field
names or descriptions.
in: query
name: query
schema:
type: string
- description: |-
[Order](#ordering) the results by a field:
* `contextsCount` sorts by the number of contexts related to a field
* `lastUsed` sorts by the date when the value of the field last changed
* `name` sorts by the field name
* `screensCount` sorts by the number of screens related to a field
in: query
name: orderBy
schema:
enum:
- contextsCount
- '-contextsCount'
- +contextsCount
- lastUsed
- '-lastUsed'
- +lastUsed
- name
- '-name'
- +name
- screensCount
- '-screensCount'
- +screensCount
- projectsCount
- '-projectsCount'
- +projectsCount
type: string
- description: >-
Use [expand](#expansion) to include additional information in the
response. This parameter accepts a comma-separated list. Expand
options include:
* `key` returns the key for each field
* `lastUsed` returns the date when the value of the field last changed
* `screensCount` returns the number of screens related to a field
* `contextsCount` returns the number of contexts related to a field
* `isLocked` returns information about whether the field is [locked](https://confluence.atlassian.com/x/ZSN7Og)
* `searcherKey` returns the searcher key for each custom field
in: query
name: expand
schema:
type: string
responses:
'200':
content:
application/json:
example: >-
{"isLast":false,"maxResults":50,"startAt":0,"total":2,"values":[{"id":"customfield_10000","name":"Approvers","schema":{"custom":"com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker","customId":10000,"items":"user","type":"array"},"description":"Contains
users needed for approval. This custom field was created by Jira
Service
Desk.","key":"customfield_10000","isLocked":true,"searcherKey":"com.atlassian.jira.plugin.system.customfieldtypes:userpickergroupsearcher","screensCount":2,"contextsCount":2,"lastUsed":{"type":"TRACKED","value":"2021-01-28T07:37:40.000+0000"}},{"id":"customfield_10001","name":"Change
reason","schema":{"custom":"com.atlassian.jira.plugin.system.customfieldtypes:select","customId":10001,"type":"option"},"description":"Choose
the reason for the change
request","key":"customfield_10001","isLocked":false,"searcherKey":"com.atlassian.jira.plugin.system.customfieldtypes:multiselectsearcher","screensCount":2,"contextsCount":2,"projectsCount":2,"lastUsed":{"type":"NOT_TRACKED"}}]}
schema:
$ref: '#/components/schemas/PageBeanField'
description: Returned if the request is successful.
'400':
content:
application/json:
example: >-
{"errorMessages":["Only custom fields can be
queried."],"errors":{}}
schema:
$ref: '#/components/schemas/ErrorCollection'
description: Returned if the request is invalid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
example: >-
{"errorMessages":["Only Jira administrators can access
fields."],"errors":{}}
schema:
$ref: '#/components/schemas/ErrorCollection'
description: Returned if the user does not have the necessary permission.
security:
- basicAuth: []
- OAuth2:
- read:jira-work
summary: Atlassian Get Fields Paginated
tags:
- Issue Fields
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- read:jira-work
state: Current
- scheme: OAuth2
scopes:
- read:field:jira
- read:field-configuration:jira
state: Beta
x-atlassian-connect-scope: NONE
/rest/api/3/field/search/trashed:
get:
deprecated: false
description: >-
Returns a [paginated](#pagination) list of fields in the trash. The list
may be restricted to fields whose field name or description partially
match a string.
Only custom fields can be queried, `type` must be
set to `custom`.
**[Permissions](#permissions) required:**
*Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianGettrashedfieldspaginated
parameters:
- description: >-
The index of the first item to return in a page of results (page
offset).
in: query
name: startAt
schema:
default: 0
format: int64
type: integer
- description: The maximum number of items to return per page.
in: query
name: maxResults
schema:
default: 50
format: int32
type: integer
- in: query
name: id
schema:
items:
default: ''
type: string
type: array
uniqueItems: true
- description: >-
String used to perform a case-insensitive partial match with field
names or descriptions.
in: query
name: query
schema:
type: string
- in: query
name: expand
schema:
enum:
- name
- '-name'
- +name
- trashDate
- '-trashDate'
- +trashDate
- plannedDeletionDate
- '-plannedDeletionDate'
- +plannedDeletionDate
- projectsCount
- '-projectsCount'
- +projectsCount
type: string
- description: |-
[Order](#ordering) the results by a field:
* `name` sorts by the field name
* `trashDate` sorts by the date the field was moved to the trash
* `plannedDeletionDate` sorts by the planned deletion date
in: query
name: orderBy
schema:
type: string
responses:
'200':
content:
application/json:
example: >-
{"isLast":false,"maxResults":50,"startAt":0,"total":1,"values":[{"id":"customfield_10000","name":"Approvers","schema":{"custom":"com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker","customId":10003,"type":"array"},"description":"Contains
users needed for approval. This custom field was created by Jira
Service
Desk.","key":"customfield_10003","trashedDate":"2022-10-06T07:32:47.000+0000","trashedBy":{"accountId":"5b10a2844c20165700ede21g","active":true,"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"},"displayName":"Mia
Krystof","emailAddress":"mia@example.com","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","timeZone":"Australia/Sydney"},"plannedDeletionDate":"2022-10-24T07:32:47.000+0000"}]}
schema:
$ref: '#/components/schemas/PageBeanField'
description: Returned if the request is successful.
'400':
content:
application/json:
example: >-
{"errorMessages":["Only custom fields can be
queried."],"errors":{}}
schema:
$ref: '#/components/schemas/ErrorCollection'
description: Returned if the request is invalid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
example: >-
{"errorMessages":["Only Jira administrators can access
fields."],"errors":{}}
schema:
$ref: '#/components/schemas/ErrorCollection'
description: Returned if the user does not have the necessary permission.
security:
- basicAuth: []
- OAuth2:
- read:jira-work
summary: Atlassian Get Fields In Trash Paginated
tags:
- Issue Fields
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- read:jira-work
state: Current
- scheme: OAuth2
scopes:
- read:field:jira
- read:field-configuration:jira
- read:user:jira
state: Beta
x-atlassian-connect-scope: READ
/rest/api/3/field/{fieldId}:
put:
deprecated: false
description: >-
Updates a custom field.
**[Permissions](#permissions) required:**
*Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianUpdatecustomfield
parameters:
- description: The ID of the custom field.
in: path
name: fieldId
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
description: Select the manager and the corresponding employee.
name: Managers and employees list
searcherKey: >-
com.atlassian.jira.plugin.system.customfieldtypes:cascadingselectsearcher
schema:
$ref: '#/components/schemas/UpdateCustomFieldDetails'
description: The custom field update details.
required: true
responses:
'204':
content:
application/json:
schema: {}
description: Returned if the request is successful.
'400':
content:
application/json:
example: >-
{"errorMessages":["searcherKey is invalid for the field
type."],"errors":{}}
description: Returned if the request is not valid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
example: >-
{"errorMessages":["Only Jira administrators can edit custom
fields."],"errors":{}}
description: Returned if the user does not have the required permissions.
'404':
content:
application/json:
example: >-
{"errorMessages":["The custom field was not
found."],"errors":{}}
description: Returned if the custom field is not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Update Custom Field
tags:
- Issue Fields
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- write:field:jira
state: Beta
x-atlassian-connect-scope: ADMIN
/rest/api/3/field/{fieldId}/context:
get:
deprecated: false
description: >-
Returns a [paginated](#pagination) list of [
contexts](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html)
for a custom field. Contexts can be returned as follows:
* With
no other parameters set, all contexts.
* By defining `id` only, all
contexts from the list of IDs.
* By defining `isAnyIssueType`,
limit the list of contexts returned to either those that apply to all
issue types (true) or those that apply to only a subset of issue types
(false)
* By defining `isGlobalContext`, limit the list of contexts
return to either those that apply to all projects (global contexts)
(true) or those that apply to only a subset of projects
(false).
**[Permissions](#permissions) required:** *Administer
Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianGetcontextsforfield
parameters:
- description: The ID of the custom field.
in: path
name: fieldId
required: true
schema:
type: string
- description: Whether to return contexts that apply to all issue types.
in: query
name: isAnyIssueType
schema:
type: boolean
- description: Whether to return contexts that apply to all projects.
in: query
name: isGlobalContext
schema:
type: boolean
- description: >-
The list of context IDs. To include multiple contexts, separate IDs
with ampersand: `contextId=10000&contextId=10001`.
in: query
name: contextId
schema:
items:
format: int64
type: integer
type: array
uniqueItems: true
- description: >-
The index of the first item to return in a page of results (page
offset).
in: query
name: startAt
schema:
default: 0
format: int64
type: integer
- description: The maximum number of items to return per page.
in: query
name: maxResults
schema:
default: 50
format: int32
type: integer
responses:
'200':
content:
application/json:
example: >-
{"isLast":true,"maxResults":100,"startAt":0,"total":2,"values":[{"id":"10025","name":"Bug
fields context","description":"A context used to define the
custom field options for
bugs.","isGlobalContext":true,"isAnyIssueType":false},{"id":"10026","name":"Task
fields context","description":"A context used to define the
custom field options for
tasks.","isGlobalContext":false,"isAnyIssueType":false}]}
schema:
$ref: '#/components/schemas/PageBeanCustomFieldContext'
description: Returned if the request is successful.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
example: >-
{"errorMessages":["Only Jira administrators can access custom
field contexts."],"errors":{}}
description: Returned if the user does not have the required permissions.
'404':
content:
application/json:
example: >-
{"errorMessages":["The custom field was not
found."],"errors":{}}
description: Returned if the custom field was not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Get Custom Field Contexts
tags:
- Issue Custom Field Contexts
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- read:field:jira
- read:custom-field-contextual-configuration:jira
state: Beta
x-atlassian-connect-scope: READ
post:
deprecated: false
description: >-
Creates a custom field context.
If `projectIds` is empty, a
global context is created. A global context is one that applies to all
project. If `issueTypeIds` is empty, the context applies to all issue
types.
**[Permissions](#permissions) required:** *Administer
Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianCreatecustomfieldcontext
parameters:
- description: The ID of the custom field.
in: path
name: fieldId
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
description: A context used to define the custom field options for bugs.
issueTypeIds:
- '10010'
name: Bug fields context
projectIds: []
schema:
$ref: '#/components/schemas/CreateCustomFieldContext'
required: true
responses:
'201':
content:
application/json:
example: >-
{"id":"10025","name":"Bug fields context","description":"A
context used to define the custom field options for
bugs.","projectIds":[],"issueTypeIds":["10010"]}
schema:
$ref: '#/components/schemas/CreateCustomFieldContext'
description: Returned if the custom field context is created.
'400':
description: Returned if the request is invalid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'404':
description: Returned if the field, project, or issue type is not found.
'409':
content:
application/json:
example: >-
{"errorMessages":["Sub-tasks are disabled in Jira. At least one
of the issue types is a sub-task."],"errors":{}}
description: >-
Returned if the issue type is a sub-task, but sub-tasks are disabled
in Jira settings.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Create Custom Field Context
tags:
- Issue Custom Field Contexts
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- read:field:jira
- write:field:jira
- read:custom-field-contextual-configuration:jira
state: Beta
x-atlassian-connect-scope: ADMIN
/rest/api/3/field/{fieldId}/context/defaultValue:
get:
deprecated: false
description: >-
Returns a [paginated](#pagination) list of defaults for a custom field.
The results can be filtered by `contextId`, otherwise all values are
returned. If no defaults are set for a context, nothing is returned.
The returned object depends on type of the custom field:
* `CustomFieldContextDefaultValueDate` (type `datepicker`) for date
fields.
* `CustomFieldContextDefaultValueDateTime` (type
`datetimepicker`) for date-time fields.
* `CustomFieldContextDefaultValueSingleOption` (type `option.single`) for
single choice select lists and radio buttons.
* `CustomFieldContextDefaultValueMultipleOption` (type `option.multiple`)
for multiple choice select lists and checkboxes.
* `CustomFieldContextDefaultValueCascadingOption` (type
`option.cascading`) for cascading select lists.
* `CustomFieldContextSingleUserPickerDefaults` (type `single.user.select`)
for single users.
* `CustomFieldContextDefaultValueMultiUserPicker`
(type `multi.user.select`) for user lists.
* `CustomFieldContextDefaultValueSingleGroupPicker` (type
`grouppicker.single`) for single choice group pickers.
* `CustomFieldContextDefaultValueMultipleGroupPicker` (type
`grouppicker.multiple`) for multiple choice group pickers.
* `CustomFieldContextDefaultValueURL` (type `url`) for URLs.
* `CustomFieldContextDefaultValueProject` (type `project`) for project
pickers.
* `CustomFieldContextDefaultValueFloat` (type `float`) for
floats (floating-point numbers).
* `CustomFieldContextDefaultValueLabels` (type `labels`) for labels.
* `CustomFieldContextDefaultValueTextField` (type `textfield`) for text
fields.
* `CustomFieldContextDefaultValueTextArea` (type
`textarea`) for text area fields.
* `CustomFieldContextDefaultValueReadOnly` (type `readonly`) for read only
(text) fields.
* `CustomFieldContextDefaultValueMultipleVersion`
(type `version.multiple`) for single choice version pickers.
* `CustomFieldContextDefaultValueSingleVersion` (type `version.single`)
for multiple choice version pickers.
Forge custom fields
[types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/#data-types)
are also supported, returning:
* `CustomFieldContextDefaultValueForgeStringFieldBean` (type
`forge.string`) for Forge string fields.
* `CustomFieldContextDefaultValueForgeMultiStringFieldBean` (type
`forge.string.list`) for Forge string collection fields.
* `CustomFieldContextDefaultValueForgeObjectFieldBean` (type
`forge.object`) for Forge object fields.
* `CustomFieldContextDefaultValueForgeDateTimeFieldBean` (type
`forge.datetime`) for Forge date-time fields.
* `CustomFieldContextDefaultValueForgeGroupFieldBean` (type `forge.group`)
for Forge group fields.
* `CustomFieldContextDefaultValueForgeMultiGroupFieldBean` (type
`forge.group.list`) for Forge group collection fields.
* `CustomFieldContextDefaultValueForgeNumberFieldBean` (type
`forge.number`) for Forge number fields.
* `CustomFieldContextDefaultValueForgeUserFieldBean` (type `forge.user`)
for Forge user fields.
* `CustomFieldContextDefaultValueForgeMultiUserFieldBean` (type
`forge.user.list`) for Forge user collection
fields.
**[Permissions](#permissions) required:** *Administer
Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianGetdefaultvalues
parameters:
- description: The ID of the custom field, for example `customfield\_10000`.
in: path
name: fieldId
required: true
schema:
type: string
- description: The IDs of the contexts.
in: query
name: contextId
schema:
items:
format: int64
type: integer
type: array
uniqueItems: true
- description: >-
The index of the first item to return in a page of results (page
offset).
in: query
name: startAt
schema:
default: 0
format: int64
type: integer
- description: The maximum number of items to return per page.
in: query
name: maxResults
schema:
default: 50
format: int32
type: integer
responses:
'200':
content:
application/json:
example: >-
{"isLast":true,"maxResults":50,"startAt":0,"total":3,"values":[{"contextId":"10100","optionId":"10001"},{"contextId":"10101","optionId":"10003"},{"contextId":"10103"}]}
schema:
$ref: '#/components/schemas/PageBeanCustomFieldContextDefaultValue'
description: Returned if the request is successful.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
example: >-
{"errorMessages":["Only Jira administrators can access custom
field contexts."],"errors":{}}
description: Returned if the user does not have the required permissions.
'404':
content:
application/json:
example: >-
{"errorMessages":["The custom field was not
found."],"errors":{}}
description: Returned if the custom field is not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Get Custom Field Contexts Default Values
tags:
- Issue Custom Field Contexts
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- read:field.default-value:jira
state: Beta
x-atlassian-connect-scope: READ
put:
deprecated: false
description: >-
Sets default for contexts of a custom field. Default are defined using
these objects:
* `CustomFieldContextDefaultValueDate` (type
`datepicker`) for date fields.
* `CustomFieldContextDefaultValueDateTime` (type `datetimepicker`) for
date-time fields.
* `CustomFieldContextDefaultValueSingleOption`
(type `option.single`) for single choice select lists and radio
buttons.
* `CustomFieldContextDefaultValueMultipleOption` (type
`option.multiple`) for multiple choice select lists and checkboxes.
* `CustomFieldContextDefaultValueCascadingOption` (type
`option.cascading`) for cascading select lists.
* `CustomFieldContextSingleUserPickerDefaults` (type `single.user.select`)
for single users.
* `CustomFieldContextDefaultValueMultiUserPicker`
(type `multi.user.select`) for user lists.
* `CustomFieldContextDefaultValueSingleGroupPicker` (type
`grouppicker.single`) for single choice group pickers.
* `CustomFieldContextDefaultValueMultipleGroupPicker` (type
`grouppicker.multiple`) for multiple choice group pickers.
* `CustomFieldContextDefaultValueURL` (type `url`) for URLs.
* `CustomFieldContextDefaultValueProject` (type `project`) for project
pickers.
* `CustomFieldContextDefaultValueFloat` (type `float`) for
floats (floating-point numbers).
* `CustomFieldContextDefaultValueLabels` (type `labels`) for labels.
* `CustomFieldContextDefaultValueTextField` (type `textfield`) for text
fields.
* `CustomFieldContextDefaultValueTextArea` (type
`textarea`) for text area fields.
* `CustomFieldContextDefaultValueReadOnly` (type `readonly`) for read only
(text) fields.
* `CustomFieldContextDefaultValueMultipleVersion`
(type `version.multiple`) for single choice version pickers.
* `CustomFieldContextDefaultValueSingleVersion` (type `version.single`)
for multiple choice version pickers.
Forge custom fields
[types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/#data-types)
are also supported, returning:
* `CustomFieldContextDefaultValueForgeStringFieldBean` (type
`forge.string`) for Forge string fields.
* `CustomFieldContextDefaultValueForgeMultiStringFieldBean` (type
`forge.string.list`) for Forge string collection fields.
* `CustomFieldContextDefaultValueForgeObjectFieldBean` (type
`forge.object`) for Forge object fields.
* `CustomFieldContextDefaultValueForgeDateTimeFieldBean` (type
`forge.datetime`) for Forge date-time fields.
* `CustomFieldContextDefaultValueForgeGroupFieldBean` (type `forge.group`)
for Forge group fields.
* `CustomFieldContextDefaultValueForgeMultiGroupFieldBean` (type
`forge.group.list`) for Forge group collection fields.
* `CustomFieldContextDefaultValueForgeNumberFieldBean` (type
`forge.number`) for Forge number fields.
* `CustomFieldContextDefaultValueForgeUserFieldBean` (type `forge.user`)
for Forge user fields.
* `CustomFieldContextDefaultValueForgeMultiUserFieldBean` (type
`forge.user.list`) for Forge user collection fields.
Only one
type of default object can be included in a request. To remove a default
for a context, set the default parameter to
`null`.
**[Permissions](#permissions) required:** *Administer
Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianSetdefaultvalues
parameters:
- description: The ID of the custom field.
in: path
name: fieldId
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
defaultValues:
- contextId: '10100'
optionId: '10001'
type: option.single
- contextId: '10101'
optionId: '10003'
type: option.single
- contextId: '10103'
optionId: '10005'
type: option.single
schema:
$ref: '#/components/schemas/CustomFieldContextDefaultValueUpdate'
required: true
responses:
'204':
content:
application/json:
schema: {}
description: Returned if operation is successful.
'400':
content:
application/json:
example: >-
{"errorMessages":["All default values in the request must have
the same type."],"errors":{}}
description: Returned if the request is not valid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
example: >-
{"errorMessages":["Only Jira administrators can access custom
field contexts."],"errors":{}}
description: Returned if the user does not have the required permissions.
'404':
content:
application/json:
example: '{"errorMessages":["The context was not found."],"errors":{}}'
description: >-
Returned if the custom field, a context, an option, or a cascading
option is not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Set Custom Field Contexts Default Values
tags:
- Issue Custom Field Contexts
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- write:field.default-value:jira
state: Beta
x-atlassian-connect-scope: ADMIN
/rest/api/3/field/{fieldId}/context/issuetypemapping:
get:
deprecated: false
description: >-
Returns a [paginated](#pagination) list of context to issue type
mappings for a custom field. Mappings are returned for all contexts or a
list of contexts. Mappings are ordered first by context ID and then by
issue type ID.
**[Permissions](#permissions) required:**
*Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianGetissuetypemappingsforcontexts
parameters:
- description: The ID of the custom field.
in: path
name: fieldId
required: true
schema:
type: string
- description: >-
The ID of the context. To include multiple contexts, provide an
ampersand-separated list. For example,
`contextId=10001&contextId=10002`.
in: query
name: contextId
schema:
items:
format: int64
type: integer
type: array
- description: >-
The index of the first item to return in a page of results (page
offset).
in: query
name: startAt
schema:
default: 0
format: int64
type: integer
- description: The maximum number of items to return per page.
in: query
name: maxResults
schema:
default: 50
format: int32
type: integer
responses:
'200':
content:
application/json:
example: >-
{"isLast":true,"maxResults":100,"startAt":0,"total":3,"values":[{"contextId":"10001","issueTypeId":"10010"},{"contextId":"10001","issueTypeId":"10011"},{"contextId":"10002","isAnyIssueType":true}]}
schema:
$ref: '#/components/schemas/PageBeanIssueTypeToContextMapping'
description: Returned if operation is successful.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
example: >-
{"errorMessages":["Only Jira administrators can access custom
field contexts."],"errors":{}}
description: Returned if the user does not have the required permissions.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Get Issue Types For Custom Field Context
tags:
- Issue Custom Field Contexts
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- read:field:jira
state: Beta
x-atlassian-connect-scope: READ
/rest/api/3/field/{fieldId}/context/mapping:
post:
deprecated: false
description: >-
Returns a [paginated](#pagination) list of project and issue type
mappings and, for each mapping, the ID of a [custom field
context](https://confluence.atlassian.com/x/k44fOw) that applies to the
project and issue type.
If there is no custom field context
assigned to the project then, if present, the custom field context that
applies to all projects is returned if it also applies to the issue type
or all issue types. If a custom field context is not found, the returned
custom field context ID is `null`.
Duplicate project and issue
type mappings cannot be provided in the request.
The order of the
returned values is the same as provided in the
request.
**[Permissions](#permissions) required:** *Administer
Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianGetcustomfieldcontextsforprojectsandissuetypes
parameters:
- description: The ID of the custom field.
in: path
name: fieldId
required: true
schema:
type: string
- description: >-
The index of the first item to return in a page of results (page
offset).
in: query
name: startAt
schema:
default: 0
format: int64
type: integer
- description: The maximum number of items to return per page.
in: query
name: maxResults
schema:
default: 50
format: int32
type: integer
requestBody:
content:
application/json:
example:
mappings:
- issueTypeId: '10000'
projectId: '10000'
- issueTypeId: '10001'
projectId: '10000'
- issueTypeId: '10002'
projectId: '10001'
schema:
$ref: '#/components/schemas/ProjectIssueTypeMappings'
description: The list of project and issue type mappings.
required: true
responses:
'200':
content:
application/json:
example: >-
{"isLast":true,"maxResults":50,"startAt":0,"total":3,"values":[{"projectId":"10000","issueTypeId":"10000","contextId":"10000"},{"projectId":"10000","issueTypeId":"10001","contextId":null},{"projectId":"10001","issueTypeId":"10002","contextId":"10003"}]}
schema:
$ref: '#/components/schemas/PageBeanContextForProjectAndIssueType'
description: Returned if the request is successful.
'400':
content:
application/json:
example: >-
{"errorMessages":["Duplicate project and issue type mappings
cannot be provided."],"errors":{}}
description: Returned if the request is not valid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
example: >-
{"errorMessages":["Only Jira administrators can access custom
field contexts."],"errors":{}}
description: Returned if the user does not have the required permissions.
'404':
content:
application/json:
example: >-
{"errorMessages":["These projects were not found:
10005."],"errors":{}}
description: Returned if the custom field, project, or issue type is not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Get Custom Field Contexts For Projects And Issue Types
tags:
- Issue Custom Field Contexts
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- read:field:jira
state: Beta
x-atlassian-connect-scope: ADMIN
/rest/api/3/field/{fieldId}/context/projectmapping:
get:
deprecated: false
description: >-
Returns a [paginated](#pagination) list of context to project mappings
for a custom field. The result can be filtered by `contextId`.
Otherwise, all mappings are returned. Invalid IDs are
ignored.
**[Permissions](#permissions) required:** *Administer
Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianGetprojectcontextmapping
parameters:
- description: The ID of the custom field, for example `customfield\_10000`.
in: path
name: fieldId
required: true
schema:
type: string
- description: >-
The list of context IDs. To include multiple context, separate IDs
with ampersand: `contextId=10000&contextId=10001`.
in: query
name: contextId
schema:
items:
format: int64
type: integer
type: array
uniqueItems: true
- description: >-
The index of the first item to return in a page of results (page
offset).
in: query
name: startAt
schema:
default: 0
format: int64
type: integer
- description: The maximum number of items to return per page.
in: query
name: maxResults
schema:
default: 50
format: int32
type: integer
responses:
'200':
content:
application/json:
example: >-
{"isLast":true,"maxResults":100,"startAt":0,"total":2,"values":[{"contextId":"10025","projectId":"10001"},{"contextId":"10026","isGlobalContext":true}]}
schema:
$ref: '#/components/schemas/PageBeanCustomFieldContextProjectMapping'
description: Returned if the request is successful.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
example: >-
{"errorMessages":["Only Jira administrators can access custom
field contexts."],"errors":{}}
description: Returned if the user does not have the required permissions.
'404':
content:
application/json:
example: >-
{"errorMessages":["The custom field was not
found."],"errors":{}}
description: Returned if the custom field is not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Get Project Mappings For Custom Field Context
tags:
- Issue Custom Field Contexts
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- read:field:jira
state: Beta
x-atlassian-connect-scope: READ
/rest/api/3/field/{fieldId}/context/{contextId}:
delete:
deprecated: false
description: >-
Deletes a [ custom field
context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html).
**[Permissions](#permissions)
required:** *Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianDeletecustomfieldcontext
parameters:
- description: The ID of the custom field.
in: path
name: fieldId
required: true
schema:
type: string
- description: The ID of the context.
in: path
name: contextId
required: true
schema:
format: int64
type: integer
responses:
'204':
content:
application/json:
schema: {}
description: Returned if the context is deleted.
'400':
content:
application/json:
example: >-
{"errorMessages":["The contextId has to be
provided."],"errors":{}}
description: Returned if the request is not valid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
example: >-
{"errorMessages":["Only Jira administrators can access custom
field contexts."],"errors":{}}
description: Returned if the user does not have the required permissions.
'404':
content:
application/json:
example: '{"errorMessages":["The context was not found."],"errors":{}}'
description: Returned if the custom field or the context is not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Delete Custom Field Context
tags:
- Issue Custom Field Contexts
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- delete:field:jira
state: Beta
x-atlassian-connect-scope: ADMIN
put:
deprecated: false
description: >-
Updates a [ custom field
context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html).
**[Permissions](#permissions)
required:** *Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianUpdatecustomfieldcontext
parameters:
- description: The ID of the custom field.
in: path
name: fieldId
required: true
schema:
type: string
- description: The ID of the context.
in: path
name: contextId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
example:
description: A context used to define the custom field options for bugs.
name: Bug fields context
schema:
$ref: '#/components/schemas/CustomFieldContextUpdateDetails'
required: true
responses:
'204':
content:
application/json:
schema: {}
description: Returned if the context is updated.
'400':
content:
application/json:
example: >-
{"errorMessages":["The contextId has to be
provided."],"errors":{}}
description: Returned if the request is not valid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
example: >-
{"errorMessages":["Only Jira administrators can access custom
field contexts."],"errors":{}}
description: Returned if the user does not have the required permissions.
'404':
content:
application/json:
example: '{"errorMessages":["The context was not found."],"errors":{}}'
description: Returned if the custom field or the context is not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Update Custom Field Context
tags:
- Issue Custom Field Contexts
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- write:field:jira
state: Beta
x-atlassian-connect-scope: ADMIN
/rest/api/3/field/{fieldId}/context/{contextId}/issuetype:
put:
deprecated: false
description: >-
Adds issue types to a custom field context, appending the issue types to
the issue types list.
A custom field context without any issue
types applies to all issue types. Adding issue types to such a custom
field context would result in it applying to only the listed issue
types.
If any of the issue types exists in the custom field
context, the operation fails and no issue types are
added.
**[Permissions](#permissions) required:** *Administer
Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianAddissuetypestocontext
parameters:
- description: The ID of the custom field.
in: path
name: fieldId
required: true
schema:
type: string
- description: The ID of the context.
in: path
name: contextId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
example:
issueTypeIds:
- '10001'
- '10005'
- '10006'
schema:
$ref: '#/components/schemas/IssueTypeIds'
required: true
responses:
'204':
content:
application/json:
schema: {}
description: Returned if operation is successful.
'400':
content:
application/json:
example: >-
{"errorMessages":["These issue types are already associated with
the context: 10001."],"errors":{}}
description: Returned if the request is not valid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
example: >-
{"errorMessages":["Only Jira administrators can access custom
field contexts."],"errors":{}}
description: Returned if the user does not have the required permissions.
'404':
content:
application/json:
example: '{"errorMessages":["The context was not found."],"errors":{}}'
description: >-
Returned if the custom field, context, or one or more issue types
are not found.
'409':
content:
application/json:
example: >-
{"errorMessages":["Sub-tasks are disabled in Jira. At least one
of the issue types is a sub-task."],"errors":{}}
description: >-
Returned if the issue type is a sub-task, but sub-tasks are disabled
in Jira settings.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Add Issue Types To Context
tags:
- Issue Custom Field Contexts
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- write:field:jira
state: Beta
x-atlassian-connect-scope: ADMIN
/rest/api/3/field/{fieldId}/context/{contextId}/issuetype/remove:
post:
deprecated: false
description: >-
Removes issue types from a custom field context.
A custom field
context without any issue types applies to all issue
types.
**[Permissions](#permissions) required:** *Administer
Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianRemoveissuetypesfromcontext
parameters:
- description: The ID of the custom field.
in: path
name: fieldId
required: true
schema:
type: string
- description: The ID of the context.
in: path
name: contextId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
example:
issueTypeIds:
- '10001'
- '10005'
- '10006'
schema:
$ref: '#/components/schemas/IssueTypeIds'
required: true
responses:
'204':
content:
application/json:
schema: {}
description: Returned if operation is successful.
'400':
content:
application/json:
example: >-
{"errorMessages":["These issue types are not associated with the
context: 10002."],"errors":{}}
description: Returned if the request is not valid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
example: >-
{"errorMessages":["Only Jira administrators can access custom
field contexts."],"errors":{}}
description: Returned if the user does not have the required permissions.
'404':
content:
application/json:
example: '{"errorMessages":["The context was not found."],"errors":{}}'
description: >-
Returned if the custom field, context, or one or more issue types
are not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Remove Issue Types From Context
tags:
- Issue Custom Field Contexts
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- write:field:jira
state: Beta
x-atlassian-connect-scope: ADMIN
/rest/api/3/field/{fieldId}/context/{contextId}/option:
get:
deprecated: false
description: >-
Returns a [paginated](#pagination) list of all custom field option for a
context. Options are returned first then cascading options, in the order
they display in Jira.
This operation works for custom field
options created in Jira or the operations from this resource. **To work
with issue field select list options created for Connect apps use the
[Issue custom field options
(apps)](#api-group-issue-custom-field-options--apps-)
operations.**
**[Permissions](#permissions) required:**
*Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianGetoptionsforcontext
parameters:
- description: The ID of the custom field.
in: path
name: fieldId
required: true
schema:
type: string
- description: The ID of the context.
in: path
name: contextId
required: true
schema:
format: int64
type: integer
- description: The ID of the option.
in: query
name: optionId
schema:
format: int64
type: integer
- description: Whether only options are returned.
in: query
name: onlyOptions
schema:
default: false
type: boolean
- description: >-
The index of the first item to return in a page of results (page
offset).
in: query
name: startAt
schema:
default: 0
format: int64
type: integer
- description: The maximum number of items to return per page.
in: query
name: maxResults
schema:
default: 100
format: int32
type: integer
responses:
'200':
content:
application/json:
example: >-
{"isLast":true,"maxResults":100,"startAt":0,"total":4,"values":[{"id":"10001","value":"New
York"},{"id":"10002","value":"Boston","disabled":true},{"id":"10004","value":"Denver"},{"id":"10003","value":"Brooklyn","optionId":"10001"}]}
schema:
$ref: '#/components/schemas/PageBeanCustomFieldContextOption'
description: Returned if the request is successful.
'400':
content:
application/json:
example: >-
{"errorMessages":["The custom field doesn't support
options."],"errors":{}}
description: Returned if the request is not valid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
example: >-
{"errorMessages":["Only Jira administrators can manage custom
field options."],"errors":{}}
description: Returned if the user does not have the necessary permission.
'404':
content:
application/json:
example: >-
{"errorMessages":["The custom field was not
found."],"errors":{}}
description: >-
Returned if the custom field is not found or the context doesn't
match the custom field.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: 'Atlassian Get Custom Field Options Context'
tags:
- Issue Custom Field Options
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- read:field.option:jira
state: Beta
x-atlassian-connect-scope: READ
post:
deprecated: false
description: >-
Creates options and, where the custom select field is of the type Select
List (cascading), cascading options for a custom select field. The
options are added to a context of the field.
The maximum number
of options that can be created per request is 1000 and each field can
have a maximum of 10000 options.
This operation works for custom
field options created in Jira or the operations from this resource. **To
work with issue field select list options created for Connect apps use
the [Issue custom field options
(apps)](#api-group-issue-custom-field-options--apps-)
operations.**
**[Permissions](#permissions) required:**
*Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianCreatecustomfieldoption
parameters:
- description: The ID of the custom field.
in: path
name: fieldId
required: true
schema:
type: string
- description: The ID of the context.
in: path
name: contextId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
example:
options:
- disabled: false
value: Scranton
- disabled: true
optionId: '10000'
value: Manhattan
- disabled: false
value: The Electric City
schema:
$ref: '#/components/schemas/BulkCustomFieldOptionCreateRequest'
required: true
responses:
'200':
content:
application/json:
example: >-
{"options":[{"disabled":false,"id":"10001","value":"Scranton"},{"disabled":true,"id":"10002","optionId":"10000","value":"Manhattan"},{"disabled":false,"id":"10003","value":"The
Electric City"}]}
schema:
$ref: '#/components/schemas/CustomFieldCreatedContextOptionsList'
description: Returned if the request is successful.
'400':
content:
application/json:
example: >-
{"errorMessages":["The custom field doesn't support
options."],"errors":{}}
description: Returned if the request is not valid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
example: >-
{"errorMessages":["Only Jira administrators can manage custom
field options."],"errors":{}}
description: Returned if the user does not have the necessary permission.
'404':
content:
application/json:
example: >-
{"errorMessages":["The custom field was not
found."],"errors":{}}
description: >-
Returned if the custom field is not found or the context doesn't
match the custom field.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: 'Atlassian Create Custom Field Options Context'
tags:
- Issue Custom Field Options
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- read:field.option:jira
- write:field.option:jira
state: Beta
x-atlassian-connect-scope: ADMIN
put:
deprecated: false
description: >-
Updates the options of a custom field.
If any of the options are
not found, no options are updated. Options where the values in the
request match the current values aren't updated and aren't reported in
the response.
Note that this operation **only works for issue
field select list options created in Jira or using operations from the
[Issue custom field options](#api-group-Issue-custom-field-options)
resource**, it cannot be used with issue field select list options
created by Connect apps.
**[Permissions](#permissions)
required:** *Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianUpdatecustomfieldoption
parameters:
- description: The ID of the custom field.
in: path
name: fieldId
required: true
schema:
type: string
- description: The ID of the context.
in: path
name: contextId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
example:
options:
- disabled: false
id: '10001'
value: Scranton
- disabled: true
id: '10002'
value: Manhattan
- disabled: false
id: '10003'
value: The Electric City
schema:
$ref: '#/components/schemas/BulkCustomFieldOptionUpdateRequest'
required: true
responses:
'200':
content:
application/json:
example: >-
{"options":[{"disabled":false,"id":"10001","value":"Scranton"},{"disabled":true,"id":"10002","value":"Manhattan"},{"disabled":false,"id":"10003","value":"The
Electric City"}]}
schema:
$ref: '#/components/schemas/CustomFieldUpdatedContextOptionsList'
description: Returned if the request is successful.
'400':
content:
application/json:
example: >-
{"errorMessages":["The custom field doesn't support
options."],"errors":{}}
description: Returned if the request is not valid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
example: >-
{"errorMessages":["Only Jira administrators can manage custom
field options."],"errors":{}}
description: Returned if the user does not have the necessary permission.
'404':
content:
application/json:
example: >-
{"errorMessages":["The custom field was not
found."],"errors":{}}
description: Returned if the field, context, or one or more options is not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: 'Atlassian Update Custom Field Options Context'
tags:
- Issue Custom Field Options
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- read:field.option:jira
- write:field.option:jira
state: Beta
x-atlassian-connect-scope: ADMIN
/rest/api/3/field/{fieldId}/context/{contextId}/option/move:
put:
deprecated: false
description: >-
Changes the order of custom field options or cascading options in a
context.
This operation works for custom field options created in
Jira or the operations from this resource. **To work with issue field
select list options created for Connect apps use the [Issue custom field
options (apps)](#api-group-issue-custom-field-options--apps-)
operations.**
**[Permissions](#permissions) required:**
*Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianReordercustomfieldoptions
parameters:
- description: The ID of the custom field.
in: path
name: fieldId
required: true
schema:
type: string
- description: The ID of the context.
in: path
name: contextId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
example:
customFieldOptionIds:
- '10001'
- '10002'
position: First
schema:
$ref: '#/components/schemas/OrderOfCustomFieldOptions'
required: true
responses:
'204':
content:
application/json:
schema: {}
description: Returned if options are reordered.
'400':
content:
application/json:
example: >-
{"errorMessages":["'after' and 'position' were provided. Only
'after' or 'position' can be specified."],"errors":{}}
description: Returned if the request is not valid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
example: >-
{"errorMessages":["Only Jira administrators can manage custom
field options."],"errors":{}}
description: Returned if the user does not have the necessary permission.
'404':
content:
application/json:
example: >-
{"errorMessages":["The custom field was not
found."],"errors":{}}
description: >-
Returned if the field, the context, or one or more of the options is
not found..
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: 'Atlassian Reorder Custom Field Options Context'
tags:
- Issue Custom Field Options
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- write:field.option:jira
state: Beta
x-atlassian-connect-scope: ADMIN
/rest/api/3/field/{fieldId}/context/{contextId}/option/{optionId}:
delete:
deprecated: false
description: >-
Deletes a custom field option.
Options with cascading options
cannot be deleted without deleting the cascading options
first.
This operation works for custom field options created in
Jira or the operations from this resource. **To work with issue field
select list options created for Connect apps use the [Issue custom field
options (apps)](#api-group-issue-custom-field-options--apps-)
operations.**
**[Permissions](#permissions) required:**
*Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianDeletecustomfieldoption
parameters:
- description: The ID of the custom field.
in: path
name: fieldId
required: true
schema:
type: string
- description: The ID of the context from which an option should be deleted.
in: path
name: contextId
required: true
schema:
format: int64
type: integer
- description: The ID of the option to delete.
in: path
name: optionId
required: true
schema:
format: int64
type: integer
responses:
'204':
description: Returned if the option is deleted.
'400':
content:
application/json:
example: >-
{"errorMessages":["The custom field doesn't support
options."],"errors":{}}
description: Returned if the request is not valid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
example: >-
{"errorMessages":["Only Jira administrators can manage custom
field options."],"errors":{}}
description: Returned if the user does not have the necessary permission.
'404':
content:
application/json:
example: >-
{"errorMessages":["The custom field was not
found."],"errors":{}}
description: Returned if the field, the context, or the option is not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: 'Atlassian Delete Custom Field Options Context'
tags:
- Issue Custom Field Options
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- delete:field.option:jira
state: Beta
x-atlassian-connect-scope: ADMIN
/rest/api/3/field/{fieldId}/context/{contextId}/project:
put:
deprecated: false
description: >-
Assigns a custom field context to projects.
If any project in the
request is assigned to any context of the custom field, the operation
fails.
**[Permissions](#permissions) required:** *Administer
Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianAssignprojectstocustomfieldcontext
parameters:
- description: The ID of the custom field.
in: path
name: fieldId
required: true
schema:
type: string
- description: The ID of the context.
in: path
name: contextId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
example:
projectIds:
- '10001'
- '10005'
- '10006'
schema:
$ref: '#/components/schemas/ProjectIds'
required: true
responses:
'204':
content:
application/json:
schema: {}
description: Returned if operation is successful.
'400':
content:
application/json:
example: >-
{"errorMessages":["The projectIds must not contain
duplicates."],"errors":{}}
description: Returned if the request is not valid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
example: >-
{"errorMessages":["Only Jira administrators can access custom
field contexts."],"errors":{}}
description: Returned if the user does not have the required permissions.
'404':
content:
application/json:
example: '{"errorMessages":["The context was not found."],"errors":{}}'
description: Returned if the custom field, context, or project is not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Assign Custom Field Context To Projects
tags:
- Issue Custom Field Contexts
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- write:field:jira
state: Beta
x-atlassian-connect-scope: ADMIN
/rest/api/3/field/{fieldId}/context/{contextId}/project/remove:
post:
deprecated: false
description: >-
Removes a custom field context from projects.
A custom field
context without any projects applies to all projects. Removing all
projects from a custom field context would result in it applying to all
projects.
If any project in the request is not assigned to the
context, or the operation would result in two global contexts for the
field, the operation fails.
**[Permissions](#permissions)
required:** *Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianRemovecustomfieldcontextfromprojects
parameters:
- description: The ID of the custom field.
in: path
name: fieldId
required: true
schema:
type: string
- description: The ID of the context.
in: path
name: contextId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
example:
projectIds:
- '10001'
- '10005'
- '10006'
schema:
$ref: '#/components/schemas/ProjectIds'
required: true
responses:
'204':
content:
application/json:
schema: {}
description: Returned if the custom field context is removed from the projects.
'400':
content:
application/json:
example: >-
{"errorMessages":["The projectIds must not contain
duplicates."],"errors":{}}
description: Returned if the request is not valid.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
example: >-
{"errorMessages":["Only Jira administrators can access custom
field contexts."],"errors":{}}
description: Returned if the user does not have the required permissions.
'404':
content:
application/json:
example: '{"errorMessages":["The context was not found."],"errors":{}}'
description: >-
Returned if the custom field, context, or one or more projects are
not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Remove Custom Field Context From Projects
tags:
- Issue Custom Field Contexts
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- write:field:jira
state: Beta
x-atlassian-connect-scope: ADMIN
/rest/api/3/field/{fieldId}/contexts:
get:
deprecated: true
description: >-
Returns a [paginated](#pagination) list of the contexts a field is used
in. Deprecated, use [ Get custom field
contexts](#api-rest-api-3-field-fieldId-context-get).
**[Permissions](#permissions)
required:** *Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianGetcontextsforfielddeprecated
parameters:
- description: The ID of the field to return contexts for.
in: path
name: fieldId
required: true
schema:
type: string
- description: >-
The index of the first item to return in a page of results (page
offset).
in: query
name: startAt
schema:
default: 0
format: int64
type: integer
- description: The maximum number of items to return per page.
in: query
name: maxResults
schema:
default: 20
format: int32
type: integer
responses:
'200':
content:
application/json:
example: >-
{"isLast":false,"maxResults":1,"startAt":0,"total":5,"values":[{"id":10001,"name":"Default
Context"}]}
schema:
$ref: '#/components/schemas/PageBeanContext'
description: Returned if the request is successful.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
description: Returned if the user does not have the necessary permission.
security:
- basicAuth: []
- OAuth2:
- manage:jira-project
- {}
summary: Atlassian Get Contexts For A Field
tags:
- Issue Fields
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-project
state: Current
- scheme: OAuth2
scopes:
- read:field:jira
- read:avatar:jira
- read:project-category:jira
- read:project:jira
state: Beta
x-atlassian-connect-scope: NONE
/rest/api/3/field/{fieldId}/screens:
get:
deprecated: false
description: >-
Returns a [paginated](#pagination) list of the screens a field is used
in.
**[Permissions](#permissions) required:** *Administer Jira*
[global permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianGetscreensforfield
parameters:
- description: The ID of the field to return screens for.
in: path
name: fieldId
required: true
schema:
type: string
- description: >-
The index of the first item to return in a page of results (page
offset).
in: query
name: startAt
schema:
default: 0
format: int64
type: integer
- description: The maximum number of items to return per page.
in: query
name: maxResults
schema:
default: 100
format: int32
type: integer
- description: >-
Use [expand](#expansion) to include additional information about
screens in the response. This parameter accepts `tab` which returns
details about the screen tabs the field is used in.
in: query
name: expand
schema:
type: string
responses:
'200':
content:
application/json:
example: >-
{"isLast":false,"maxResults":1,"startAt":0,"total":5,"values":[{"id":10001,"name":"Default
Screen","description":"Provides for the update of all system
fields.","tab":{"id":10000,"name":"Fields Tab"}}]}
schema:
$ref: '#/components/schemas/PageBeanScreenWithTab'
description: Returned if the request is successful.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
description: Returned if the user does not have the necessary permission.
security:
- basicAuth: []
- OAuth2:
- manage:jira-project
- {}
summary: Atlassian Get Screens For A Field
tags:
- Screens
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-project
state: Current
- scheme: OAuth2
scopes:
- read:screen:jira
- read:avatar:jira
- read:project-category:jira
- read:project:jira
- read:screen-tab:jira
state: Beta
x-atlassian-connect-scope: NONE
/rest/api/3/field/{fieldKey}/option:
get:
deprecated: false
description: >-
Returns a [paginated](#pagination) list of all the options of a select
list issue field. A select list issue field is a type of [issue
field](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field/)
that enables a user to select a value from a list of
options.
Note that this operation **only works for issue field
select list options added by Connect apps**, it cannot be used with
issue field select list options created in Jira or using operations from
the [Issue custom field options](#api-group-Issue-custom-field-options)
resource.
**[Permissions](#permissions) required:** *Administer
Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
Jira permissions are not required for the app providing the field.
operationId: atlassianGetallissuefieldoptions
parameters:
- description: >-
The index of the first item to return in a page of results (page
offset).
in: query
name: startAt
schema:
default: 0
format: int64
type: integer
- description: The maximum number of items to return per page.
in: query
name: maxResults
schema:
default: 50
format: int32
type: integer
- description: >-
The field key is specified in the following format:
**$(app-key)\_\_$(field-key)**. For example,
*example-add-on\_\_example-issue-field*. To determine the `fieldKey`
value, do one of the following:
* open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.
* run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `"key": "teams-add-on__team-issue-field"`
in: path
name: fieldKey
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example: >-
{"isLast":false,"maxResults":1,"nextPage":"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option?startAt=1&maxResults=1","self":"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option?startAt=0&maxResults=1","startAt":0,"total":10,"values":[{"id":1,"value":"Team
1","properties":{"leader":{"name":"Leader
Name","email":"lname@example.com"},"members":42,"description":"The
team's
description","founded":"2016-06-06"},"config":{"scope":{"projects":[],"projects2":[{"id":1001,"attributes":["notSelectable"]},{"id":1002,"attributes":["notSelectable"]}],"global":{}},"attributes":[]}}]}
schema:
$ref: '#/components/schemas/PageBeanIssueFieldOption'
description: Returned if the request is successful.
'400':
description: Returned if the field is not found or does not support options.
'403':
description: >-
Returned if the request is not authenticated as a Jira administrator
or the app that provided the field.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Get All Issue Field Options
tags:
- Issue Custom Field Options (Apps)
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- read:field.option:jira
state: Beta
x-atlassian-connect-scope: NONE
post:
deprecated: false
description: >-
Creates an option for a select list issue field.
Note that this
operation **only works for issue field select list options added by
Connect apps**, it cannot be used with issue field select list options
created in Jira or using operations from the [Issue custom field
options](#api-group-Issue-custom-field-options) resource.
Each
field can have a maximum of 10000 options, and each option can have a
maximum of 10000 scopes.
**[Permissions](#permissions)
required:** *Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions
are not required for the app providing the field.
operationId: atlassianCreateissuefieldoption
parameters:
- description: >-
The field key is specified in the following format:
**$(app-key)\_\_$(field-key)**. For example,
*example-add-on\_\_example-issue-field*. To determine the `fieldKey`
value, do one of the following:
* open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.
* run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `"key": "teams-add-on__team-issue-field"`
in: path
name: fieldKey
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
config:
attributes: []
scope:
global: {}
projects: []
projects2:
- attributes:
- notSelectable
id: 1001
- attributes:
- notSelectable
id: 1002
properties:
description: The team's description
founded: '2016-06-06'
leader:
email: lname@example.com
name: Leader Name
members: 42
value: Team 1
schema:
$ref: '#/components/schemas/IssueFieldOptionCreateBean'
required: true
responses:
'200':
content:
application/json:
example: >-
{"id":1,"value":"Team 1","properties":{"leader":{"name":"Leader
Name","email":"lname@example.com"},"members":42,"description":"The
team's
description","founded":"2016-06-06"},"config":{"scope":{"projects":[],"projects2":[{"id":1001,"attributes":["notSelectable"]},{"id":1002,"attributes":["notSelectable"]}],"global":{}},"attributes":[]}}
schema:
$ref: '#/components/schemas/IssueFieldOption'
description: Returned if the request is successful.
'400':
description: Returned if the option is invalid.
'403':
description: >-
Returned if the request is not authenticated as a Jira administrator
or the app that provided the field.
'404':
description: Returned if the field is not found or does not support options.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Create Issue Field Option
tags:
- Issue Custom Field Options (Apps)
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- write:field.option:jira
state: Beta
x-atlassian-connect-scope: NONE
/rest/api/3/field/{fieldKey}/option/suggestions/edit:
get:
deprecated: false
description: >-
Returns a [paginated](#pagination) list of options for a select list
issue field that can be viewed and selected by the user.
Note
that this operation **only works for issue field select list options
added by Connect apps**, it cannot be used with issue field select list
options created in Jira or using operations from the [Issue custom field
options](#api-group-Issue-custom-field-options)
resource.
**[Permissions](#permissions) required:** Permission to
access Jira.
operationId: atlassianGetselectableissuefieldoptions
parameters:
- description: >-
The index of the first item to return in a page of results (page
offset).
in: query
name: startAt
schema:
default: 0
format: int64
type: integer
- description: The maximum number of items to return per page.
in: query
name: maxResults
schema:
default: 50
format: int32
type: integer
- description: >-
Filters the results to options that are only available in the
specified project.
in: query
name: projectId
schema:
format: int64
type: integer
- description: >-
The field key is specified in the following format:
**$(app-key)\_\_$(field-key)**. For example,
*example-add-on\_\_example-issue-field*. To determine the `fieldKey`
value, do one of the following:
* open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.
* run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `"key": "teams-add-on__team-issue-field"`
in: path
name: fieldKey
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example: >-
{"isLast":false,"maxResults":1,"nextPage":"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option/suggestions?startAt=1&maxResults=1","self":"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option/suggestions?startAt=0&maxResults=1","startAt":0,"total":10,"values":[{"id":1,"value":"Team
1","properties":{"leader":{"name":"Leader
Name","email":"lname@example.com"},"members":42,"description":"The
team's description","founded":"2016-06-06"}}]}
schema:
$ref: '#/components/schemas/PageBeanIssueFieldOption'
description: Returned if the request is successful.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'404':
description: Returned if the field is not found or does not support options.
security:
- basicAuth: []
- OAuth2:
- read:jira-work
summary: Atlassian Get Selectable Issue Field Options
tags:
- Issue Custom Field Options (Apps)
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- read:jira-work
state: Current
- scheme: OAuth2
scopes:
- read:field.option:jira
state: Beta
x-atlassian-connect-scope: NONE
/rest/api/3/field/{fieldKey}/option/suggestions/search:
get:
deprecated: false
description: >-
Returns a [paginated](#pagination) list of options for a select list
issue field that can be viewed by the user.
Note that this
operation **only works for issue field select list options added by
Connect apps**, it cannot be used with issue field select list options
created in Jira or using operations from the [Issue custom field
options](#api-group-Issue-custom-field-options)
resource.
**[Permissions](#permissions) required:** Permission to
access Jira.
operationId: atlassianGetvisibleissuefieldoptions
parameters:
- description: >-
The index of the first item to return in a page of results (page
offset).
in: query
name: startAt
schema:
default: 0
format: int64
type: integer
- description: The maximum number of items to return per page.
in: query
name: maxResults
schema:
default: 50
format: int32
type: integer
- description: >-
Filters the results to options that are only available in the
specified project.
in: query
name: projectId
schema:
format: int64
type: integer
- description: >-
The field key is specified in the following format:
**$(app-key)\_\_$(field-key)**. For example,
*example-add-on\_\_example-issue-field*. To determine the `fieldKey`
value, do one of the following:
* open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.
* run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `"key": "teams-add-on__team-issue-field"`
in: path
name: fieldKey
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example: >-
{"isLast":false,"maxResults":1,"nextPage":"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option/suggestions?startAt=1&maxResults=1","self":"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option/suggestions?startAt=0&maxResults=1","startAt":0,"total":10,"values":[{"id":1,"value":"Team
1","properties":{"leader":{"name":"Leader
Name","email":"lname@example.com"},"members":42,"description":"The
team's description","founded":"2016-06-06"}}]}
schema:
$ref: '#/components/schemas/PageBeanIssueFieldOption'
description: Returned if the request is successful.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'404':
description: Returned if the field is not found or does not support options.
security:
- basicAuth: []
- OAuth2:
- read:jira-work
summary: Atlassian Get Visible Issue Field Options
tags:
- Issue Custom Field Options (Apps)
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- read:jira-work
state: Current
- scheme: OAuth2
scopes:
- read:field.option:jira
state: Beta
x-atlassian-connect-scope: NONE
/rest/api/3/field/{fieldKey}/option/{optionId}:
delete:
deprecated: false
description: >-
Deletes an option from a select list issue field.
Note that this
operation **only works for issue field select list options added by
Connect apps**, it cannot be used with issue field select list options
created in Jira or using operations from the [Issue custom field
options](#api-group-Issue-custom-field-options)
resource.
**[Permissions](#permissions) required:** *Administer
Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
Jira permissions are not required for the app providing the field.
operationId: atlassianDeleteissuefieldoption
parameters:
- description: >-
The field key is specified in the following format:
**$(app-key)\_\_$(field-key)**. For example,
*example-add-on\_\_example-issue-field*. To determine the `fieldKey`
value, do one of the following:
* open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.
* run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `"key": "teams-add-on__team-issue-field"`
in: path
name: fieldKey
required: true
schema:
type: string
- description: The ID of the option to be deleted.
in: path
name: optionId
required: true
schema:
format: int64
type: integer
responses:
'204':
content:
application/json:
schema: {}
description: Returned if the field option is deleted.
'403':
description: >-
Returned if the request is not authenticated as a Jira administrator
or the app that provided the field.
'404':
description: Returned if the field or option is not found.
'409':
description: Returned if the option is selected for the field in any issue.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Delete Issue Field Option
tags:
- Issue Custom Field Options (Apps)
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- delete:field.option:jira
state: Beta
x-atlassian-connect-scope: NONE
get:
deprecated: false
description: >-
Returns an option from a select list issue field.
Note that this
operation **only works for issue field select list options added by
Connect apps**, it cannot be used with issue field select list options
created in Jira or using operations from the [Issue custom field
options](#api-group-Issue-custom-field-options)
resource.
**[Permissions](#permissions) required:** *Administer
Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
Jira permissions are not required for the app providing the field.
operationId: atlassianGetissuefieldoption
parameters:
- description: >-
The field key is specified in the following format:
**$(app-key)\_\_$(field-key)**. For example,
*example-add-on\_\_example-issue-field*. To determine the `fieldKey`
value, do one of the following:
* open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.
* run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `"key": "teams-add-on__team-issue-field"`
in: path
name: fieldKey
required: true
schema:
type: string
- description: The ID of the option to be returned.
in: path
name: optionId
required: true
schema:
format: int64
type: integer
responses:
'200':
content:
application/json:
example: >-
{"id":1,"value":"Team 1","properties":{"leader":{"name":"Leader
Name","email":"lname@example.com"},"members":42,"description":"The
team's
description","founded":"2016-06-06"},"config":{"scope":{"projects":[],"projects2":[{"id":1001,"attributes":["notSelectable"]},{"id":1002,"attributes":["notSelectable"]}],"global":{}},"attributes":[]}}
schema:
$ref: '#/components/schemas/IssueFieldOption'
description: Returned if the requested option is returned.
'400':
description: Returned if the field is not found or does not support options.
'403':
description: >-
Returned if the request is not authenticated as a Jira administrator
or the app that provided the field.
'404':
description: Returned if the option is not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Get Issue Field Option
tags:
- Issue Custom Field Options (Apps)
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- read:field.option:jira
state: Beta
x-atlassian-connect-scope: NONE
put:
deprecated: false
description: >-
Updates or creates an option for a select list issue field. This
operation requires that the option ID is provided when creating an
option, therefore, the option ID needs to be specified as a path and
body parameter. The option ID provided in the path and body must be
identical.
Note that this operation **only works for issue field
select list options added by Connect apps**, it cannot be used with
issue field select list options created in Jira or using operations from
the [Issue custom field options](#api-group-Issue-custom-field-options)
resource.
**[Permissions](#permissions) required:** *Administer
Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
Jira permissions are not required for the app providing the field.
operationId: atlassianUpdateissuefieldoption
parameters:
- description: >-
The field key is specified in the following format:
**$(app-key)\_\_$(field-key)**. For example,
*example-add-on\_\_example-issue-field*. To determine the `fieldKey`
value, do one of the following:
* open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.
* run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `"key": "teams-add-on__team-issue-field"`
in: path
name: fieldKey
required: true
schema:
type: string
- description: The ID of the option to be updated.
in: path
name: optionId
required: true
schema:
format: int64
type: integer
requestBody:
content:
application/json:
example:
config:
attributes: []
scope:
global: {}
projects: []
projects2:
- attributes:
- notSelectable
id: 1001
- attributes:
- notSelectable
id: 1002
id: 1
properties:
description: The team's description
founded: '2016-06-06'
leader:
email: lname@example.com
name: Leader Name
members: 42
value: Team 1
schema:
$ref: '#/components/schemas/IssueFieldOption'
required: true
responses:
'200':
content:
application/json:
example: >-
{"id":1,"value":"Team 1","properties":{"leader":{"name":"Leader
Name","email":"lname@example.com"},"members":42,"description":"The
team's
description","founded":"2016-06-06"},"config":{"scope":{"projects":[],"projects2":[{"id":1001,"attributes":["notSelectable"]},{"id":1002,"attributes":["notSelectable"]}],"global":{}},"attributes":[]}}
schema:
$ref: '#/components/schemas/IssueFieldOption'
description: Returned if the option is updated or created.
'400':
description: >-
Returned if the option is invalid, or the *ID* in the request object
does not match the *optionId* parameter.
'403':
description: >-
Returned if the request is not authenticated as a Jira administrator
or the app that provided the field.
'404':
description: Returned if field is not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Update Issue Field Option
tags:
- Issue Custom Field Options (Apps)
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- write:field.option:jira
state: Beta
x-atlassian-connect-scope: NONE
/rest/api/3/field/{fieldKey}/option/{optionId}/issue:
delete:
deprecated: false
description: >-
Deselects an issue-field select-list option from all issues where it is
selected. A different option can be selected to replace the deselected
option. The update can also be limited to a smaller set of issues by
using a JQL query.
Connect and Forge app users with *Administer
Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) can
override the screen security configuration using
`overrideScreenSecurity` and `overrideEditableFlag`.
This is an
[asynchronous operation](#async). The response object contains a link to
the long-running task.
Note that this operation **only works for
issue field select list options added by Connect apps**, it cannot be
used with issue field select list options created in Jira or using
operations from the [Issue custom field
options](#api-group-Issue-custom-field-options)
resource.
**[Permissions](#permissions) required:** *Administer
Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
Jira permissions are not required for the app providing the field.
operationId: atlassianReplaceissuefieldoption
parameters:
- description: >-
The ID of the option that will replace the currently selected
option.
in: query
name: replaceWith
schema:
format: int64
type: integer
- description: >-
A JQL query that specifies the issues to be updated. For example,
*project=10000*.
in: query
name: jql
schema:
type: string
- description: >-
Whether screen security is overridden to enable hidden fields to be
edited. Available to Connect and Forge app users with admin
permission.
in: query
name: overrideScreenSecurity
schema:
default: false
type: boolean
- description: >-
Whether screen security is overridden to enable uneditable fields to
be edited. Available to Connect and Forge app users with *Administer
Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg).
in: query
name: overrideEditableFlag
schema:
default: false
type: boolean
- description: >-
The field key is specified in the following format:
**$(app-key)\_\_$(field-key)**. For example,
*example-add-on\_\_example-issue-field*. To determine the `fieldKey`
value, do one of the following:
* open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.
* run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `"key": "teams-add-on__team-issue-field"`
in: path
name: fieldKey
required: true
schema:
type: string
- description: The ID of the option to be deselected.
in: path
name: optionId
required: true
schema:
format: int64
type: integer
responses:
'303':
content:
application/json:
example: >-
{"self":"https://your-domain.atlassian.net/rest/api/3/task/1","id":"1","description":"Remove
option 1 from issues matched by '*', and replace with option
3","status":"COMPLETE","result":{"errors":{"errorMessages":["Option
2 cannot be set on issue MKY-5 as it is not in the correct
scope"],"errors":{},"httpStatusCode":{"empty":false,"present":true}},"modifiedIssues":[10001,10010],"unmodifiedIssues":[10005]},"elapsedRuntime":42}
schema:
$ref: >-
#/components/schemas/TaskProgressBeanRemoveOptionFromIssuesResult
description: Returned if the long-running task to deselect the option is started.
'400':
description: Returned if the request is not valid.
'403':
content:
application/json:
example: >-
{"errorMessages":["Connect and Forge app users with Administer
Jira global permission can override screen
security."],"errors":{}}
description: Returned if the user does not have the necessary permission.
'404':
description: >-
Returned if the field is not found or does not support options, or
the options to be replaced are not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Replace Issue Field Option
tags:
- Issue Custom Field Options (Apps)
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- write:field.option:jira
- delete:field.option:jira
state: Beta
x-atlassian-connect-scope: NONE
/rest/api/3/field/{id}:
delete:
deprecated: false
description: >-
Deletes a custom field. The custom field is deleted whether it is in the
trash or not. See [Edit or delete a custom
field](https://confluence.atlassian.com/x/Z44fOw) for more information
on trashing and deleting custom fields.
This operation is
[asynchronous](#async). Follow the `location` link in the response to
determine the status of the task and use [Get
task](#api-rest-api-3-task-taskId-get) to obtain subsequent
updates.
**[Permissions](#permissions) required:** *Administer
Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianDeletecustomfield
parameters:
- description: The ID of a custom field.
in: path
name: id
required: true
schema:
type: string
responses:
'303':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskProgressBeanObject'
description: Returned if the request is successful.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorCollection'
description: |-
Returned if any of these are true:
* The custom field is locked.
* The custom field is used in a issue security scheme or a permission scheme.
* The custom field ID format is incorrect.
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorCollection'
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorCollection'
description: Returned if the user does not have the necessary permission.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorCollection'
description: Returned if the custom field is not found.
'409':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorCollection'
description: Returned if a task to delete the custom field is running.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Delete Custom Field
tags:
- Issue Fields
x-atlassian-data-security-policy:
- app-access-rule-exempt: false
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- delete:field:jira
state: Beta
x-atlassian-connect-scope: ADMIN
/rest/api/3/field/{id}/restore:
post:
deprecated: false
description: >-
Restores a custom field from trash. See [Edit or delete a custom
field](https://confluence.atlassian.com/x/Z44fOw) for more information
on trashing and deleting custom
fields.
**[Permissions](#permissions) required:** *Administer
Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianRestorecustomfield
parameters:
- description: The ID of a custom field.
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema: {}
description: Returned if the request is successful.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorCollection'
description: Returned if the request is invalid.
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorCollection'
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorCollection'
description: Returned if the user does not have the necessary permission.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorCollection'
description: Returned if the custom field is not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Restore Custom Field From Trash
tags:
- Issue Fields
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- write:field:jira
state: Beta
x-atlassian-connect-scope: ADMIN
/rest/api/3/field/{id}/trash:
post:
deprecated: false
description: >-
Moves a custom field to trash. See [Edit or delete a custom
field](https://confluence.atlassian.com/x/Z44fOw) for more information
on trashing and deleting custom
fields.
**[Permissions](#permissions) required:** *Administer
Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianTrashcustomfield
parameters:
- description: The ID of a custom field.
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema: {}
description: Returned if the request is successful.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorCollection'
description: Returned if the request is invalid.
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorCollection'
description: Returned if the authentication credentials are incorrect or missing.
'403':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorCollection'
description: Returned if the user does not have the necessary permission.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorCollection'
description: Returned if the custom field is not found.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Move Custom Field To Trash
tags:
- Issue Fields
x-atlassian-data-security-policy:
- app-access-rule-exempt: true
x-atlassian-oauth2-scopes:
- scheme: OAuth2
scopes:
- manage:jira-configuration
state: Current
- scheme: OAuth2
scopes:
- delete:field:jira
state: Beta
x-atlassian-connect-scope: ADMIN
servers:
- url: https://your-domain.atlassian.net
tags:
- name: Issue Custom Field Contexts
- name: Issue Custom Field Options
- name: Issue Custom Field Options (Apps)
- name: Issue Fields
- name: Screens
x-atlassian-narrative:
documents:
- anchor: about
body: >-
The Jira REST API enables you to interact with Jira programmatically.
Use this API to
[build
apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/),
script interactions with
Jira, or develop any other type of integration. This page documents the
REST resources available in Jira Cloud, including
the HTTP response codes and example requests and responses.
title: About
- anchor: version
body: >
This documentation is for **version 3** of the Jira Cloud platform REST
API, which is the latest version
but is in **beta**. [Version
2](https://developer.atlassian.com/cloud/jira/platform/rest/v2/) and
version 3 of the API offer the same collection of operations. However,
version 3 provides support for
the [Atlassian Document
Format](https://developer.atlassian.com/cloud/jira/platform/apis/document/structure/)
(ADF) in:
- `body` in comments, including where comments are used in issue, issue
link, and transition resources.
- `comment` in worklogs.
- `description` and `environment` fields in issues.
- `textarea` type custom fields (multi-line text fields) in issues.
Single line custom fields
(`textfield`) accept a string and don't handle Atlassian Document Format content.
However, these new features are under development and may change.
title: Version
- anchor: authentication
body: >
### Forge apps
For Forge apps, [REST API
scopes](https://developer.atlassian.com/cloud/jira/platform/scopes-for-oauth-2-3LO-and-forge-apps/)
are used when authenticating with Jira Cloud platform. See [Add scopes
to call an Atlassian REST
API](https://developer.atlassian.com/platform/forge/add-scopes-to-call-an-atlassian-rest-api/)
for more details.
The URIs for Forge app REST API calls have this structure:
`/rest/api/3/`
For example, `/rest/api/3/issue/DEMO-1`
### Connect apps
For Connect apps, authentication (JWT-based) is built into the Connect
libraries. Authorization is implemented using either
scopes (shown as _App scope required_ for operations on this page) or
user impersonation. See
[Security for Connect
apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)
for details.
The URIs for Connect app REST API calls have this structure:
`https:///rest/api/3/`
For example, `https://your-domain.atlassian.net/rest/api/3/issue/DEMO-1`
### Other integrations
For integrations that are not Forge or Connect apps, use OAuth 2.0
authorization code grants (3LO) for security
(3LO scopes are shown as for operations _OAuth scopes required_). See
[OAuth 2.0 (3LO)
apps](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps/)
for details.
The URIs for OAuth 2.0 (3LO) app REST API calls have this structure:
`https://api.atlassian.com/ex/jira//rest/api/3/`
For example,
`https://api.atlassian.com/ex/jira/35273b54-3f06-40d2-880f-dd28cf8daafa/rest/api/3/issue/DEMO-1`
### Ad-hoc API calls
For personal scripts, bots, and ad-hoc execution of the REST APIs use
basic authentication. See [Basic auth for REST
APIs](https://developer.atlassian.com/cloud/jira/platform/basic-auth-for-rest-apis/)
for details.
The URIs for basic authentication REST API calls have this structure:
`https:///rest/api/3/`
For example, `https://your-domain.atlassian.net/rest/api/3/issue/DEMO-1`
title: Authentication and authorization
- anchor: permissions
body: >
### Operation permissions
Most operations in this API require permissions. The calling user must
have the required permissions for an operation to
use it. Note that for Connect apps, the app user must have the required
permissions for the operation and the app must
have scopes that permit the operation.
A permission can be granted to a group, project role, or issue role that
the user is a member of, or granted directly to a user.
See [Permissions overview](https://confluence.atlassian.com/x/FQiiLQ)
for details. The most common permissions are:
- **Administer the Cloud site**: Users in the _site-admins_ group have
this
permission. See [Manage
groups](https://confluence.atlassian.com/x/24xjL) for details.
- **Administer Jira**: Granted by the _Jira Administrators_ global
permission. There is a default group for this permission.
See [Manage groups](https://confluence.atlassian.com/x/24xjL) and
[Managing global permissions](https://confluence.atlassian.com/x/x4dKLg)
for details.
- **Administer a project in Jira**: Granted by the _Administer projects_
project permission for a project. This can be
granted to a user, a group, a project role, and more.
See [Managing project
permissions](https://confluence.atlassian.com/x/yodKLg) for details.
- **Access a project in Jira**: Granted by the _Browse projects_ project
permission for a project. This can be
granted to a user, a group, a project role, and more.
See [Managing project
permissions](https://confluence.atlassian.com/x/yodKLg) for details.
- **Access Jira**: Granted by the _Jira Users_ global permission. Users
in the default product access group (for example,
_jira-software-users-acmesite_) have this permission.
See [Manage groups](https://confluence.atlassian.com/x/24xjL) and
[Managing global permissions](https://confluence.atlassian.com/x/x4dKLg)
for details.
### Anonymous access
Some operations provide support for anonymous access. However, anonymous
access is only available if
the Jira permission needed to access the object or records returned by
the operation is granted to
the _Public_ group. See [Allowing anonymous access to your
project](https://confluence.atlassian.com/x/GDxxLg)
for details.
If an operation is called anonymously and anonymous access is not
available, the operation will return
an error. Note that not all operations that correspond to objects that
can be given public access
provide for anonymous access.
title: Permissions
- anchor: expansion
body: >+
### Expansion
The Jira REST API uses resource expansion, which means that some parts
of a resource are not returned unless specified
in the request. This simplifies responses and minimizes network traffic.
To expand part of a resource in a request, use the expand query
parameter and specify the object(s) to be expanded.
If you need to expand nested objects, use the `.` dot notation. If you
need to expand multiple objects, use a
comma-separated list.
For example, the following request expands the `names` and
`renderedFields` properties for the _JRACLOUD-34423_ issue:
`GET issue/JRACLOUD-34423?expand=names,renderedFields`
To discover which object can be expanded, refer to the `expand` property
in the object.
In the JSON example below, the resource declares `widgets` as
expandable.
```json
{
"expand": "widgets",
"self": "https://your-domain.atlassian.net/rest/api/3/resource/KEY-1",
"widgets": {
"widgets": [],
"size": 5
}
}
```
### Pagination
The Jira REST API uses pagination to improve performance. Pagination is
enforced for operations that could return a large
collection of items. When you make a request to a paginated resource,
the response wraps the returned array of values in
a JSON object with paging metadata. For example:
```json
{
"startAt" : 0,
"maxResults" : 10,
"total": 200,
"isLast": false,
"values": [
{ /* result 0 */ },
{ /* result 1 */ },
{ /* result 2 */ }
]
}
```
* `startAt` is the index of the first item returned in the page.
* `maxResults` is the maximum number of items that a page can return.
Each operation can have a different limit for
the number of items returned, and these limits may change without notice. To find the maximum number of items
that an operation could return, set `maxResults` to a large number—for example, over 1000—and if the returned value of `maxResults` is less than the requested value, the returned value is the maximum.
* `total` is the total number of items contained in all pages. This
number **_may change_** as the client
requests the subsequent pages, therefore the client should always assume
that the requested page can be empty. Note
that this property is not returned for all operations.
* `isLast` indicates whether the page returned is the last one. Note
that this property is not returned for all operations.
### Ordering
Some operations support ordering the elements of a response by a field.
Check the documentation for the operation to
confirm whether ordering of a response is supported and which fields can
be used. Responses are listed in ascending order
by default. You can change the order using the `orderby` query parameter
with a `-` or `+` symbol. For example:
* `?orderBy=name` to order by `name` field ascending.
* `?orderBy=+name` to order by `name` field ascending.
* `?orderBy=-name` to order by `name` field descending.
title: Expansion, pagination, and ordering
- anchor: timestamps
body: >
By default, top-level timestamps (e.g. updated and created) are returned
in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) format, in the system
default user time zone.
To return date time data in the logged in user's timezone, please refer
to `renderedFields` property under the `expand` query parameter in
relevant APIs.
title: Timestamps
- anchor: special-request-headers
body: >-
The following request and response headers define important metadata for
the Jira Cloud REST API resources.
- `X-Atlassian-Token` (request): Operations that accept
multipart/form-data must include the `X-Atlassian-Token: no-check`
header in requests. Otherwise the request is blocked by cross-site
request forgery (CSRF/XSRF) protection.
- `X-Force-Accept-Language` (request): controls how the standard HTTP
`Accept-Language` header is processed.
By default `Accept-Language` is ignored and the response is in the
language configured in the user's profile or,
when no language is configured for the user, the default Jira instance
language. For the response to recognize
`Accept-Language` send `X-Force-Accept-Language = true` as well. If
`Accept-Language` requests a language that Jira
can return the response is in that language, otherwise Jira returns the
response in the default language. If
`Accept-Language` is not specified the response is in the default
language.
- `X-AAccountId` (response): This response header contains the
Atlassian account ID of the authenticated user.
title: Special headers
- anchor: anonymous-operations
body: |2-
Jira provides for all permissions, except the [global permission](https://confluence.atlassian.com/x/x4dKLg) Administer Jira, to be assigned to *Anyone*. Once a permission is assigned to *Anyone*, anyone knowing a project's URL is able to use the features in Jira enabled by the permission. However, the Jira REST API does not enable anonymous access for operations by default. This means that an anonymous user who may be able to perform an action through Jira, may not be able to perform the same action where it's enabled by the REST API.
The operations that provide anonymous access are annotated "This operation can be accessed anonymously."
title: Anonymous operations
- anchor: async-operations
body: >-
Some Jira REST API operations may trigger long-running or
computationally expensive tasks. In these cases, the operation
will schedule an asynchronous task and return a `303 (See Other)`
response, indicating the location of the queued task
in the `Location` header. You can query this task to get progress
updates.
When the task finishes, the response object will contain the `result`
field. The content of the field is specific to the
operation that created the task. Refer to the operation’s documentation
for more information.
Note that asynchronous tasks are not guaranteed to be run in order. In
other words, if you need your tasks to execute
in a certain order, you should start a task only after the prerequisite
task(s) have finished.
title: Asynchronous operations
- anchor: experimental
body: >
Features and methods marked as experimental may change without notice.
Feedback on experimental functionality is welcome.
Report your suggestions and bugs in the [ACJIRA
project](https://ecosystem.atlassian.net/projects/ACJIRA) (preferred) or
use the
**Give docs feedback** link at the top of this page.
title: Experimental features
- anchor: status-codes
body: >-
The Jira Cloud platform REST API uses the [standard HTTP status
codes](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).
Operations that return an error status code may also return a response
body containing details of the error or errors.
The schema for the response body is shown below:
```json
{
"id": "https://docs.atlassian.com/jira/REST/schema/error-collection#",
"title": "Error Collection",
"type": "object",
"properties": {
"errorMessages": {
"type": "array",
"items": {
"type": "string"
}
},
"errors": {
"type": "object",
"patternProperties": {
".+": {
"type": "string"
}
},
"additionalProperties": false
},
"status": {
"type": "integer"
}
},
"additionalProperties": false
}
```
title: Status codes