components:
schemas:
ApplicationProperty:
additionalProperties: false
description: Details of an application property.
properties:
allowedValues:
description: The allowed values, if applicable.
items:
type: string
type: array
defaultValue:
description: The default value of the application property.
type: string
desc:
description: The description of the application property.
type: string
example:
type: string
id:
description: The ID of the application property. The ID and key are the same.
type: string
key:
description: The key of the application property. The ID and key are the same.
type: string
name:
description: The name of the application property.
type: string
type:
description: The data type of the application property.
type: string
value:
description: The new value.
type: string
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/application-properties/'
version: 1001.0.0-SNAPSHOT-67b5c6e5f3598d7ec1649016d026468ab2838a77
openapi: 3.0.1
paths:
/rest/api/3/application-properties/advanced-settings:
get:
deprecated: false
description: >-
Returns the application properties that are accessible on the *Advanced
Settings* page. To navigate to the *Advanced Settings* page in Jira,
choose the Jira icon > **Jira settings** > **System**, **General
Configuration** and then click **Advanced Settings** (in the upper
right).
**[Permissions](#permissions) required:** *Administer
Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianGetadvancedsettings
parameters: []
responses:
'200':
content:
application/json:
example: >-
[{"defaultValue":"","desc":"Jira home
directory","id":"jira.home","key":"jira.home","name":"jira.home","type":"string","value":"/var/jira/jira-home"},{"defaultValue":"CLONE
-","id":"jira.clone.prefix","key":"jira.clone.prefix","name":"The
prefix added to the Summary field of cloned
issues","type":"string","value":"CLONE -"}]
schema:
items:
$ref: '#/components/schemas/ApplicationProperty'
type: array
description: Returned if the request is successful.
'401':
description: Returned if the authentication credentials are incorrect or missing.
'403':
description: Returned if the user is not an administrator.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Get Advanced Settings
tags:
- Jira Settings
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:instance-configuration:jira
state: Beta
x-atlassian-connect-scope: ADMIN
/rest/api/3/application-properties/{id}:
put:
deprecated: false
description: >-
Changes the value of an application property. For example, you can
change the value of the `jira.clone.prefix` from its default value of
*CLONE -* to *Clone -* if you prefer sentence case capitalization.
Editable properties are described below along with their default
values.
#### Advanced settings ####
The advanced settings
below are also accessible in
[Jira](https://confluence.atlassian.com/x/vYXKM).
| Key |
Description | Default value |
| -- | -- | -- |
|
`jira.clone.prefix` | The string of text prefixed to the title of a
cloned issue. | `CLONE -` |
| `jira.date.picker.java.format` | The
date format for the Java (server-side) generated dates. This must be the
same as the `jira.date.picker.javascript.format` format setting. |
`d/MMM/yy` |
| `jira.date.picker.javascript.format` | The date
format for the JavaScript (client-side) generated dates. This must be
the same as the `jira.date.picker.java.format` format setting. |
`%e/%b/%y` |
| `jira.date.time.picker.java.format` | The date
format for the Java (server-side) generated date times. This must be the
same as the `jira.date.time.picker.javascript.format` format setting. |
`dd/MMM/yy h:mm a` |
| `jira.date.time.picker.javascript.format` |
The date format for the JavaScript (client-side) generated date times.
This must be the same as the `jira.date.time.picker.java.format` format
setting. | `%e/%b/%y %I:%M %p` |
| `jira.issue.actions.order` | The
default order of actions (such as *Comments* or *Change history*)
displayed on the issue view. | `asc` |
|
`jira.view.issue.links.sort.order` | The sort order of the list of issue
links on the issue view. | `type, status, priority` |
|
`jira.comment.collapsing.minimum.hidden` | The minimum number of
comments required for comment collapsing to occur. A value of `0`
disables comment collapsing. | `4` |
|
`jira.newsletter.tip.delay.days` | The number of days before a prompt to
sign up to the Jira Insiders newsletter is shown. A value of `-1`
disables this feature. | `7` |
#### Look and feel
####
The settings listed below adjust the [look and
feel](https://confluence.atlassian.com/x/VwCLLg).
| Key |
Description | Default value |
| -- | -- | -- |
|
`jira.lf.date.time` | The [ time
format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html).
| `h:mm a` |
| `jira.lf.date.day` | The [ day
format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html).
| `EEEE h:mm a` |
| `jira.lf.date.complete` | The [ date and time
format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html).
| `dd/MMM/yy h:mm a` |
| `jira.lf.date.dmy` | The [ date
format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html).
| `dd/MMM/yy` |
| `jira.date.time.picker.use.iso8061` | When
enabled, sets Monday as the first day of the week in the date picker, as
specified by the ISO8601 standard. | `false` |
| `jira.lf.logo.url`
| The URL of the logo image file. | `/images/icon-jira-logo.png` |
| `jira.lf.logo.show.application.title` | Controls the visibility of
the application title on the sidebar. | `false` |
|
`jira.lf.favicon.url` | The URL of the favicon. | `/favicon.ico` |
| `jira.lf.favicon.hires.url` | The URL of the high-resolution
favicon. | `/images/64jira.png` |
| `jira.lf.navigation.bgcolour` |
The background color of the sidebar. | `#0747A6` |
|
`jira.lf.navigation.highlightcolour` | The color of the text and logo of
the sidebar. | `#DEEBFF` |
| `jira.lf.hero.button.base.bg.colour` |
The background color of the hero button. | `#3b7fc4` |
|
`jira.title` | The text for the application title. The application title
can also be set in *General settings*. | `Jira` |
|
`jira.option.globalsharing` | Whether filters and dashboards can be
shared with anyone signed into Jira. | `true` |
|
`xflow.product.suggestions.enabled` | Whether to expose product
suggestions for other Atlassian products within Jira. | `true` |
#### Other settings ####
| Key | Description |
Default value |
| -- | -- | -- |
|
`jira.issuenav.criteria.autoupdate` | Whether instant updates to search
criteria is active. | `true` |
*Note: Be careful when
changing [application properties and advanced
settings](https://confluence.atlassian.com/x/vYXKM).*
**[Permissions](#permissions)
required:** *Administer Jira* [global
permission](https://confluence.atlassian.com/x/x4dKLg).
operationId: atlassianSetapplicationproperty
parameters:
- description: The key of the application property to update.
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
id: jira.home
value: /var/jira/jira-home
schema:
$ref: '#/components/schemas/SimpleApplicationPropertyBean'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ApplicationProperty'
description: Returned if the request is successful.
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorCollection'
description: >-
Returned if the data type of the `value` does not match the
application property's data type. For example, a string is provided
instead of an integer.
'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 permission to edit the property.
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorCollection'
description: >-
Returned if the property is not found or the user does not have
permission to view it.
security:
- basicAuth: []
- OAuth2:
- manage:jira-configuration
summary: Atlassian Set Application Property
tags:
- Jira Settings
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:instance-configuration:jira
- read:instance-configuration:jira
state: Beta
x-atlassian-connect-scope: ADMIN
servers:
- url: https://your-domain.atlassian.net
tags:
- name: Jira Settings
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