components: schemas: IssueArchivalSyncResponse: additionalProperties: false description: >- Number of archived/unarchived issues and list of errors that occurred during the action, if any. properties: errors: $ref: '#/components/schemas/Errors' numberOfIssuesUpdated: format: int64 type: integer type: object IssueCreateMetadata: additionalProperties: false description: The wrapper for the issue creation metadata for a list of projects. properties: expand: description: >- Expand options that include additional project details in the response. readOnly: true type: string xml: attribute: true projects: description: List of projects and their issue creation metadata. items: $ref: '#/components/schemas/ProjectIssueCreateMetadata' readOnly: true type: array type: object PageOfCreateMetaIssueTypes: additionalProperties: true description: A page of CreateMetaIssueTypes. properties: createMetaIssueType: items: $ref: '#/components/schemas/IssueTypeIssueCreateMetadata' type: array writeOnly: true issueTypes: description: The list of CreateMetaIssueType. items: $ref: '#/components/schemas/IssueTypeIssueCreateMetadata' readOnly: true type: array maxResults: description: The maximum number of items to return per page. format: int32 readOnly: true type: integer startAt: description: The index of the first item returned. format: int64 readOnly: true type: integer total: description: The total number of items in all pages. format: int64 readOnly: true type: integer type: object PageOfCreateMetaIssueTypeWithField: additionalProperties: true description: A page of CreateMetaIssueType with Field. properties: fields: description: The collection of FieldCreateMetaBeans. items: $ref: '#/components/schemas/FieldCreateMetadata' readOnly: true type: array maxResults: description: The maximum number of items to return per page. format: int32 readOnly: true type: integer results: items: $ref: '#/components/schemas/FieldCreateMetadata' type: array startAt: description: The index of the first item returned. format: int64 readOnly: true type: integer total: description: The total number of items in all pages. format: int64 readOnly: true type: integer type: object IssuePickerSuggestions: additionalProperties: false description: A list of issues suggested for use in auto-completion. properties: sections: description: >- A list of issues for an issue type suggested for use in auto-completion. items: $ref: '#/components/schemas/IssuePickerSuggestionsIssueType' readOnly: true type: array type: object BulkIssueIsWatching: additionalProperties: false description: A container for the watch status of a list of issues. properties: issuesIsWatching: additionalProperties: readOnly: true type: boolean description: The map of issue ID to boolean watch status. readOnly: true type: object type: object IssueBean: additionalProperties: false description: Details about an issue. properties: changelog: allOf: - $ref: '#/components/schemas/PageOfChangelogs' description: Details of changelogs associated with the issue. readOnly: true editmeta: allOf: - $ref: '#/components/schemas/IssueUpdateMetadata' description: The metadata for the fields on the issue that can be amended. readOnly: true expand: description: >- Expand options that include additional issue details in the response. readOnly: true type: string xml: attribute: true fields: additionalProperties: {} type: object fieldsToInclude: $ref: '#/components/schemas/IncludedFields' id: description: The ID of the issue. readOnly: true type: string key: description: The key of the issue. readOnly: true type: string names: additionalProperties: readOnly: true type: string description: The ID and name of each field present on the issue. readOnly: true type: object operations: allOf: - $ref: '#/components/schemas/Operations' description: The operations that can be performed on the issue. readOnly: true properties: additionalProperties: readOnly: true description: Details of the issue properties identified in the request. readOnly: true type: object renderedFields: additionalProperties: readOnly: true description: The rendered value of each field present on the issue. readOnly: true type: object schema: additionalProperties: $ref: '#/components/schemas/JsonTypeBean' description: The schema describing each field present on the issue. readOnly: true type: object self: description: The URL of the issue details. format: uri readOnly: true type: string transitions: description: The transitions that can be performed on the issue. items: $ref: '#/components/schemas/IssueTransition' readOnly: true type: array versionedRepresentations: additionalProperties: additionalProperties: readOnly: true readOnly: true type: object description: The versions of each field on the issue. readOnly: true type: object type: object xml: name: issue PageBeanChangelog: 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/Changelog' readOnly: true type: array type: object PageOfChangelogs: additionalProperties: false description: A page of changelogs. properties: histories: description: The list of changelogs. items: $ref: '#/components/schemas/Changelog' readOnly: true type: array maxResults: description: The maximum number of results that could be on the page. format: int32 readOnly: true type: integer startAt: description: The index of the first item returned on the page. format: int32 readOnly: true type: integer total: description: The number of results on the page. format: int32 readOnly: true type: integer type: object PageOfComments: additionalProperties: true description: A page of comments. properties: comments: description: The list of comments. items: $ref: '#/components/schemas/Comment' readOnly: true type: array maxResults: description: The maximum number of items that could be returned. format: int32 readOnly: true type: integer 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 type: object Comment: additionalProperties: true description: A comment. properties: author: allOf: - $ref: '#/components/schemas/UserDetails' description: The ID of the user who created the comment. readOnly: true body: description: >- The comment text in [Atlassian Document Format](https://developer.atlassian.com/cloud/jira/platform/apis/document/structure/). created: description: The date and time at which the comment was created. format: date-time readOnly: true type: string id: description: The ID of the comment. readOnly: true type: string jsdAuthorCanSeeRequest: description: >- Whether the comment was added from an email sent by a person who is not part of the issue. See [Allow external emails to be added as comments on issues](https://support.atlassian.com/jira-service-management-cloud/docs/allow-external-emails-to-be-added-as-comments-on-issues/)for information on setting up this feature. readOnly: true type: boolean jsdPublic: description: >- Whether the comment is visible in Jira Service Desk. Defaults to true when comments are created in the Jira Cloud Platform. This includes when the site doesn't use Jira Service Desk or the project isn't a Jira Service Desk project and, therefore, there is no Jira Service Desk for the issue to be visible on. To create a comment with its visibility in Jira Service Desk set to false, use the Jira Service Desk REST API [Create request comment](https://developer.atlassian.com/cloud/jira/service-desk/rest/#api-rest-servicedeskapi-request-issueIdOrKey-comment-post) operation. readOnly: true type: boolean properties: description: A list of comment properties. Optional on create and update. items: $ref: '#/components/schemas/EntityProperty' type: array renderedBody: description: The rendered version of the comment. readOnly: true type: string self: description: The URL of the comment. readOnly: true type: string updateAuthor: allOf: - $ref: '#/components/schemas/UserDetails' description: The ID of the user who updated the comment last. readOnly: true updated: description: The date and time at which the comment was updated last. format: date-time readOnly: true type: string visibility: allOf: - $ref: '#/components/schemas/Visibility' description: >- The group or role to which this comment is visible. Optional on create and update. type: object IssueUpdateMetadata: description: A list of editable field details. properties: fields: additionalProperties: $ref: '#/components/schemas/FieldMetadata' readOnly: true type: object type: object PropertyKeys: additionalProperties: false description: List of property keys. properties: keys: description: Property key details. items: $ref: '#/components/schemas/PropertyKey' readOnly: true type: array type: object EntityProperty: additionalProperties: false description: >- An entity property, for more information see [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/). properties: key: description: The key of the property. Required on create and update. type: string value: description: The value of the property. Required on create and update. type: object RemoteIssueLink: additionalProperties: false description: Details of an issue remote link. properties: application: allOf: - $ref: '#/components/schemas/Application' description: Details of the remote application the linked item is in. globalId: description: >- The global ID of the link, such as the ID of the item on the remote system. type: string id: description: The ID of the link. format: int64 type: integer object: allOf: - $ref: '#/components/schemas/RemoteObject' description: Details of the item linked to. relationship: description: >- Description of the relationship between the issue and the linked item. type: string self: description: The URL of the link. format: uri type: string type: object RemoteIssueLinkIdentifies: additionalProperties: false description: Details of the identifiers for a created or updated remote issue link. properties: id: description: >- The ID of the remote issue link, such as the ID of the item on the remote system. format: int64 readOnly: true type: integer xml: attribute: true self: description: The URL of the remote issue link. readOnly: true type: string xml: attribute: true type: object Transitions: additionalProperties: false description: List of issue transitions. properties: expand: description: >- Expand options that include additional transitions details in the response. readOnly: true type: string xml: attribute: true transitions: description: List of issue transitions. items: $ref: '#/components/schemas/IssueTransition' readOnly: true type: array type: object Votes: additionalProperties: false description: The details of votes on an issue. properties: hasVoted: description: Whether the user making this request has voted on the issue. readOnly: true type: boolean self: description: The URL of these issue vote details. format: uri readOnly: true type: string voters: description: >- List of the users who have voted on this issue. An empty list is returned when the calling user doesn't have the *View voters and watchers* project permission. items: $ref: '#/components/schemas/User' readOnly: true type: array votes: description: The number of votes on the issue. format: int64 readOnly: true type: integer type: object Watchers: additionalProperties: false description: The details of watchers on an issue. properties: isWatching: description: Whether the calling user is watching this issue. readOnly: true type: boolean self: description: The URL of these issue watcher details. readOnly: true type: string watchCount: description: The number of users watching this issue. format: int32 readOnly: true type: integer watchers: description: Details of the users watching this issue. items: $ref: '#/components/schemas/UserDetails' readOnly: true type: array type: object xml: name: watchers PageOfWorklogs: additionalProperties: true description: Paginated list of worklog details properties: maxResults: description: The maximum number of results that could be on the page. format: int32 readOnly: true type: integer startAt: description: The index of the first item returned on the page. format: int32 readOnly: true type: integer total: description: The number of results on the page. format: int32 readOnly: true type: integer worklogs: description: List of worklogs. items: $ref: '#/components/schemas/Worklog' readOnly: true type: array type: object Worklog: additionalProperties: true description: Details of a worklog. properties: author: allOf: - $ref: '#/components/schemas/UserDetails' description: Details of the user who created the worklog. readOnly: true comment: description: >- A comment about the worklog in [Atlassian Document Format](https://developer.atlassian.com/cloud/jira/platform/apis/document/structure/). Optional when creating or updating a worklog. created: description: The datetime on which the worklog was created. format: date-time readOnly: true type: string id: description: The ID of the worklog record. readOnly: true type: string issueId: description: The ID of the issue this worklog is for. readOnly: true type: string properties: description: >- Details of properties for the worklog. Optional when creating or updating a worklog. items: $ref: '#/components/schemas/EntityProperty' type: array self: description: The URL of the worklog item. format: uri readOnly: true type: string started: description: >- The datetime on which the worklog effort was started. Required when creating a worklog. Optional when updating a worklog. format: date-time type: string timeSpent: description: >- The time spent working on the issue as days (\#d), hours (\#h), or minutes (\#m or \#). Required when creating a worklog if `timeSpentSeconds` isn't provided. Optional when updating a worklog. Cannot be provided if `timeSpentSecond` is provided. type: string timeSpentSeconds: description: >- The time in seconds spent working on the issue. Required when creating a worklog if `timeSpent` isn't provided. Optional when updating a worklog. Cannot be provided if `timeSpent` is provided. format: int64 type: integer updateAuthor: allOf: - $ref: '#/components/schemas/UserDetails' description: Details of the user who last updated the worklog. readOnly: true updated: description: The datetime on which the worklog was last updated. format: date-time readOnly: true type: string visibility: allOf: - $ref: '#/components/schemas/Visibility' description: >- Details about any restrictions in the visibility of the worklog. Optional when creating or updating a worklog. type: object xml: name: worklog 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/issue/' version: 1001.0.0-SNAPSHOT-67b5c6e5f3598d7ec1649016d026468ab2838a77 openapi: 3.0.1 paths: /rest/api/3/issue/archive: post: deprecated: false description: >- Enables admins to archive up to 100,000 issues in a single request using JQL, returning the URL to check the status of the submitted request.

You can use the [get task](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-tasks/#api-rest-api-3-task-taskid-get) and [cancel task](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-tasks/#api-rest-api-3-task-taskid-cancel-post) APIs to manage the request.

**Note that:**

* you can't archive subtasks directly, only through their parent issues
* you can only archive issues from software, service management, and business projects

**[Permissions](#permissions) required:** Jira admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)

**License required:** Premium or Enterprise

**Signed-in users only:** This API can't be accessed anonymously.

**Rate limiting:** Only a single request per jira instance can be active at any given time.


operationId: atlassianArchiveissuesasync parameters: [] requestBody: content: application/json: example: jql: project = FOO AND updated < -2y schema: $ref: '#/components/schemas/ArchiveIssueAsyncRequest' description: >- A JQL query specifying the issues to archive. Note that subtasks can only be archived through their parent issues. required: true responses: '202': content: application/json: example: '"https://your-domain.atlassian.net/rest/api/3/task/1010"' schema: type: string description: Returns the URL to check the status of the submitted request. '400': content: application/json: example: '{"errorMessages":["Invalid JQL. Bad request."],"errors":{}}' description: >- Returned if no issues were archived due to a bad request, for example an invalid JQL query. '401': content: application/json: example: '{"errorMessages":["User is not logged in."],"errors":{}}' description: >- Returned if no issues were archived because the provided authentication credentials are either missing or invalid. '403': content: application/json: example: >- {"errorMessages":["Archiving issues is only available for premium editions of Jira."],"errors":{}} description: >- Returned if no issues were archived because the user lacks the required Jira admin or site admin permissions. '412': content: application/json: example: >- {"errorMessages":["An issue archival task is already running with ID 1010. To start a new one, cancel the task or wait for it to finish."],"errors":{}} description: Returned if a request to archive issue(s) is already running. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Archive Issue S By Jql tags: - Issues x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - write:issue:jira state: Beta x-experimental: true x-atlassian-connect-scope: WRITE put: deprecated: false description: >- Enables admins to archive up to 1000 issues in a single request using issue ID/key, returning details of the issue(s) archived in the process and the errors encountered, if any.

**Note that:**

* you can't archive subtasks directly, only through their parent issues
* you can only archive issues from software, service management, and business projects

**[Permissions](#permissions) required:** Jira admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)

**License required:** Premium or Enterprise

**Signed-in users only:** This API can't be accessed anonymously.


operationId: atlassianArchiveissues parameters: [] requestBody: content: application/json: example: issueIdsOrKeys: - PR-1 - '1001' - PROJECT-2 schema: $ref: '#/components/schemas/IssueArchivalSyncRequest' description: Contains a list of issue keys or IDs to be archived. required: true responses: '200': content: application/json: example: >- {"errors":{"issueIsSubtask":{"count":3,"issueIdsOrKeys":["ST-1","ST-2","ST-3"],"message":"Issue is subtask."},"issuesInArchivedProjects":{"count":2,"issueIdsOrKeys":["AR-1","AR-2"],"message":"Issue exists in archived project."},"issuesInUnlicensedProjects":{"count":3,"issueIdsOrKeys":["UL-1","UL-2","UL-3"],"message":"Issues with these IDs are in unlicensed projects."},"issuesNotFound":{"count":3,"issueIdsOrKeys":["PR-1","PR-2","PR-3"],"message":"Issue not found."}},"numberOfIssuesUpdated":10} schema: $ref: '#/components/schemas/IssueArchivalSyncResponse' description: >- Returned if there is at least one valid issue to archive in the request. The return message will include the count of archived issues and subtasks, as well as error details for issues which failed to get archived. '400': content: application/json: example: >- {"errorMessages":["No valid issue to archive or unarchive. Bad request."],"errors":{}} description: >- Returned if none of the issues in the request can be archived. Possible reasons: * the issues weren't found * the issues are subtasks * the issues belong to unlicensed projects * the issues belong to archived projects '401': content: application/json: example: '{"errorMessages":["User is not logged in."],"errors":{}}' description: >- Returned if no issues were archived because the provided authentication credentials are either missing or invalid. '403': content: application/json: example: >- {"errorMessages":["Only admins can archive or unarchive issues. Access denied."],"errors":{}} description: >- Returned if no issues were archived because the user lacks the required Jira admin or site admin permissions. '412': content: application/json: example: >- {"errorMessages":["The number of issues to archive or unarchive exceeds the hard limit of 1000. Precondition failed."],"errors":{}} description: >- Returned if one or more issues were successfully archived, but the operation was incomplete because the number of issue IDs or keys provided exceeds 1000. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Archive Issue S By Issue Id Key tags: - Issues x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - write:issue:jira state: Beta x-experimental: true x-atlassian-connect-scope: WRITE /rest/api/3/issue/bulk: post: deprecated: false description: >- Creates upto **50** issues and, where the option to create subtasks is enabled in Jira, subtasks. Transitions may be applied, to move the issues or subtasks to a workflow step other than the default start step, and issue properties set.

The content of each issue or subtask is defined using `update` and `fields`. The fields that can be set in the issue or subtask are determined using the [ Get create issue metadata](#api-rest-api-3-issue-createmeta-get). These are the same fields that appear on the issues' create screens. Note that the `description`, `environment`, and any `textarea` type custom fields (multi-line text fields) take Atlassian Document Format content. Single line custom fields (`textfield`) accept a string and don't handle Atlassian Document Format content.

Creating a subtask differs from creating an issue as follows:

* `issueType` must be set to a subtask issue type (use [ Get create issue metadata](#api-rest-api-3-issue-createmeta-get) to find subtask issue types).
* `parent` the must contain the ID or key of the parent issue.

**[Permissions](#permissions) required:** *Browse projects* and *Create issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in which each issue or subtask is created. operationId: atlassianCreateissues parameters: [] requestBody: content: application/json: example: issueUpdates: - fields: assignee: id: 5b109f2e9729b51b54dc274d components: - id: '10000' customfield_10000: 09/Jun/19 customfield_20000: 06/Jul/19 3:25 PM customfield_30000: - '10000' - '10002' customfield_40000: content: - content: - text: Occurs on all orders type: text type: paragraph type: doc version: 1 customfield_50000: content: - content: - text: Could impact day-to-day work. type: text type: paragraph type: doc version: 1 customfield_60000: jira-software-users customfield_70000: - jira-administrators - jira-software-users customfield_80000: value: red description: content: - content: - text: Order entry fails when selecting supplier. type: text type: paragraph type: doc version: 1 duedate: '2011-03-11' environment: content: - content: - text: UAT type: text type: paragraph type: doc version: 1 fixVersions: - id: '10001' issuetype: id: '10000' labels: - bugfix - blitz_test priority: id: '20000' project: id: '10000' reporter: id: 5b10a2844c20165700ede21g security: id: '10000' summary: Main order flow broken timetracking: originalEstimate: '10' remainingEstimate: '5' versions: - id: '10000' update: worklog: - add: started: 2019-07-05T11:05:00.000+0000 timeSpent: 60m - fields: assignee: id: 5b109f2e9729b51b54dc274d components: - id: '10000' customfield_10000: 09/Jun/19 customfield_20000: 06/Jul/19 3:25 PM customfield_30000: - '10000' - '10002' customfield_40000: content: - content: - text: Occurs on all orders type: text type: paragraph type: doc version: 1 customfield_50000: content: - content: - text: Could impact day-to-day work. type: text type: paragraph type: doc version: 1 customfield_60000: jira-software-users customfield_70000: - jira-administrators - jira-software-users customfield_80000: value: red description: content: - content: - text: Order remains pending after approved. type: text type: paragraph type: doc version: 1 duedate: '2019-04-16' environment: content: - content: - text: UAT type: text type: paragraph type: doc version: 1 fixVersions: - id: '10001' issuetype: id: '10000' labels: - new_release priority: id: '20000' project: id: '1000' reporter: id: 5b10a2844c20165700ede21g security: id: '10000' summary: Order stuck in pending timetracking: originalEstimate: '15' remainingEstimate: '5' versions: - id: '10000' update: {} schema: $ref: '#/components/schemas/IssuesUpdateBean' required: true responses: '201': content: application/json: example: >- {"issues":[{"id":"10000","key":"ED-24","self":"https://your-domain.atlassian.net/rest/api/3/issue/10000","transition":{"status":200,"errorCollection":{"errorMessages":[],"errors":{}}}},{"id":"10001","key":"ED-25","self":"https://your-domain.atlassian.net/rest/api/3/issue/10001"}],"errors":[]} schema: $ref: '#/components/schemas/CreatedIssues' description: >- Returned if any of the issue or subtask creation requests were successful. A request may be unsuccessful when it: * is missing required fields. * contains invalid field values. * contains fields that cannot be set for the issue type. * is by a user who does not have the necessary permission. * is to create a subtype in a project different that of the parent issue. * is for a subtask when the option to create subtasks is disabled. * is invalid for any other reason. '400': content: application/json: example: >- {"issues":[],"errors":[{"elementErrors":{"errorMessages":[],"errors":{"issuetype":"The issue type selected is invalid.","project":"Sub-tasks must be created in the same project as the parent."}},"failedElementNumber":0,"status":400},{"elementErrors":{"errorMessages":[],"errors":{"issuetype":"The issue type selected is invalid.","project":"Sub-tasks must be created in the same project as the parent."}},"failedElementNumber":1,"status":400}]} schema: $ref: '#/components/schemas/CreatedIssues' description: >- Returned if all requests are invalid. Requests may be unsuccessful when they: * are missing required fields. * contain invalid field values. * contain fields that cannot be set for the issue type. * are by a user who does not have the necessary permission. * are to create a subtype in a project different that of the parent issue. * is for a subtask when the option to create subtasks is disabled. * are invalid for any other reason. '401': description: Returned if the authentication credentials are incorrect or missing. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Bulk Create Issue tags: - Issues x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - write:issue:jira - write:comment:jira - write:comment.property:jira - write:attachment:jira - read:issue:jira state: Beta x-atlassian-connect-scope: WRITE /rest/api/3/issue/createmeta: get: deprecated: true description: >- Returns details of projects, issue types within projects, and, when requested, the create screen fields for each issue type for the user. Use the information to populate the requests in [ Create issue](#api-rest-api-3-issue-post) and [Create issues](#api-rest-api-3-issue-bulk-post).

The request can be restricted to specific projects or issue types using the query parameters. The response will contain information for the valid projects, issue types, or project and issue type combinations requested. Note that invalid project, issue type, or project and issue type combinations do not generate errors.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:** *Create issues* [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects. operationId: atlassianGetcreateissuemeta parameters: - description: >- List of project IDs. This parameter accepts a comma-separated list. Multiple project IDs can also be provided using an ampersand-separated list. For example, `projectIds=10000,10001&projectIds=10020,10021`. This parameter may be provided with `projectKeys`. in: query name: projectIds schema: items: type: string type: array - description: >- List of project keys. This parameter accepts a comma-separated list. Multiple project keys can also be provided using an ampersand-separated list. For example, `projectKeys=proj1,proj2&projectKeys=proj3`. This parameter may be provided with `projectIds`. in: query name: projectKeys schema: items: type: string type: array - description: >- List of issue type IDs. This parameter accepts a comma-separated list. Multiple issue type IDs can also be provided using an ampersand-separated list. For example, `issuetypeIds=10000,10001&issuetypeIds=10020,10021`. This parameter may be provided with `issuetypeNames`. in: query name: issuetypeIds schema: items: type: string type: array - description: >- List of issue type names. This parameter accepts a comma-separated list. Multiple issue type names can also be provided using an ampersand-separated list. For example, `issuetypeNames=name1,name2&issuetypeNames=name3`. This parameter may be provided with `issuetypeIds`. in: query name: issuetypeNames schema: items: type: string type: array - description: >- Use [expand](#expansion) to include additional information about issue metadata in the response. This parameter accepts `projects.issuetypes.fields`, which returns information about the fields in the issue creation screen for each issue type. Fields hidden from the screen are not returned. Use the information to populate the `fields` and `update` fields in [Create issue](#api-rest-api-3-issue-post) and [Create issues](#api-rest-api-3-issue-bulk-post). in: query name: expand schema: type: string responses: '200': content: application/json: example: >- {"projects":[{"avatarUrls":{"16x16":"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000&avatarId=10011","24x24":"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000&avatarId=10011","32x32":"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000&avatarId=10011","48x48":"https://your-domain.atlassian.net/secure/projectavatar?pid=10000&avatarId=10011"},"id":"10000","issuetypes":[{"description":"An error in the code","fields":{"issuetype":{"allowedValues":["set"],"autoCompleteUrl":"issuetype","hasDefaultValue":false,"key":"issuetype","name":"Issue Type","required":true}},"iconUrl":"https://your-domain.atlassian.net/images/icons/issuetypes/bug.png","id":"1","name":"Bug","self":"https://your-domain.atlassian.net/rest/api/3/issueType/1","subtask":false}],"key":"ED","name":"Edison Project","self":"https://your-domain.atlassian.net/rest/api/3/project/ED"}]} schema: $ref: '#/components/schemas/IssueCreateMetadata' description: Returned if the request is successful. '401': description: Returned if the authentication credentials are incorrect or missing. security: - basicAuth: [] - OAuth2: - read:jira-work - {} summary: Atlassian Get Create Issue Metadata tags: - Issues 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:issue-meta:jira - read:avatar:jira - read:field-configuration:jira state: Beta x-changes: - announced: '2023-12-11' details: >- https://developer.atlassian.com/cloud/jira/platform/changelog/#CHANGE-1304 effective: '2024-06-03' type: removed x-atlassian-connect-scope: READ /rest/api/3/issue/createmeta/{projectIdOrKey}/issuetypes: get: deprecated: false description: >- Returns a page of issue type metadata for a specified project. Use the information to populate the requests in [ Create issue](#api-rest-api-3-issue-post) and [Create issues](#api-rest-api-3-issue-bulk-post).

This operation can be accessed anonymously.

**[Permissions](#permissions) required:** *Create issues* [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects. operationId: atlassianGetcreateissuemetaissuetypes parameters: - description: The ID or key of the project. in: path name: projectIdOrKey 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: int32 type: integer - description: The maximum number of items to return per page. in: query name: maxResults schema: default: 50 format: int32 maximum: 200 type: integer responses: '200': content: application/json: example: >- {"issueTypes":[{"description":"An error in the code","iconUrl":"https://your-domain.atlassian.net/images/icons/issuetypes/bug.png","id":"1","name":"Bug","self":"https://your-domain.atlassian.net/rest/api/3/issueType/1","subtask":false}],"maxResults":1,"startAt":0,"total":1} schema: $ref: '#/components/schemas/PageOfCreateMetaIssueTypes' description: Returned if the request is successful. '400': content: application/json: example: >- {"errorMessages":["Parameter 'maxResults' must not exceed the limit '200'"],"errors":{},"httpStatusCode":{"empty":false,"present":true}} description: Returned if the request is invalid. '401': description: Returned if the authentication credentials are incorrect or missing. security: - basicAuth: [] - OAuth2: - read:jira-work - {} summary: Atlassian Get Create Metadata Issue Types For A Project tags: - Issues 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:issue-meta:jira - read:avatar:jira - read:field-configuration:jira state: Beta x-atlassian-connect-scope: READ /rest/api/3/issue/createmeta/{projectIdOrKey}/issuetypes/{issueTypeId}: get: deprecated: false description: >- Returns a page of field metadata for a specified project and issuetype id. Use the information to populate the requests in [ Create issue](#api-rest-api-3-issue-post) and [Create issues](#api-rest-api-3-issue-bulk-post).

This operation can be accessed anonymously.

**[Permissions](#permissions) required:** *Create issues* [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects. operationId: atlassianGetcreateissuemetaissuetypeid parameters: - description: The ID or key of the project. in: path name: projectIdOrKey required: true schema: type: string - description: The issuetype ID. in: path name: issueTypeId 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: int32 type: integer - description: The maximum number of items to return per page. in: query name: maxResults schema: default: 50 format: int32 maximum: 200 type: integer responses: '200': content: application/json: example: >- {"fields":[{"fieldId":"assignee","hasDefaultValue":false,"key":"assignee","name":"Assignee","operations":["set"],"required":true}],"maxResults":1,"startAt":0,"total":1} schema: $ref: '#/components/schemas/PageOfCreateMetaIssueTypeWithField' description: Returned if the request is successful. '400': content: application/json: example: >- {"errorMessages":["Parameter 'maxResults' must not exceed the limit '200'"],"errors":{},"httpStatusCode":{"empty":false,"present":true}} description: Returned if the request is invalid. '401': description: Returned if the authentication credentials are incorrect or missing. security: - basicAuth: [] - OAuth2: - read:jira-work - {} summary: Atlassian Get Create Field Metadata For A Project And Issue Type Id tags: - Issues 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:issue-meta:jira - read:avatar:jira - read:field-configuration:jira state: Beta x-atlassian-connect-scope: READ /rest/api/3/issue/picker: get: deprecated: false description: >- Returns lists of issues matching a query string. Use this resource to provide auto-completion suggestions when the user is looking for an issue using a word or string.

This operation returns two lists:

* `History Search` which includes issues from the user's history of created, edited, or viewed issues that contain the string in the `query` parameter.
* `Current Search` which includes issues that match the JQL expression in `currentJQL` and contain the string in the `query` parameter.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:** None. operationId: atlassianGetissuepickerresource parameters: - description: >- A string to match against text fields in the issue such as title, description, or comments. in: query name: query schema: example: query type: string x-showInExample: 'true' - description: >- A JQL query defining a list of issues to search for the query term. Note that `username` and `userkey` cannot be used as search terms for this parameter, due to privacy reasons. Use `accountId` instead. in: query name: currentJQL schema: type: string - description: >- The key of an issue to exclude from search results. For example, the issue the user is viewing when they perform this query. in: query name: currentIssueKey schema: type: string - description: The ID of a project that suggested issues must belong to. in: query name: currentProjectId schema: type: string - description: Indicate whether to include subtasks in the suggestions list. in: query name: showSubTasks schema: type: boolean - description: >- When `currentIssueKey` is a subtask, whether to include the parent issue in the suggestions if it matches the query. in: query name: showSubTaskParent schema: type: boolean responses: '200': content: application/json: schema: $ref: '#/components/schemas/IssuePickerSuggestions' description: Returned if the request is successful. '401': description: Returned if the authentication credentials are incorrect or missing. security: - basicAuth: [] - OAuth2: - read:jira-work - {} summary: Atlassian Get Issue Picker Suggestions tags: - Issue Search 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:issue-details:jira state: Beta x-atlassian-connect-scope: READ /rest/api/3/issue/properties: post: deprecated: false description: >- Sets or updates a list of entity property values on issues. A list of up to 10 entity properties can be specified along with up to 10,000 issues on which to set or update that list of entity properties.

The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON. The maximum length of single issue property value is 32768 characters. This operation can be accessed anonymously.

This operation is:

* transactional, either all properties are updated in all eligible issues or, when errors occur, no properties are updated.
* [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:**

* *Browse projects* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianBulksetissuespropertieslist parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/IssueEntityProperties' description: Issue properties to be set or updated with values. required: true responses: '303': description: Returned if the operation is successful. '400': content: application/json: schema: $ref: '#/components/schemas/ErrorCollection' description: >- Return if the request is invalid or the user does not have the necessary permission. '401': content: application/json: schema: $ref: '#/components/schemas/ErrorCollection' description: Returned if the authentication credentials are incorrect. security: - basicAuth: [] - OAuth2: - write:jira-work summary: Atlassian Bulk Set Issues Properties By List tags: - Issue Properties x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - write:issue.property:jira state: Beta x-atlassian-connect-scope: WRITE /rest/api/3/issue/properties/multi: post: deprecated: false description: >- Sets or updates entity property values on issues. Up to 10 entity properties can be specified for each issue and up to 100 issues included in the request.

The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON.

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.
* non-transactional. Updating some entities may fail. Such information will available in the task result.

**[Permissions](#permissions) required:**

* *Browse projects* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianBulksetissuepropertiesbyissue parameters: [] requestBody: content: application/json: example: issues: - issueID: 1000 properties: myProperty: owner: admin weight: 100 - issueID: 1001 properties: myOtherProperty: cost: 150 transportation: car schema: $ref: '#/components/schemas/MultiIssueEntityProperties' description: >- Details of the issue properties to be set or updated. Note that if an issue is not found, it is ignored. required: true responses: '303': description: Returned if the operation is successful. '400': content: application/json: schema: $ref: '#/components/schemas/ErrorCollection' description: Return if the request is invalid. '401': content: application/json: schema: $ref: '#/components/schemas/ErrorCollection' description: Returned if the authentication credentials are incorrect. '403': content: application/json: schema: $ref: '#/components/schemas/ErrorCollection' description: Return if the user does not have the necessary permission. security: - basicAuth: [] - OAuth2: - write:jira-work summary: Atlassian Bulk Set Issue Properties By Issue tags: - Issue Properties x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - write:issue.property:jira state: Beta x-atlassian-connect-scope: WRITE /rest/api/3/issue/properties/{propertyKey}: delete: deprecated: false description: >- Deletes a property value from multiple issues. The issues to be updated can be specified by filter criteria.

The criteria the filter used to identify eligible issues are:

* `entityIds` Only issues from this list are eligible.
* `currentValue` Only issues with the property set to this value are eligible.

If both criteria is specified, they are joined with the logical *AND*: only issues that satisfy both criteria are considered eligible.

If no filter criteria are specified, all the issues visible to the user and where the user has the EDIT\_ISSUES permission for the issue are considered eligible.

This operation is:

* transactional, either the property is deleted from all eligible issues or, when errors occur, no properties are deleted.
* [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:**

* *Browse projects* [ project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing issues.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue. operationId: atlassianBulkdeleteissueproperty parameters: - description: The key of the property. in: path name: propertyKey required: true schema: type: string requestBody: content: application/json: example: currentValue: deprecated value entityIds: - 10100 - 100010 schema: $ref: '#/components/schemas/IssueFilterForBulkPropertyDelete' required: true responses: '303': 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. security: - basicAuth: [] - OAuth2: - write:jira-work summary: Atlassian Bulk Delete Issue Property tags: - Issue Properties x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - delete:issue.property:jira state: Beta x-atlassian-connect-scope: DELETE put: deprecated: false description: >- Sets a property value on multiple issues.

The value set can be a constant or determined by a [Jira expression](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/). Expressions must be computable with constant complexity when applied to a set of issues. Expressions must also comply with the [restrictions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions) that apply to all Jira expressions.

The issues to be updated can be specified by a filter.

The filter identifies issues eligible for update using these criteria:

* `entityIds` Only issues from this list are eligible.
* `currentValue` Only issues with the property set to this value are eligible.
* `hasProperty`:

* If *true*, only issues with the property are eligible.
* If *false*, only issues without the property are eligible.

If more than one criteria is specified, they are joined with the logical *AND*: only issues that satisfy all criteria are eligible.

If an invalid combination of criteria is provided, an error is returned. For example, specifying a `currentValue` and `hasProperty` as *false* would not match any issues (because without the property the property cannot have a value).

The filter is optional. Without the filter all the issues visible to the user and where the user has the EDIT\_ISSUES permission for the issue are considered eligible.

This operation is:

* transactional, either all eligible issues are updated or, when errors occur, none are updated.
* [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:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing issues.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue. operationId: atlassianBulksetissueproperty parameters: - description: The key of the property. The maximum length is 255 characters. in: path name: propertyKey required: true schema: type: string requestBody: content: application/json: example: filter: currentValue: owner: admin weight: 50 entityIds: - 10100 - 100010 hasProperty: true value: owner: admin weight: 100 schema: $ref: '#/components/schemas/BulkIssuePropertyUpdateRequest' required: true responses: '303': 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. security: - basicAuth: [] - OAuth2: - write:jira-work summary: Atlassian Bulk Set Issue Property tags: - Issue Properties x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - read:jira-expressions:jira - write:issue.property:jira state: Beta x-atlassian-connect-scope: WRITE /rest/api/3/issue/unarchive: put: deprecated: false description: >- Enables admins to unarchive up to 1000 issues in a single request using issue ID/key, returning details of the issue(s) unarchived in the process and the errors encountered, if any.

**Note that:**

* you can't unarchive subtasks directly, only through their parent issues
* you can only unarchive issues from software, service management, and business projects

**[Permissions](#permissions) required:** Jira admin or site admin: [global permission](https://confluence.atlassian.com/x/x4dKLg)

**License required:** Premium or Enterprise

**Signed-in users only:** This API can't be accessed anonymously.


operationId: atlassianUnarchiveissues parameters: [] requestBody: content: application/json: example: issueIdsOrKeys: - PR-1 - '1001' - PROJECT-2 schema: $ref: '#/components/schemas/IssueArchivalSyncRequest' description: Contains a list of issue keys or IDs to be unarchived. required: true responses: '200': content: application/json: example: >- {"errors":{"issueIsSubtask":{"count":3,"issueIdsOrKeys":["ST-1","ST-2","ST-3"],"message":"Issue is subtask."},"issuesInArchivedProjects":{"count":2,"issueIdsOrKeys":["AR-1","AR-2"],"message":"Issue exists in archived project."},"issuesNotFound":{"count":3,"issueIdsOrKeys":["PR-1","PR-2","PR-3"],"message":"Issue not found."}},"numberOfIssuesUpdated":10} schema: $ref: '#/components/schemas/IssueArchivalSyncResponse' description: >- Returned if there is at least one valid issue to unarchive in the request. It will return the count of unarchived issues, which also includes the count of the subtasks unarchived, and it will show the detailed errors for those issues which are not unarchived. '400': content: application/json: example: >- {"errorMessages":["No valid issue to archive or unarchive. Bad request."],"errors":{}} description: >- Returned if none of the issues in the request are eligible to be unarchived. Possible reasons: * the issues weren't found * the issues are subtasks * the issues belong to archived projects '401': content: application/json: example: '{"errorMessages":["User is not logged in."],"errors":{}}' description: >- Returned if no issues were unarchived because the provided authentication credentials are either missing or invalid. '403': content: application/json: example: >- {"errorMessages":["Only admins can archive or unarchive issues. Access denied."],"errors":{}} description: >- Returned if no issues were unarchived because the user lacks the required Jira admin or site admin permissions. '412': content: application/json: example: >- {"errorMessages":["The number of issues to archive or unarchive exceeds the hard limit of 1000. Precondition failed."],"errors":{}} description: >- Returned if one or more issues were successfully unarchived, but the operation was incomplete because the number of issue IDs or keys provided exceeds 1000. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Unarchive Issue S By Issue Keys Id tags: - Issues x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - write:issue:jira state: Beta x-experimental: true x-atlassian-connect-scope: WRITE /rest/api/3/issue/watching: post: deprecated: false description: >- Returns, for the user, details of the watched status of issues from a list. If an issue ID is invalid, the returned watched status is `false`.

This operation requires the **Allow users to watch issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianGetiswatchingissuebulk parameters: [] requestBody: content: application/json: example: issueIds: - '10001' - '10002' - '10005' schema: $ref: '#/components/schemas/IssueList' description: A list of issue IDs. required: true responses: '200': content: application/json: example: '{"issuesIsWatching":{"10001":true,"10002":false,"10005":true}}' schema: $ref: '#/components/schemas/BulkIssueIsWatching' description: Returned if the request is successful '401': description: Returned if the authentication credentials are incorrect or missing. security: - basicAuth: [] - OAuth2: - read:jira-work - {} summary: Atlassian Get Is Watching Issue Bulk tags: - Issue Watchers 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:issue.watcher:jira - read:user:jira state: Beta x-atlassian-connect-scope: WRITE /rest/api/3/issue/{issueIdOrKey}: delete: deprecated: false description: >- Deletes an issue.

An issue cannot be deleted if it has one or more subtasks. To delete an issue with subtasks, set `deleteSubtasks`. This causes the issue's subtasks to be deleted with the issue.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* and *Delete issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianDeleteissue parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string - description: Whether the issue's subtasks are deleted when the issue is deleted. in: query name: deleteSubtasks schema: default: 'false' enum: - 'true' - 'false' type: string responses: '204': description: Returned if the request is successful. '400': description: >- Returned if the issue has subtasks and `deleteSubtasks` is not set to *true*. '401': description: Returned if the authentication credentials are incorrect. '403': description: Returned if the user does not have permission to delete the issue. '404': description: >- Returned if the issue is not found or the user does not have permission to view the issue. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Delete Issue tags: - Issues x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - delete:issue:jira state: Beta x-atlassian-connect-scope: DELETE get: deprecated: false description: >- Returns the details for an issue.

The issue is identified by its ID or key, however, if the identifier doesn't match an issue, a case-insensitive search and check for moved issues is performed. If a matching issue is found its details are returned, a 302 or other redirect is **not** returned. The issue key returned in the response is the key of the issue found.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianGetissue parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string - description: >- A list of fields to return for the issue. This parameter accepts a comma-separated list. Use it to retrieve a subset of fields. Allowed values: * `*all` Returns all fields. * `*navigable` Returns navigable fields. * Any issue field, prefixed with a minus to exclude. Examples: * `summary,comment` Returns only the summary and comments fields. * `-description` Returns all (default) fields except description. * `*navigable,-comment` Returns all navigable fields except comment. This parameter may be specified multiple times. For example, `fields=field1,field2& fields=field3`. Note: All fields are returned by default. This differs from [Search for issues using JQL (GET)](#api-rest-api-3-search-get) and [Search for issues using JQL (POST)](#api-rest-api-3-search-post) where the default is all navigable fields. in: query name: fields schema: items: default: '*all' type: string type: array - description: >- Whether fields in `fields` are referenced by keys rather than IDs. This parameter is useful where fields have been added by a connect app and a field's key may differ from its ID. in: query name: fieldsByKeys schema: default: false type: boolean - description: >- Use [expand](#expansion) to include additional information about the issues in the response. This parameter accepts a comma-separated list. Expand options include: * `renderedFields` Returns field values rendered in HTML format. * `names` Returns the display name of each field. * `schema` Returns the schema describing a field type. * `transitions` Returns all possible transitions for the issue. * `editmeta` Returns information about how each field can be edited. * `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent. * `versionedRepresentations` Returns a JSON array for each version of a field's value, with the highest number representing the most recent version. Note: When included in the request, the `fields` parameter is ignored. in: query name: expand schema: type: string - description: >- A list of issue properties to return for the issue. This parameter accepts a comma-separated list. Allowed values: * `*all` Returns all issue properties. * Any issue property key, prefixed with a minus to exclude. Examples: * `*all` Returns all properties. * `*all,-prop1` Returns all properties except `prop1`. * `prop1,prop2` Returns `prop1` and `prop2` properties. This parameter may be specified multiple times. For example, `properties=prop1,prop2& properties=prop3`. in: query name: properties schema: items: default: 'null' type: string type: array - description: >- Whether the project in which the issue is created is added to the user's **Recently viewed** project list, as shown under **Projects** in Jira. This also populates the [JQL issues search](#api-rest-api-3-search-get) `lastViewed` field. in: query name: updateHistory schema: default: false type: boolean responses: '200': content: application/json: example: >- {"fields":{"watcher":{"isWatching":false,"self":"https://your-domain.atlassian.net/rest/api/3/issue/EX-1/watchers","watchCount":1,"watchers":[{"accountId":"5b10a2844c20165700ede21g","active":false,"displayName":"Mia Krystof","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"}]},"attachment":[{"author":{"accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","active":false,"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","key":"","name":"","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"content":"https://your-domain.atlassian.net/jira/rest/api/3/attachment/content/10000","created":"2022-10-06T07:32:47.000+0000","filename":"picture.jpg","id":10000,"mimeType":"image/jpeg","self":"https://your-domain.atlassian.net/rest/api/3/attachments/10000","size":23123,"thumbnail":"https://your-domain.atlassian.net/jira/rest/api/3/attachment/thumbnail/10000"}],"sub-tasks":[{"id":"10000","outwardIssue":{"fields":{"status":{"iconUrl":"https://your-domain.atlassian.net/images/icons/statuses/open.png","name":"Open"}},"id":"10003","key":"ED-2","self":"https://your-domain.atlassian.net/rest/api/3/issue/ED-2"},"type":{"id":"10000","inward":"Parent","name":"","outward":"Sub-task"}}],"description":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"type":"text","text":"Main order flow broken"}]}]},"project":{"avatarUrls":{"16x16":"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000","24x24":"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000","32x32":"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000","48x48":"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000"},"id":"10000","insight":{"lastIssueUpdateTime":"2021-04-22T05:37:05.000+0000","totalIssueCount":100},"key":"EX","name":"Example","projectCategory":{"description":"First Project Category","id":"10000","name":"FIRST","self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000"},"self":"https://your-domain.atlassian.net/rest/api/3/project/EX","simplified":false,"style":"classic"},"comment":[{"author":{"accountId":"5b10a2844c20165700ede21g","active":false,"displayName":"Mia Krystof","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"body":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"type":"text","text":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper."}]}]},"created":"2021-01-17T12:34:00.000+0000","id":"10000","self":"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000","updateAuthor":{"accountId":"5b10a2844c20165700ede21g","active":false,"displayName":"Mia Krystof","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"updated":"2021-01-18T23:45:00.000+0000","visibility":{"identifier":"Administrators","type":"role","value":"Administrators"}}],"issuelinks":[{"id":"10001","outwardIssue":{"fields":{"status":{"iconUrl":"https://your-domain.atlassian.net/images/icons/statuses/open.png","name":"Open"}},"id":"10004L","key":"PR-2","self":"https://your-domain.atlassian.net/rest/api/3/issue/PR-2"},"type":{"id":"10000","inward":"depends on","name":"Dependent","outward":"is depended by"}},{"id":"10002","inwardIssue":{"fields":{"status":{"iconUrl":"https://your-domain.atlassian.net/images/icons/statuses/open.png","name":"Open"}},"id":"10004","key":"PR-3","self":"https://your-domain.atlassian.net/rest/api/3/issue/PR-3"},"type":{"id":"10000","inward":"depends on","name":"Dependent","outward":"is depended by"}}],"worklog":[{"author":{"accountId":"5b10a2844c20165700ede21g","active":false,"displayName":"Mia Krystof","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"comment":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"type":"text","text":"I did some work here."}]}]},"id":"100028","issueId":"10002","self":"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000","started":"2021-01-17T12:34:00.000+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"updateAuthor":{"accountId":"5b10a2844c20165700ede21g","active":false,"displayName":"Mia Krystof","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"updated":"2021-01-18T23:45:00.000+0000","visibility":{"identifier":"276f955c-63d7-42c8-9520-92d01dca0625","type":"group","value":"jira-developers"}}],"updated":1,"timetracking":{"originalEstimate":"10m","originalEstimateSeconds":600,"remainingEstimate":"3m","remainingEstimateSeconds":200,"timeSpent":"6m","timeSpentSeconds":400}},"id":"10002","key":"ED-1","self":"https://your-domain.atlassian.net/rest/api/3/issue/10002"} schema: $ref: '#/components/schemas/IssueBean' description: Returned if the request is successful. '401': description: Returned if the authentication credentials are incorrect or missing. '404': description: >- Returned if the issue is not found or the user does not have permission to view it. security: - basicAuth: [] - OAuth2: - read:jira-work - {} summary: Atlassian Get Issue tags: - Issues 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:issue-meta:jira - read:issue-security-level:jira - read:issue.vote:jira - read:issue.changelog:jira - read:avatar:jira - read:issue:jira - read:status:jira - read:user:jira - read:field-configuration:jira state: Beta x-atlassian-connect-scope: READ put: deprecated: false description: >- Edits an issue. A transition may be applied and issue properties updated as part of the edit.

The edits to the issue's fields are defined using `update` and `fields`. The fields that can be edited are determined using [ Get edit issue metadata](#api-rest-api-3-issue-issueIdOrKey-editmeta-get).

The parent field may be set by key or ID. For standard issue types, the parent may be removed by setting `update.parent.set.none` to *true*. Note that the `description`, `environment`, and any `textarea` type custom fields (multi-line text fields) take Atlassian Document Format content. Single line custom fields (`textfield`) accept a string and don't handle Atlassian Document Format content.

Connect apps having an app user with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), and Forge apps acting on behalf of users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), can override the screen security configuration using `overrideScreenSecurity` and `overrideEditableFlag`.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* and *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianEditissue parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string - description: >- Whether a notification email about the issue update is sent to all watchers. To disable the notification, administer Jira or administer project permissions are required. If the user doesn't have the necessary permission the request is ignored. in: query name: notifyUsers schema: default: true type: boolean - description: >- Whether screen security is overridden to enable hidden fields to be edited. Available to Connect app users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) and Forge apps acting on behalf of users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). 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 app users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) and Forge apps acting on behalf of users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). in: query name: overrideEditableFlag schema: default: false type: boolean - description: >- Whether the response should contain the issue with fields edited in this request. The returned issue will have the same format as in the [Get issue API](#api-rest-api-3-issue-issueidorkey-get). in: query name: returnIssue schema: default: false type: boolean - description: >- The Get issue API expand parameter to use in the response if the `returnIssue` parameter is `true`. in: query name: expand schema: default: '' type: string requestBody: content: application/json: example: fields: customfield_10000: content: - content: - text: Investigation underway type: text type: paragraph type: doc version: 1 customfield_10010: 1 summary: Completed orders still displaying in pending historyMetadata: activityDescription: Complete order processing actor: avatarUrl: http://mysystem/avatar/tony.jpg displayName: Tony id: tony type: mysystem-user url: http://mysystem/users/tony cause: id: myevent type: mysystem-event description: From the order testing process extraData: Iteration: 10a Step: '4' generator: id: mysystem-1 type: mysystem-application type: myplugin:type properties: - key: key1 value: Order number 10784 - key: key2 value: Order number 10923 update: components: - set: '' labels: - add: triaged - remove: blocker summary: - set: Bug in business logic timetracking: - edit: originalEstimate: 1w 1d remainingEstimate: 4d schema: $ref: '#/components/schemas/IssueUpdateDetails' required: true responses: '200': content: application/json: schema: {} description: >- Returned if the request is successful and the `returnIssue` parameter is `true` '204': content: application/json: schema: {} description: Returned if the request is successful. '400': description: |- Returned if: * the request body is missing. * the user does not have the necessary permission to edit one or more fields. * the request includes one or more fields that are not found or are not associated with the issue's edit screen. * the request includes an invalid transition. '401': description: Returned if the authentication credentials are incorrect or missing. '403': description: >- Returned if the user uses `overrideScreenSecurity` or `overrideEditableFlag` but doesn't have the necessary permission. '404': description: >- Returned if the issue is not found or the user does not have permission to view it. '409': description: >- Returned if the issue could not be updated due to a conflicting update. (refer to the [changelog](https://developer.atlassian.com/changelog/#CHANGE-1364) *for more details.* '422': description: >- Returned if a configuration problem prevents the issue being updated. (refer to the [changelog](https://developer.atlassian.com/changelog/#CHANGE-1364) *for more details.* security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Edit Issue tags: - Issues x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - write:issue:jira state: Beta x-atlassian-connect-scope: WRITE /rest/api/3/issue/{issueIdOrKey}/assignee: put: deprecated: false description: >- Assigns an issue to a user. Use this operation when the calling user does not have the *Edit Issues* permission but has the *Assign issue* permission for the project that the issue is in.

If `name` or `accountId` is set to:

* `"-1"`, the issue is assigned to the default assignee for the project.
* `null`, the issue is set to unassigned.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse Projects* and *Assign Issues* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianAssignissue parameters: - description: The ID or key of the issue to be assigned. in: path name: issueIdOrKey required: true schema: type: string requestBody: content: application/json: example: accountId: 5b10ac8d82e05b22cc7d4ef5 schema: $ref: '#/components/schemas/User' description: The request object with the user that the issue is assigned to. required: true responses: '204': content: application/json: schema: {} description: Returned if the request is successful. '400': description: |- Returned if: * the user is not found. * `name`, `key`, or `accountId` is missing. * more than one of `name`, `key`, and `accountId` are provided. '403': description: Returned if the user does not have the necessary permission. '404': description: Returned if the issue is not found. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Assign Issue tags: - Issues x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - write:issue:jira state: Beta x-atlassian-connect-scope: WRITE /rest/api/3/issue/{issueIdOrKey}/attachments: post: deprecated: false description: >- Adds one or more attachments to an issue. Attachments are posted as multipart/form-data ([RFC 1867](https://www.ietf.org/rfc/rfc1867.txt)).

Note that:

* The request must have a `X-Atlassian-Token: no-check` header, if not it is blocked. See [Special headers](#special-request-headers) for more information.
* The name of the multipart/form-data parameter that contains the attachments must be `file`.

The following examples upload a file called *myfile.txt* to the issue *TEST-123*:

#### curl ####

curl --location --request POST 'https://your-domain.atlassian.net/rest/api/3/issue/TEST-123/attachments'
-u 'email@example.com:'
-H 'X-Atlassian-Token: no-check'
--form 'file=@"myfile.txt"'

#### Node.js ####

// This code sample uses the 'node-fetch' and 'form-data' libraries:
// https://www.npmjs.com/package/node-fetch
// https://www.npmjs.com/package/form-data
const fetch = require('node-fetch');
const FormData = require('form-data');
const fs = require('fs');

const filePath = 'myfile.txt';
const form = new FormData();
const stats = fs.statSync(filePath);
const fileSizeInBytes = stats.size;
const fileStream = fs.createReadStream(filePath);

form.append('file', fileStream, {knownLength: fileSizeInBytes});

fetch('https://your-domain.atlassian.net/rest/api/3/issue/TEST-123/attachments', {
method: 'POST',
body: form,
headers: {
'Authorization': `Basic ${Buffer.from(
'email@example.com:'
).toString('base64')}`,
'Accept': 'application/json',
'X-Atlassian-Token': 'no-check'
}
})
.then(response => {
console.log(
`Response: ${response.status} ${response.statusText}`
);
return response.text();
})
.then(text => console.log(text))
.catch(err => console.error(err));

#### Java ####

// This code sample uses the 'Unirest' library:
// http://unirest.io/java.html
HttpResponse response = Unirest.post("https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments")
.basicAuth("email@example.com", "")
.header("Accept", "application/json")
.header("X-Atlassian-Token", "no-check")
.field("file", new File("myfile.txt"))
.asJson();

System.out.println(response.getBody());

#### Python ####

# This code sample uses the 'requests' library:
# http://docs.python-requests.org
import requests
from requests.auth import HTTPBasicAuth
import json

url = "https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments"

auth = HTTPBasicAuth("email@example.com", "")

headers = {
"Accept": "application/json",
"X-Atlassian-Token": "no-check"
}

response = requests.request(
"POST",
url,
headers = headers,
auth = auth,
files = {
"file": ("myfile.txt", open("myfile.txt","rb"), "application-type")
}
)

print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")))

#### PHP ####

// This code sample uses the 'Unirest' library:
// http://unirest.io/php.html
Unirest\Request::auth('email@example.com', '');

$headers = array(
'Accept' => 'application/json',
'X-Atlassian-Token' => 'no-check'
);

$parameters = array(
'file' => File::add('myfile.txt')
);

$response = Unirest\Request::post(
'https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments',
$headers,
$parameters
);

var_dump($response)

#### Forge ####

// This sample uses Atlassian Forge and the `form-data` library.
// https://developer.atlassian.com/platform/forge/
// https://www.npmjs.com/package/form-data
import api from "@forge/api";
import FormData from "form-data";

const form = new FormData();
form.append('file', fileStream, {knownLength: fileSizeInBytes});

const response = await api.asApp().requestJira('/rest/api/2/issue/{issueIdOrKey}/attachments', {
method: 'POST',
body: form,
headers: {
'Accept': 'application/json',
'X-Atlassian-Token': 'no-check'
}
});

console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());

Tip: Use a client library. Many client libraries have classes for handling multipart POST operations. For example, in Java, the Apache HTTP Components library provides a [MultiPartEntity](http://hc.apache.org/httpcomponents-client-ga/httpmime/apidocs/org/apache/http/entity/mime/MultipartEntity.html) class for multipart POST operations.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse Projects* and *Create attachments* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianAddattachment parameters: - description: The ID or key of the issue that attachments are added to. in: path name: issueIdOrKey required: true schema: type: string requestBody: content: multipart/form-data: schema: items: $ref: '#/components/schemas/MultipartFile' type: array required: true responses: '200': content: application/json: example: >- [{"author":{"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"},"content":"https://your-domain.atlassian.net/rest/api/3/attachment/content/10000","created":1651316514000,"filename":"picture.jpg","id":"10001","mimeType":"image/jpeg","self":"https://your-domain.atlassian.net/rest/api/3/attachments/10000","size":23123,"thumbnail":"https://your-domain.atlassian.net/rest/api/3/attachment/thumbnail/10000"},{"author":{"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"},"content":"https://your-domain.atlassian.net/rest/api/3/attachment/content/10001","created":1658898511000,"filename":"dbeuglog.txt","mimeType":"text/plain","self":"https://your-domain.atlassian.net/rest/api/3/attachments/10001","size":2460}] schema: items: $ref: '#/components/schemas/Attachment' type: array description: Returned if the request is successful. '403': description: Returned if the user does not have the necessary permission. '404': description: |- Returned if any of the following is true: * the issue is not found. * the user does not have permission to view the issue. '413': description: >- The attachments exceed the maximum attachment size for issues, or more than 60 files are requested to be uploaded. See [Configuring file attachments](https://confluence.atlassian.com/x/wIXKM) for details. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Add Attachment tags: - Issue Attachments x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - read:user:jira - write:attachment:jira - read:attachment:jira - read:avatar:jira state: Beta x-atlassian-connect-scope: WRITE /rest/api/3/issue/{issueIdOrKey}/changelog: get: deprecated: false description: >- Returns a [paginated](#pagination) list of all changelogs for an issue sorted by date, starting from the oldest.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianGetchangelogs parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey 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: int32 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":false,"maxResults":2,"nextPage":"https://your-domain.atlassian.net/rest/api/3/issue/TT-1/changelog?&startAt=4&maxResults=2","self":"https://your-domain.atlassian.net/rest/api/3/issue/TT-1/changelog?startAt=2&maxResults=2","startAt":2,"total":5,"values":[{"author":{"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"},"created":"1970-01-18T06:27:50.429+0000","id":"10001","items":[{"field":"fields","fieldtype":"jira","fieldId":"fieldId","from":null,"fromString":"","to":null,"toString":"label-1"}]},{"author":{"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"},"created":"1970-01-18T06:27:51.429+0000","id":"10002","items":[{"field":"fields","fieldtype":"jira","fieldId":"fieldId","from":null,"fromString":"label-1","to":null,"toString":"label-1 label-2"}]}]} schema: $ref: '#/components/schemas/PageBeanChangelog' description: Returned if the request is successful. '404': description: >- Returned if the issue is not found or the user does not have permission to view it. security: - basicAuth: [] - OAuth2: - read:jira-work - {} summary: Atlassian Get Changelogs tags: - Issues 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:issue-meta:jira - read:avatar:jira - read:issue.changelog:jira state: Beta x-atlassian-connect-scope: READ /rest/api/3/issue/{issueIdOrKey}/changelog/list: post: deprecated: false description: >- Returns changelogs for an issue specified by a list of changelog IDs.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianGetchangelogsbyids parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string requestBody: content: application/json: example: changelogIds: - 10001 - 10002 schema: $ref: '#/components/schemas/IssueChangelogIds' required: true responses: '200': content: application/json: example: >- {"histories":[{"author":{"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"},"created":"1970-01-18T06:27:50.429+0000","id":"10001","items":[{"field":"fields","fieldtype":"jira","fieldId":"fieldId","from":null,"fromString":"","to":null,"toString":"label-1"}]},{"author":{"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"},"created":"1970-01-18T06:27:51.429+0000","id":"10002","items":[{"field":"fields","fieldtype":"jira","fieldId":"fieldId","from":null,"fromString":"label-1","to":null,"toString":"label-1 label-2"}]}],"maxResults":2,"startAt":0,"total":2} schema: $ref: '#/components/schemas/PageOfChangelogs' description: Returned if the request is successful. '400': description: Returned if the request is not valid. '404': description: >- Returned if the issue is not found or the user does not have the necessary permission. security: - basicAuth: [] - OAuth2: - read:jira-work - {} summary: Atlassian Get Changelogs By Ids tags: - Issues 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:issue-meta:jira - read:avatar:jira - read:issue.changelog:jira state: Beta x-atlassian-connect-scope: WRITE /rest/api/3/issue/{issueIdOrKey}/comment: get: deprecated: false description: >- Returns all comments for an issue.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:** Comments are included in the response where the user has:

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* If the comment has visibility restrictions, belongs to the group or has the role visibility is role visibility is restricted to. operationId: atlassianGetcomments parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey 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: 5000 format: int32 type: integer - description: >- [Order](#ordering) the results by a field. Accepts *created* to sort comments by their created date. in: query name: orderBy schema: enum: - created - '-created' - +created type: string - description: >- Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML. in: query name: expand schema: type: string responses: '200': content: application/json: example: >- {"comments":[{"author":{"accountId":"5b10a2844c20165700ede21g","active":false,"displayName":"Mia Krystof","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"body":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"type":"text","text":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper."}]}]},"created":"2021-01-17T12:34:00.000+0000","id":"10000","self":"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000","updateAuthor":{"accountId":"5b10a2844c20165700ede21g","active":false,"displayName":"Mia Krystof","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"updated":"2021-01-18T23:45:00.000+0000","visibility":{"identifier":"Administrators","type":"role","value":"Administrators"}}],"maxResults":1,"startAt":0,"total":1} schema: $ref: '#/components/schemas/PageOfComments' description: Returned if the request is successful. '400': description: Returned if `orderBy` is set to a value other than *created*. '401': description: Returned if the authentication credentials are incorrect or missing. '404': description: >- Returned if the issue is not found or the user does not have permission to view it. security: - basicAuth: [] - OAuth2: - read:jira-work - {} summary: Atlassian Get Comments tags: - Issue Comments 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:comment:jira - read:comment.property:jira - read:group:jira - read:project:jira - read:project-role:jira - read:user:jira - read:avatar:jira state: Beta x-atlassian-connect-scope: READ post: deprecated: false description: >- Adds a comment to an issue.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* and *Add comments* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue containing the comment is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianAddcomment parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string - description: >- Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML. in: query name: expand schema: type: string requestBody: content: application/json: example: body: content: - content: - text: >- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper. type: text type: paragraph type: doc version: 1 visibility: identifier: Administrators type: role value: Administrators schema: $ref: '#/components/schemas/Comment' required: true responses: '201': content: application/json: example: >- {"author":{"accountId":"5b10a2844c20165700ede21g","active":false,"displayName":"Mia Krystof","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"body":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"type":"text","text":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper."}]}]},"created":"2021-01-17T12:34:00.000+0000","id":"10000","self":"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000","updateAuthor":{"accountId":"5b10a2844c20165700ede21g","active":false,"displayName":"Mia Krystof","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"updated":"2021-01-18T23:45:00.000+0000","visibility":{"identifier":"Administrators","type":"role","value":"Administrators"}} schema: $ref: '#/components/schemas/Comment' description: Returned if the request is successful. '400': description: Returned if the request is invalid. '401': description: Returned if the authentication credentials are incorrect. '404': description: >- Returned if the issue is not found or the user does not have permission to view it. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Add Comment tags: - Issue Comments x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - read:comment:jira - read:comment.property:jira - read:group:jira - read:project:jira - read:project-role:jira - read:user:jira - write:comment:jira - read:avatar:jira state: Beta x-atlassian-connect-scope: WRITE /rest/api/3/issue/{issueIdOrKey}/comment/{id}: delete: deprecated: false description: >- Deletes a comment.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue containing the comment is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* *Delete all comments*[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any comment or *Delete own comments* to delete comment created by the user,
* If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to. operationId: atlassianDeletecomment parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string - description: The ID of the comment. in: path name: id required: true schema: type: string responses: '204': description: Returned if the request is successful. '400': description: Returned if the user does not have permission to delete the comment. '401': description: Returned if the authentication credentials are incorrect or missing. '404': description: >- Returned if the issue or comment is not found or the user does not have permission to view the issue or comment. '405': description: Returned if an anonymous call is made to the operation. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Delete Comment tags: - Issue Comments x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - delete:comment:jira - delete:comment.property:jira state: Beta x-atlassian-connect-scope: DELETE get: deprecated: false description: >- Returns a comment.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to. operationId: atlassianGetcomment parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string - description: The ID of the comment. in: path name: id required: true schema: type: string - description: >- Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML. in: query name: expand schema: type: string responses: '200': content: application/json: example: >- {"author":{"accountId":"5b10a2844c20165700ede21g","active":false,"displayName":"Mia Krystof","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"body":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"type":"text","text":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper."}]}]},"created":"2021-01-17T12:34:00.000+0000","id":"10000","self":"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000","updateAuthor":{"accountId":"5b10a2844c20165700ede21g","active":false,"displayName":"Mia Krystof","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"updated":"2021-01-18T23:45:00.000+0000","visibility":{"identifier":"Administrators","type":"role","value":"Administrators"}} schema: $ref: '#/components/schemas/Comment' description: Returned if the request is successful. '401': description: Returned if the authentication credentials are incorrect or missing. '404': description: >- Returned if the issue or comment is not found or the user does not have permission to view the issue or comment. security: - basicAuth: [] - OAuth2: - read:jira-work - {} summary: Atlassian Get Comment tags: - Issue Comments 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:comment:jira - read:comment.property:jira - read:group:jira - read:project:jira - read:project-role:jira - read:user:jira - read:avatar:jira state: Beta x-atlassian-connect-scope: READ put: deprecated: false description: >- Updates a comment.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue containing the comment is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* *Edit all comments*[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any comment or *Edit own comments* to update comment created by the user.
* If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to. operationId: atlassianUpdatecomment parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string - description: The ID of the comment. in: path name: id required: true schema: type: string - description: Whether users are notified when a comment is updated. in: query name: notifyUsers schema: default: true type: boolean - description: >- Whether screen security is overridden to enable uneditable fields to be edited. Available to Connect app users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) and Forge apps acting on behalf of users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). in: query name: overrideEditableFlag schema: default: false type: boolean - description: >- Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML. in: query name: expand schema: type: string requestBody: content: application/json: example: body: content: - content: - text: >- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper. type: text type: paragraph type: doc version: 1 visibility: identifier: Administrators type: role value: Administrators schema: $ref: '#/components/schemas/Comment' required: true responses: '200': content: application/json: example: >- {"author":{"accountId":"5b10a2844c20165700ede21g","active":false,"displayName":"Mia Krystof","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"body":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"type":"text","text":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eget venenatis elit. Duis eu justo eget augue iaculis fermentum. Sed semper quam laoreet nisi egestas at posuere augue semper."}]}]},"created":"2021-01-17T12:34:00.000+0000","id":"10000","self":"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000","updateAuthor":{"accountId":"5b10a2844c20165700ede21g","active":false,"displayName":"Mia Krystof","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"updated":"2021-01-18T23:45:00.000+0000","visibility":{"identifier":"Administrators","type":"role","value":"Administrators"}} schema: $ref: '#/components/schemas/Comment' description: Returned if the request is successful. '400': description: >- Returned if the user does not have permission to edit the comment or the request is invalid. '401': description: Returned if the authentication credentials are incorrect or missing. '404': description: >- Returned if the issue or comment is not found or the user does not have permission to view the issue or comment. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Update Comment tags: - Issue Comments x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - read:comment:jira - read:comment.property:jira - read:group:jira - read:project:jira - read:project-role:jira - read:user:jira - write:comment:jira - read:avatar:jira state: Beta x-atlassian-connect-scope: WRITE /rest/api/3/issue/{issueIdOrKey}/editmeta: get: deprecated: false description: >- Returns the edit screen fields for an issue that are visible to and editable by the user. Use the information to populate the requests in [Edit issue](#api-rest-api-3-issue-issueIdOrKey-put).

This endpoint will check for these conditions:

1. Field is available on a field screen - through screen, screen scheme, issue type screen scheme, and issue type scheme configuration. `overrideScreenSecurity=true` skips this condition.
2. Field is visible in the [field configuration](https://support.atlassian.com/jira-cloud-administration/docs/change-a-field-configuration/). `overrideScreenSecurity=true` skips this condition.
3. Field is shown on the issue: each field has different conditions here. For example: Attachment field only shows if attachments are enabled. Assignee only shows if user has permissions to assign the issue.
4. If a field is custom then it must have valid custom field context, applicable for its project and issue type. All system fields are assumed to have context in all projects and all issue types.
5. Issue has a project, issue type, and status defined.
6. Issue is assigned to a valid workflow, and the current status has assigned a workflow step. `overrideEditableFlag=true` skips this condition.
7. The current workflow step is editable. This is true by default, but [can be disabled by setting](https://support.atlassian.com/jira-cloud-administration/docs/use-workflow-properties/) the `jira.issue.editable` property to `false`. `overrideEditableFlag=true` skips this condition.
8. User has [Edit issues permission](https://support.atlassian.com/jira-cloud-administration/docs/permissions-for-company-managed-projects/).
9. Workflow permissions allow editing a field. This is true by default but [can be modified](https://support.atlassian.com/jira-cloud-administration/docs/use-workflow-properties/) using `jira.permission.*` workflow properties.

Fields hidden using [Issue layout settings page](https://support.atlassian.com/jira-software-cloud/docs/configure-field-layout-in-the-issue-view/) remain editable.

Connect apps having an app user with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), and Forge apps acting on behalf of users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), can return additional details using:

* `overrideScreenSecurity` When this flag is `true`, then this endpoint skips checking if fields are available through screens, and field configuration (conditions 1. and 2. from the list above).
* `overrideEditableFlag` When this flag is `true`, then this endpoint skips checking if workflow is present and if the current step is editable (conditions 6. and 7. from the list above).

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.

Note: For any fields to be editable the user must have the *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the issue. operationId: atlassianGeteditissuemeta parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string - description: >- Whether hidden fields are returned. Available to Connect app users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) and Forge apps acting on behalf of users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). in: query name: overrideScreenSecurity schema: default: false type: boolean - description: >- Whether non-editable fields are returned. Available to Connect app users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) and Forge apps acting on behalf of users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). in: query name: overrideEditableFlag schema: default: false type: boolean responses: '200': content: application/json: example: >- {"fields":{"summary":{"allowedValues":["red","blue"],"defaultValue":"red","hasDefaultValue":false,"key":"field_key","name":"My Multi Select","operations":["set","add"],"required":false,"schema":{"custom":"com.atlassian.jira.plugin.system.customfieldtypes:multiselect","customId":10001,"items":"option","type":"array"}}}} schema: $ref: '#/components/schemas/IssueUpdateMetadata' description: Returned if the request is successful. '401': description: Returned if the authentication credentials are incorrect or missing. '403': description: >- Returned if the user uses an override parameter but doesn't have permission to do so. '404': description: >- Returned if the issue is not found or the user does not have permission to view it. security: - basicAuth: [] - OAuth2: - read:jira-work - {} summary: Atlassian Get Edit Issue Metadata tags: - Issues 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:issue-meta:jira - read:field-configuration:jira state: Beta x-atlassian-connect-scope: READ /rest/api/3/issue/{issueIdOrKey}/notify: post: deprecated: false description: >- Creates an email notification for an issue and adds it to the mail queue.

**[Permissions](#permissions) required:**

* *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianNotify parameters: - description: ID or key of the issue that the notification is sent for. in: path name: issueIdOrKey required: true schema: type: string requestBody: content: application/json: example: htmlBody: >- The latest test results for this ticket are now available. restrict: groupIds: [] groups: - name: notification-group permissions: - key: BROWSE subject: Latest test results textBody: The latest test results for this ticket are now available. to: assignee: false groupIds: [] groups: - name: notification-group reporter: false users: - accountId: 5b10a2844c20165700ede21g active: false voters: true watchers: true schema: $ref: '#/components/schemas/Notification' description: The request object for the notification and recipients. required: true responses: '204': content: application/json: schema: {} description: Returned if the email is queued for sending. '400': description: |- Returned if: * the recipient is the same as the calling user. * the recipient is invalid. For example, the recipient is set to the assignee, but the issue is unassigned. * the request is invalid. For example, required fields are missing or have invalid values. '403': description: |- Returned if: * outgoing emails are disabled. * no SMTP server is configured. '404': description: Returned if the issue is not found. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Send Notification For Issue tags: - Issues x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - send:notification:jira state: Beta x-atlassian-connect-scope: WRITE /rest/api/3/issue/{issueIdOrKey}/properties: get: deprecated: false description: >- Returns the URLs and keys of an issue's properties.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:** Property details are only returned where the user has:

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianGetissuepropertykeys parameters: - description: The key or ID of the issue. in: path name: issueIdOrKey required: true schema: type: string responses: '200': content: application/json: example: >- {"keys":[{"key":"issue.support","self":"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support"}]} schema: $ref: '#/components/schemas/PropertyKeys' description: Returned if the request is successful. '404': description: >- Returned if the issue is not found or the user does not have permissions to view the issue. security: - basicAuth: [] - OAuth2: - read:jira-work - {} summary: Atlassian Get Issue Property Keys tags: - Issue Properties 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:issue.property:jira state: Beta x-atlassian-connect-scope: READ /rest/api/3/issue/{issueIdOrKey}/properties/{propertyKey}: delete: deprecated: false description: >- Deletes an issue's property.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianDeleteissueproperty parameters: - description: The key or ID of the issue. in: path name: issueIdOrKey required: true schema: type: string - description: The key of the property. in: path name: propertyKey required: true schema: type: string responses: '204': description: Returned if the request is successful. '401': description: Returned if the authentication credentials are incorrect or missing. '404': description: >- Returned if the issue or property is not found, or the user does not have permission to edit the issue. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Delete Issue Property tags: - Issue Properties x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - delete:issue.property:jira state: Beta x-atlassian-connect-scope: DELETE get: deprecated: false description: >- Returns the key and value of an issue's property.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianGetissueproperty parameters: - description: The key or ID of the issue. in: path name: issueIdOrKey required: true schema: type: string - description: The key of the property. in: path name: propertyKey required: true schema: type: string responses: '200': content: application/json: example: >- {"key":"issue.support","value":{"system.conversation.id":"b1bf38be-5e94-4b40-a3b8-9278735ee1e6","system.support.time":"1m"}} schema: $ref: '#/components/schemas/EntityProperty' description: Returned if the request is successful. '401': description: Returned if the authentication credentials are incorrect or missing. '404': description: >- Returned if the issue or property is not found or the user does not have permission to see the issue. security: - basicAuth: [] - OAuth2: - read:jira-work - {} summary: Atlassian Get Issue Property tags: - Issue Properties 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:issue.property:jira state: Beta x-atlassian-connect-scope: READ put: deprecated: false description: >- Sets the value of an issue's property. Use this resource to store custom data against an issue.

The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianSetissueproperty parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string - description: The key of the issue property. The maximum length is 255 characters. in: path name: propertyKey required: true schema: type: string requestBody: content: application/json: schema: {} description: >- The value of the property. The value has to be a valid, non-empty [JSON](https://tools.ietf.org/html/rfc4627) value. The maximum length of the property value is 32768 bytes. required: true responses: '200': content: application/json: schema: {} description: Returned if the issue property is updated. '201': content: application/json: schema: {} description: Returned if the issue property is created. '400': description: Returned if the request is invalid. '401': description: Returned if the authentication credentials are incorrect or missing. '403': description: Returned if the user does not have permission to edit the issue. '404': description: >- Returned if the issue is not found or the user does not have permission to view the issue. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Set Issue Property tags: - Issue Properties x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - write:issue.property:jira state: Beta x-atlassian-connect-scope: WRITE /rest/api/3/issue/{issueIdOrKey}/remotelink: delete: deprecated: false description: >- Deletes the remote issue link from the issue using the link's global ID. Where the global ID includes reserved URL characters these must be escaped in the request. For example, pass `system=http://www.mycompany.com/support&id=1` as `system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1`.

This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is implemented, issue-level security permission to view the issue. operationId: atlassianDeleteremoteissuelinkbyglobalid parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: example: '10000' type: string x-showInExample: 'true' - description: The global ID of a remote issue link. in: query name: globalId required: true schema: example: system=http://www.mycompany.com/support&id=1 type: string x-showInExample: 'true' responses: '204': description: Returned if the request is successful. '400': description: Returned if a global ID isn't provided. '401': description: Returned if the authentication credentials are incorrect or missing. '403': description: Returned if the user does not have permission to link issues. '404': description: >- Returned if the issue or remote issue link is not found or the user does not have permission to view the issue. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Delete Remote Issue Link By Global Id tags: - Issue Remote Links x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - delete:issue.remote-link:jira - write:issue:jira state: Beta x-atlassian-connect-scope: DELETE get: deprecated: false description: >- Returns the remote issue links for an issue. When a remote issue link global ID is provided the record with that global ID is returned, otherwise all remote issue links are returned. Where a global ID includes reserved URL characters these must be escaped in the request. For example, pass `system=http://www.mycompany.com/support&id=1` as `system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1`.

This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianGetremoteissuelinks parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: example: '10000' type: string x-showInExample: 'true' - description: The global ID of the remote issue link. in: query name: globalId schema: type: string responses: '200': content: application/json: example: >- [{"application":{"name":"My Acme Tracker","type":"com.acme.tracker"},"globalId":"system=http://www.mycompany.com/support&id=1","id":10000,"object":{"icon":{"title":"Support Ticket","url16x16":"http://www.mycompany.com/support/ticket.png"},"status":{"icon":{"link":"http://www.mycompany.com/support?id=1&details=closed","title":"Case Closed","url16x16":"http://www.mycompany.com/support/resolved.png"},"resolved":true},"summary":"Customer support issue","title":"TSTSUP-111","url":"http://www.mycompany.com/support?id=1"},"relationship":"causes","self":"https://your-domain.atlassian.net/rest/api/issue/MKY-1/remotelink/10000"},{"application":{"name":"My Acme Tester","type":"com.acme.tester"},"globalId":"system=http://www.anothercompany.com/tester&id=1234","id":10001,"object":{"icon":{"title":"Test Case","url16x16":"http://www.anothercompany.com/tester/images/testcase.gif"},"status":{"icon":{"link":"http://www.anothercompany.com/tester/person?accountId=5b10a2844c20165700ede21g","title":"Tested by Mia Krystof","url16x16":"http://www.anothercompany.com/tester/images/person/mia.gif"},"resolved":false},"summary":"Test that the submit button saves the item","title":"Test Case #1234","url":"http://www.anothercompany.com/tester/testcase/1234"},"relationship":"is tested by","self":"https://your-domain.atlassian.net/rest/api/issue/MKY-1/remotelink/10001"}] schema: $ref: '#/components/schemas/RemoteIssueLink' description: Returned if the request is successful. '400': description: Returned if the request is invalid. '401': description: Returned if the authentication credentials are incorrect or missing. '403': description: Returned if issue linking is disabled. '404': description: >- Returned if the issue or remote issue link is not found or the user does not have permission to view the issue. security: - basicAuth: [] - OAuth2: - read:jira-work - {} summary: Atlassian Get Remote Issue Links tags: - Issue Remote Links 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:issue.remote-link:jira - read:status:jira state: Beta x-atlassian-connect-scope: READ post: deprecated: false description: >- Creates or updates a remote issue link for an issue.

If a `globalId` is provided and a remote issue link with that global ID is found it is updated. Any fields without values in the request are set to null. Otherwise, the remote issue link is created.

This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianCreateorupdateremoteissuelink parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string requestBody: content: application/json: example: application: name: My Acme Tracker type: com.acme.tracker globalId: system=http://www.mycompany.com/support&id=1 object: icon: title: Support Ticket url16x16: http://www.mycompany.com/support/ticket.png status: icon: link: http://www.mycompany.com/support?id=1&details=closed title: Case Closed url16x16: http://www.mycompany.com/support/resolved.png resolved: true summary: Customer support issue title: TSTSUP-111 url: http://www.mycompany.com/support?id=1 relationship: causes schema: $ref: '#/components/schemas/RemoteIssueLinkRequest' required: true responses: '200': content: application/json: example: >- {"id":10000,"self":"https://your-domain.atlassian.net/rest/api/issue/MKY-1/remotelink/10000"} schema: $ref: '#/components/schemas/RemoteIssueLinkIdentifies' description: Returned if the remote issue link is updated. '201': content: application/json: example: >- {"id":10000,"self":"https://your-domain.atlassian.net/rest/api/issue/MKY-1/remotelink/10000"} schema: $ref: '#/components/schemas/RemoteIssueLinkIdentifies' description: Returned if the remote issue link is created. '400': content: application/json: example: '{"errorMessages":[],"errors":{"title":"''title'' is required."}}' description: Returned if the request is invalid. '401': description: Returned if the authentication credentials are incorrect or missing. '403': description: Returned if the user does not have permission to link issues. '404': description: >- Returned if the issue is not found or the user does not have permission to view the issue. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Create Or Update Remote Issue Link tags: - Issue Remote Links x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - write:issue:jira - write:issue.remote-link:jira - read:issue.remote-link:jira state: Beta x-atlassian-connect-scope: WRITE /rest/api/3/issue/{issueIdOrKey}/remotelink/{linkId}: delete: deprecated: false description: >- Deletes a remote issue link from an issue.

This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects*, *Edit issues*, and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianDeleteremoteissuelinkbyid parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: example: '10000' type: string x-showInExample: 'true' - description: The ID of a remote issue link. in: path name: linkId required: true schema: example: '10000' type: string x-showInExample: 'true' responses: '204': description: Returned if the request is successful. '400': description: >- Returned if the link ID is invalid or the remote issue link does not belong to the issue. '401': description: Returned if the authentication credentials are incorrect or missing. '403': description: Returned if the user does not have permission to link issues. '404': description: >- Returned if the issue or remote issue link is not found or the user does not have permission to view the issue. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Delete Remote Issue Link By Id tags: - Issue Remote Links x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - delete:issue.remote-link:jira - write:issue:jira state: Beta x-atlassian-connect-scope: DELETE get: deprecated: false description: >- Returns a remote issue link for an issue.

This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianGetremoteissuelinkbyid parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string - description: The ID of the remote issue link. in: path name: linkId required: true schema: type: string responses: '200': content: application/json: example: >- {"application":{"name":"My Acme Tracker","type":"com.acme.tracker"},"globalId":"system=http://www.mycompany.com/support&id=1","id":10000,"object":{"icon":{"title":"Support Ticket","url16x16":"http://www.mycompany.com/support/ticket.png"},"status":{"icon":{"link":"http://www.mycompany.com/support?id=1&details=closed","title":"Case Closed","url16x16":"http://www.mycompany.com/support/resolved.png"},"resolved":true},"summary":"Customer support issue","title":"TSTSUP-111","url":"http://www.mycompany.com/support?id=1"},"relationship":"causes","self":"https://your-domain.atlassian.net/rest/api/issue/MKY-1/remotelink/10000"} schema: $ref: '#/components/schemas/RemoteIssueLink' description: Returned if the request is successful. '400': description: >- Returned if the link ID is invalid or the remote issue link does not belong to the issue. '401': description: Returned if the authentication credentials are incorrect or missing. '403': description: Returned if issue linking is disabled. '404': description: >- Returned if the issue or remote issue link is not found or the user does not have permission to view the issue. security: - basicAuth: [] - OAuth2: - read:jira-work - {} summary: Atlassian Get Remote Issue Link By Id tags: - Issue Remote Links 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:issue.remote-link:jira - read:status:jira state: Beta x-atlassian-connect-scope: READ put: deprecated: false description: >- Updates a remote issue link for an issue.

Note: Fields without values in the request are set to null.

This operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianUpdateremoteissuelink parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: example: '10000' type: string x-showInExample: 'true' - description: The ID of the remote issue link. in: path name: linkId required: true schema: example: '10000' type: string x-showInExample: 'true' requestBody: content: application/json: example: application: name: My Acme Tracker type: com.acme.tracker globalId: system=http://www.mycompany.com/support&id=1 object: icon: title: Support Ticket url16x16: http://www.mycompany.com/support/ticket.png status: icon: link: http://www.mycompany.com/support?id=1&details=closed title: Case Closed url16x16: http://www.mycompany.com/support/resolved.png resolved: true summary: Customer support issue title: TSTSUP-111 url: http://www.mycompany.com/support?id=1 relationship: causes schema: $ref: '#/components/schemas/RemoteIssueLinkRequest' required: true responses: '204': content: application/json: schema: {} description: Returned if the request is successful. '400': content: application/json: example: '{"errorMessages":[],"errors":{"title":"''title'' is required."}}' description: |- Returned if: * the link ID is invalid. * the remote issue link does not belong to the issue. * the request body is invalid. '401': description: Returned if the authentication credentials are incorrect or missing. '403': description: Returned if the user does not have permission to link issues. '404': description: >- Returned if the issue or remote issue link is not found or the user does not have permission to view the issue. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Update Remote Issue Link By Id tags: - Issue Remote Links x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - write:issue:jira - write:issue.remote-link:jira state: Beta x-atlassian-connect-scope: WRITE /rest/api/3/issue/{issueIdOrKey}/transitions: get: deprecated: false description: >- Returns either all transitions or a transition that can be performed by the user on an issue, based on the issue's status.

Note, if a request is made for a transition that does not exist or cannot be performed on the issue, given its status, the response will return any empty transitions list.

This operation can be accessed anonymously.

**[Permissions](#permissions) required: A list or transition is returned only when the user has:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.

However, if the user does not have the *Transition issues* [ project permission](https://confluence.atlassian.com/x/yodKLg) the response will not list any transitions. operationId: atlassianGettransitions parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string - description: >- Use [expand](#expansion) to include additional information about transitions in the response. This parameter accepts `transitions.fields`, which returns information about the fields in the transition screen for each transition. Fields hidden from the screen are not returned. Use this information to populate the `fields` and `update` fields in [Transition issue](#api-rest-api-3-issue-issueIdOrKey-transitions-post). in: query name: expand schema: type: string - description: The ID of the transition. in: query name: transitionId schema: type: string - description: >- Whether transitions with the condition *Hide From User Condition* are included in the response. in: query name: skipRemoteOnlyCondition schema: default: false type: boolean - description: >- Whether details of transitions that fail a condition are included in the response in: query name: includeUnavailableTransitions schema: default: false type: boolean - description: >- Whether the transitions are sorted by ops-bar sequence value first then category order (Todo, In Progress, Done) or only by ops-bar sequence value. in: query name: sortByOpsBarAndStatus schema: default: false type: boolean responses: '200': content: application/json: example: >- {"transitions":[{"fields":{"summary":{"allowedValues":["red","blue"],"defaultValue":"red","hasDefaultValue":false,"key":"field_key","name":"My Multi Select","operations":["set","add"],"required":false,"schema":{"custom":"com.atlassian.jira.plugin.system.customfieldtypes:multiselect","customId":10001,"items":"option","type":"array"}}},"hasScreen":false,"id":"2","isAvailable":true,"isConditional":false,"isGlobal":false,"isInitial":false,"name":"Close Issue","to":{"description":"The issue is currently being worked on.","iconUrl":"https://your-domain.atlassian.net/images/icons/progress.gif","id":"10000","name":"In Progress","self":"https://your-domain.atlassian.net/rest/api/3/status/10000","statusCategory":{"colorName":"yellow","id":1,"key":"in-flight","name":"In Progress","self":"https://your-domain.atlassian.net/rest/api/3/statuscategory/1"}}},{"fields":{"summary":{"allowedValues":["red","blue"],"defaultValue":"red","hasDefaultValue":false,"key":"field_key","name":"My Multi Select","operations":["set","add"],"required":false,"schema":{"custom":"com.atlassian.jira.plugin.system.customfieldtypes:multiselect","customId":10001,"items":"option","type":"array"}},"colour":{"allowedValues":["red","blue"],"defaultValue":"red","hasDefaultValue":false,"key":"field_key","name":"My Multi Select","operations":["set","add"],"required":false,"schema":{"custom":"com.atlassian.jira.plugin.system.customfieldtypes:multiselect","customId":10001,"items":"option","type":"array"}}},"hasScreen":true,"id":"711","name":"QA Review","to":{"description":"The issue is closed.","iconUrl":"https://your-domain.atlassian.net/images/icons/closed.gif","id":"5","name":"Closed","self":"https://your-domain.atlassian.net/rest/api/3/status/5","statusCategory":{"colorName":"green","id":9,"key":"completed","self":"https://your-domain.atlassian.net/rest/api/3/statuscategory/9"}}}]} schema: $ref: '#/components/schemas/Transitions' description: Returned if the request is successful. '401': description: Returned if the authentication credentials are incorrect or missing. '404': description: >- Returned if the issue is not found or the user does not have permission to view it. security: - basicAuth: [] - OAuth2: - read:jira-work - {} summary: Atlassian Get Transitions tags: - Issues 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:issue.transition:jira - read:status:jira - read:field-configuration:jira state: Beta x-atlassian-connect-scope: READ post: deprecated: false description: >- Performs an issue transition and, if the transition has a screen, updates the fields from the transition screen.

sortByCategory To update the fields on the transition screen, specify the fields in the `fields` or `update` parameters in the request body. Get details about the fields using [ Get transitions](#api-rest-api-3-issue-issueIdOrKey-transitions-get) with the `transitions.fields` expand.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* and *Transition issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianDotransition parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string requestBody: content: application/json: example: fields: assignee: name: bob resolution: name: Fixed historyMetadata: activityDescription: Complete order processing actor: avatarUrl: http://mysystem/avatar/tony.jpg displayName: Tony id: tony type: mysystem-user url: http://mysystem/users/tony cause: id: myevent type: mysystem-event description: From the order testing process extraData: Iteration: 10a Step: '4' generator: id: mysystem-1 type: mysystem-application type: myplugin:type transition: id: '5' update: comment: - add: body: content: - content: - text: Bug has been fixed type: text type: paragraph type: doc version: 1 schema: $ref: '#/components/schemas/IssueUpdateDetails' required: true responses: '204': content: application/json: schema: {} description: Returned if the request is successful. '400': description: |- Returned if: * no transition is specified. * the user does not have permission to transition the issue. * a field that isn't included on the transition screen is defined in `fields` or `update`. * a field is specified in both `fields` and `update`. * the request is invalid for any other reason. '401': description: Returned if the authentication credentials are incorrect or missing. '404': description: >- Returned if the issue is not found or the user does not have permission to view it. '409': description: >- Returned if the issue could not be updated due to a conflicting update. (refer to the [changelog](https://developer.atlassian.com/changelog/#CHANGE-1364) *for more details.* '422': description: >- Returned if a configuration problem prevents the creation of the issue. (refer to the [changelog](https://developer.atlassian.com/changelog/#CHANGE-1364) *for more details.* security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Transition Issue tags: - Issues x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - write:issue:jira - write:issue.property:jira state: Beta x-atlassian-connect-scope: WRITE /rest/api/3/issue/{issueIdOrKey}/votes: delete: deprecated: false description: >- Deletes a user's vote from an issue. This is the equivalent of the user clicking *Unvote* on an issue in Jira.

This operation requires the **Allow users to vote on issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianRemovevote parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string responses: '204': description: Returned if the request is successful. '401': description: Returned if the authentication credentials are incorrect or missing. '404': description: |- Returned if: * voting is disabled. * the user has not voted on the issue. * the issue is not found. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Delete Vote tags: - Issue Votes x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - write:issue.vote:jira state: Beta x-atlassian-connect-scope: DELETE get: deprecated: false description: >- Returns details about the votes on an issue.

This operation requires the **Allow users to vote on issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is ini
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.

Note that users with the necessary permissions for this operation but without the *View voters and watchers* project permissions are not returned details in the `voters` field. operationId: atlassianGetvotes parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string responses: '200': content: application/json: example: >- {"hasVoted":true,"self":"https://your-domain.atlassian.net/rest/api/issue/MKY-1/votes","voters":[{"accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","active":false,"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","key":"","name":"","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"}],"votes":24} schema: $ref: '#/components/schemas/Votes' description: Returned if the request is successful. '401': description: Returned if the authentication credentials are incorrect or missing. '404': description: |- Returned if: * voting is disabled. * the user does not have permission to view the issue. * the issue is not found. security: - basicAuth: [] - OAuth2: - read:jira-work - {} summary: Atlassian Get Votes tags: - Issue Votes 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:issue.vote:jira - read:user:jira - read:application-role:jira - read:avatar:jira - read:group:jira state: Beta x-atlassian-connect-scope: READ post: deprecated: false description: >- Adds the user's vote to an issue. This is the equivalent of the user clicking *Vote* on an issue in Jira.

This operation requires the **Allow users to vote on issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianAddvote parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string responses: '204': content: application/json: schema: {} description: Returned if the request is successful. '400': description: Returned if the request is invalid. '401': description: Returned if the authentication credentials are incorrect or missing. '404': description: |- Returned if: * voting is disabled. * the issue is not found. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Add Vote tags: - Issue Votes x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - write:issue.vote:jira state: Beta x-atlassian-connect-scope: WRITE /rest/api/3/issue/{issueIdOrKey}/watchers: delete: deprecated: false description: >- Deletes a user as a watcher of an issue.

This operation requires the **Allow users to watch issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* To remove users other than themselves from the watchlist, *Manage watcher list* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. operationId: atlassianRemovewatcher parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string - description: >- This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. in: query name: username schema: type: string - description: >- The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required. in: query name: accountId schema: example: 5b10ac8d82e05b22cc7d4ef5 maxLength: 128 type: string x-showInExample: 'true' responses: '204': description: Returned if the request is successful. '400': description: Returned if `accountId` is not supplied. '401': description: Returned if the authentication credentials are incorrect or missing. '403': description: >- Returned if the user does not have the permission to manage the watcher list. '404': description: >- Returned if the issue or the user is not found or the user does not have permission to view the issue. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Delete Watcher tags: - Issue Watchers x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - write:issue.watcher:jira state: Beta x-atlassian-connect-scope: DELETE get: deprecated: false description: >- Returns the watchers for an issue.

This operation requires the **Allow users to watch issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is ini
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* To see details of users on the watchlist other than themselves, *View voters and watchers* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. operationId: atlassianGetissuewatchers parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string responses: '200': content: application/json: example: >- {"isWatching":false,"self":"https://your-domain.atlassian.net/rest/api/3/issue/EX-1/watchers","watchCount":1,"watchers":[{"accountId":"5b10a2844c20165700ede21g","active":false,"displayName":"Mia Krystof","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"}]} schema: $ref: '#/components/schemas/Watchers' description: Returned if the request is successful '401': description: Returned if the authentication credentials are incorrect or missing. '404': description: >- Returned if the issue is not found or the user does not have permission to view it. security: - basicAuth: [] - OAuth2: - read:jira-work - {} summary: Atlassian Get Issue Watchers tags: - Issue Watchers 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:issue.watcher:jira - read:user:jira - read:avatar:jira state: Beta x-atlassian-connect-scope: READ post: deprecated: false description: >- Adds a user as a watcher of an issue by passing the account ID of the user. For example, `"5b10ac8d82e05b22cc7d4ef5"`. If no user is specified the calling user is added.

This operation requires the **Allow users to watch issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* To add users other than themselves to the watchlist, *Manage watcher list* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. operationId: atlassianAddwatcher parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string requestBody: content: application/json: schema: type: string description: >- The account ID of the user. Note that username cannot be used due to privacy changes. required: true responses: '204': content: application/json: schema: {} description: Returned if the request is successful. '400': description: Returned if the request is invalid. '401': description: Returned if the authentication credentials are incorrect or missing. '403': description: >- Returned if the user does not have the permission to manage the watcher list. '404': description: >- Returned if the issue or the user is not found or the user does not have permission to view the issue. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Add Watcher tags: - Issue Watchers x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - write:issue.watcher:jira state: Beta x-atlassian-connect-scope: WRITE /rest/api/3/issue/{issueIdOrKey}/worklog: get: deprecated: false description: >- Returns worklogs for an issue, starting from the oldest worklog or from the worklog started on or after a date and time.

Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).

This operation can be accessed anonymously.

**[Permissions](#permissions) required:** Workloads are only returned where the user has:

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to. operationId: atlassianGetissueworklog parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey 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: 5000 format: int32 type: integer - description: >- The worklog start date and time, as a UNIX timestamp in milliseconds, after which worklogs are returned. in: query name: startedAfter schema: format: int64 type: integer - description: >- The worklog start date and time, as a UNIX timestamp in milliseconds, before which worklogs are returned. in: query name: startedBefore schema: format: int64 type: integer - description: >- Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts`properties`, which returns worklog properties. in: query name: expand schema: default: '' type: string responses: '200': content: application/json: example: >- {"maxResults":1,"startAt":0,"total":1,"worklogs":[{"author":{"accountId":"5b10a2844c20165700ede21g","active":false,"displayName":"Mia Krystof","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"comment":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"type":"text","text":"I did some work here."}]}]},"id":"100028","issueId":"10002","self":"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000","started":"2021-01-17T12:34:00.000+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"updateAuthor":{"accountId":"5b10a2844c20165700ede21g","active":false,"displayName":"Mia Krystof","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"updated":"2021-01-18T23:45:00.000+0000","visibility":{"identifier":"276f955c-63d7-42c8-9520-92d01dca0625","type":"group","value":"jira-developers"}}]} schema: $ref: '#/components/schemas/PageOfWorklogs' description: Returned if the request is successful '401': description: Returned if the authentication credentials are incorrect or missing. '404': description: |- Returned if: * the issue is not found or the user does not have permission to view the issue. * `startAt` or `maxResults` has non-numeric values. * time tracking is disabled. security: - basicAuth: [] - OAuth2: - read:jira-work - {} summary: Atlassian Get Issue Worklogs tags: - Issue Worklogs 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:group:jira - read:issue-worklog:jira - read:issue-worklog.property:jira - read:project-role:jira - read:user:jira - read:avatar:jira state: Beta x-atlassian-connect-scope: READ post: deprecated: false description: >- Adds a worklog to an issue.

Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* and *Work on issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. operationId: atlassianAddworklog parameters: - description: The ID or key the issue. in: path name: issueIdOrKey required: true schema: type: string - description: Whether users watching the issue are notified by email. in: query name: notifyUsers schema: default: true type: boolean - description: |- Defines how to update the issue's time estimate, the options are: * `new` Sets the estimate to a specific value, defined in `newEstimate`. * `leave` Leaves the estimate unchanged. * `manual` Reduces the estimate by amount specified in `reduceBy`. * `auto` Reduces the estimate by the value of `timeSpent` in the worklog. in: query name: adjustEstimate schema: default: auto enum: - new - leave - manual - auto type: string - description: >- The value to set as the issue's remaining time estimate, as days (\#d), hours (\#h), or minutes (\#m or \#). For example, *2d*. Required when `adjustEstimate` is `new`. in: query name: newEstimate schema: type: string - description: >- The amount to reduce the issue's remaining estimate by, as days (\#d), hours (\#h), or minutes (\#m). For example, *2d*. Required when `adjustEstimate` is `manual`. in: query name: reduceBy schema: type: string - description: >- Use [expand](#expansion) to include additional information about work logs in the response. This parameter accepts `properties`, which returns worklog properties. in: query name: expand schema: default: '' type: string - description: >- Whether the worklog entry should be added to the issue even if the issue is not editable, because jira.issue.editable set to false or missing. For example, the issue is closed. Connect and Forge app users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) can use this flag. in: query name: overrideEditableFlag schema: default: false type: boolean requestBody: content: application/json: example: comment: content: - content: - text: I did some work here. type: text type: paragraph type: doc version: 1 started: 2021-01-17T12:34:00.000+0000 timeSpentSeconds: 12000 visibility: identifier: 276f955c-63d7-42c8-9520-92d01dca0625 type: group schema: $ref: '#/components/schemas/Worklog' required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/Worklog' description: Returned if the request is successful. '400': description: |- Returned if: * `adjustEstimate` is set to `new` but `newEstimate` is not provided or is invalid. * `adjustEstimate` is set to `manual` but `reduceBy` is not provided or is invalid. * the user does not have permission to add the worklog. * the request JSON is malformed. '401': description: Returned if the authentication credentials are incorrect. '404': description: >- Returned if the issue is not found or the user does not have permission to view it. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Add Worklog tags: - Issue Worklogs x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - write:issue-worklog:jira - write:issue-worklog.property:jira - read:avatar:jira - read:group:jira - read:issue-worklog:jira - read:project-role:jira - read:user:jira - read:issue-worklog.property:jira state: Beta x-atlassian-connect-scope: WRITE /rest/api/3/issue/{issueIdOrKey}/worklog/{id}: delete: deprecated: false description: >- Deletes a worklog from an issue.

Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* *Delete all worklogs*[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any worklog or *Delete own worklogs* to delete worklogs created by the user,
* If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to. operationId: atlassianDeleteworklog parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string - description: The ID of the worklog. in: path name: id required: true schema: type: string - description: Whether users watching the issue are notified by email. in: query name: notifyUsers schema: default: true type: boolean - description: |- Defines how to update the issue's time estimate, the options are: * `new` Sets the estimate to a specific value, defined in `newEstimate`. * `leave` Leaves the estimate unchanged. * `manual` Increases the estimate by amount specified in `increaseBy`. * `auto` Reduces the estimate by the value of `timeSpent` in the worklog. in: query name: adjustEstimate schema: default: auto enum: - new - leave - manual - auto type: string - description: >- The value to set as the issue's remaining time estimate, as days (\#d), hours (\#h), or minutes (\#m or \#). For example, *2d*. Required when `adjustEstimate` is `new`. in: query name: newEstimate schema: type: string - description: >- The amount to increase the issue's remaining estimate by, as days (\#d), hours (\#h), or minutes (\#m or \#). For example, *2d*. Required when `adjustEstimate` is `manual`. in: query name: increaseBy schema: type: string - description: >- Whether the work log entry should be added to the issue even if the issue is not editable, because jira.issue.editable set to false or missing. For example, the issue is closed. Connect and Forge app users with admin permission can use this flag. in: query name: overrideEditableFlag schema: default: false type: boolean responses: '204': description: Returned if the request is successful. '400': description: |- Returned if: * `adjustEstimate` is set to `new` but `newEstimate` is not provided or is invalid. * `adjustEstimate` is set to `manual` but `reduceBy` is not provided or is invalid. * the user does not have permission to delete the worklog. '401': description: Returned if the authentication credentials are incorrect. '404': description: |- Returned if: * the issue is not found or user does not have permission to view the issue. * the worklog is not found or the user does not have permission to view it. * time tracking is disabled. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Delete Worklog tags: - Issue Worklogs x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - delete:issue-worklog:jira - delete:issue-worklog.property:jira - write:issue.time-tracking:jira state: Beta x-atlassian-connect-scope: DELETE get: deprecated: false description: >- Returns a worklog.

Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to. operationId: atlassianGetworklog parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string - description: The ID of the worklog. in: path name: id required: true schema: type: string - description: >- Use [expand](#expansion) to include additional information about work logs in the response. This parameter accepts `properties`, which returns worklog properties. in: query name: expand schema: default: '' type: string responses: '200': content: application/json: example: >- {"author":{"accountId":"5b10a2844c20165700ede21g","active":false,"displayName":"Mia Krystof","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"comment":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"type":"text","text":"I did some work here."}]}]},"id":"100028","issueId":"10002","self":"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000","started":"2021-01-17T12:34:00.000+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"updateAuthor":{"accountId":"5b10a2844c20165700ede21g","active":false,"displayName":"Mia Krystof","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"updated":"2021-01-18T23:45:00.000+0000","visibility":{"identifier":"276f955c-63d7-42c8-9520-92d01dca0625","type":"group","value":"jira-developers"}} schema: $ref: '#/components/schemas/Worklog' description: Returned if the request is successful. '401': description: Returned if the authentication credentials are incorrect. '404': description: |- Returned if: * the issue is not found or the user does not have permission to view it. * the worklog is not found or the user does not have permission to view it. * time tracking is disabled. . security: - basicAuth: [] - OAuth2: - read:jira-work - {} summary: Atlassian Get Worklog tags: - Issue Worklogs 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:comment:jira - read:group:jira - read:issue-worklog:jira - read:issue-worklog.property:jira - read:project-role:jira - read:user:jira - read:avatar:jira state: Beta x-atlassian-connect-scope: READ put: deprecated: false description: >- Updates a worklog.

Time tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* *Edit all worklogs*[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any worklog or *Edit own worklogs* to update worklogs created by the user.
* If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to. operationId: atlassianUpdateworklog parameters: - description: The ID or key the issue. in: path name: issueIdOrKey required: true schema: type: string - description: The ID of the worklog. in: path name: id required: true schema: type: string - description: Whether users watching the issue are notified by email. in: query name: notifyUsers schema: default: true type: boolean - description: |- Defines how to update the issue's time estimate, the options are: * `new` Sets the estimate to a specific value, defined in `newEstimate`. * `leave` Leaves the estimate unchanged. * `auto` Updates the estimate by the difference between the original and updated value of `timeSpent` or `timeSpentSeconds`. in: query name: adjustEstimate schema: default: auto enum: - new - leave - manual - auto type: string - description: >- The value to set as the issue's remaining time estimate, as days (\#d), hours (\#h), or minutes (\#m or \#). For example, *2d*. Required when `adjustEstimate` is `new`. in: query name: newEstimate schema: type: string - description: >- Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts `properties`, which returns worklog properties. in: query name: expand schema: default: '' type: string - description: >- Whether the worklog should be added to the issue even if the issue is not editable. For example, because the issue is closed. Connect and Forge app users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) can use this flag. in: query name: overrideEditableFlag schema: default: false type: boolean requestBody: content: application/json: example: comment: content: - content: - text: I did some work here. type: text type: paragraph type: doc version: 1 started: 2021-01-17T12:34:00.000+0000 timeSpentSeconds: 12000 visibility: identifier: 276f955c-63d7-42c8-9520-92d01dca0625 type: group schema: $ref: '#/components/schemas/Worklog' required: true responses: '200': content: application/json: example: >- {"author":{"accountId":"5b10a2844c20165700ede21g","active":false,"displayName":"Mia Krystof","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"comment":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"type":"text","text":"I did some work here."}]}]},"id":"100028","issueId":"10002","self":"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000","started":"2021-01-17T12:34:00.000+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"updateAuthor":{"accountId":"5b10a2844c20165700ede21g","active":false,"displayName":"Mia Krystof","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"updated":"2021-01-18T23:45:00.000+0000","visibility":{"identifier":"276f955c-63d7-42c8-9520-92d01dca0625","type":"group","value":"jira-developers"}} schema: $ref: '#/components/schemas/Worklog' description: Returned if the request is successful '400': description: |- Returned if: * `adjustEstimate` is set to `new` but `newEstimate` is not provided or is invalid. * the user does not have permission to update the worklog. * the request JSON is malformed. '401': description: Returned if the authentication credentials are incorrect. '404': description: |- Returned if: * the issue is not found or user does not have permission to view the issue. * the worklog is not found or the user does not have permission to view it. * time tracking is disabled. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Update Worklog tags: - Issue Worklogs x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - read:comment:jira - read:group:jira - read:issue-worklog:jira - read:issue-worklog.property:jira - read:project-role:jira - read:user:jira - write:comment:jira - write:issue-worklog:jira - write:issue-worklog.property:jira - read:avatar:jira state: Beta x-atlassian-connect-scope: WRITE /rest/api/3/issue/{issueIdOrKey}/worklog/{worklogId}/properties: get: deprecated: false description: >- Returns the keys of all properties for a worklog.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to. operationId: atlassianGetworklogpropertykeys parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string - description: The ID of the worklog. in: path name: worklogId required: true schema: type: string responses: '200': content: application/json: example: >- {"keys":[{"key":"issue.support","self":"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support"}]} schema: $ref: '#/components/schemas/PropertyKeys' description: Returned if the request is successful. '400': description: Returned if the worklog ID is invalid. '401': description: Returned if the authentication credentials are incorrect or missing. '404': description: |- Returned if: * the issue or worklog is not found. * the user does not have permission to view the issue or worklog. security: - basicAuth: [] - OAuth2: - read:jira-work - {} summary: Atlassian Get Worklog Property Keys tags: - Issue Worklog Properties 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:issue-worklog.property:jira state: Beta x-atlassian-connect-scope: READ /rest/api/3/issue/{issueIdOrKey}/worklog/{worklogId}/properties/{propertyKey}: delete: deprecated: false description: >- Deletes a worklog property.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to. operationId: atlassianDeleteworklogproperty parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string - description: The ID of the worklog. in: path name: worklogId required: true schema: type: string - description: The key of the property. in: path name: propertyKey required: true schema: type: string responses: '204': description: Returned if the worklog property is removed. '400': description: Returned if the worklog key or id is invalid. '401': description: Returned if the authentication credentials are incorrect or missing. '403': description: Returned if the user does not have permission to edit the worklog. '404': description: |- Returned if: * the issue, worklog, or property is not found. * the user does not have permission to view the issue or worklog. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Delete Worklog Property tags: - Issue Worklog Properties x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - delete:issue-worklog.property:jira state: Beta x-atlassian-connect-scope: DELETE get: deprecated: false description: >- Returns the value of a worklog property.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to. operationId: atlassianGetworklogproperty parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string - description: The ID of the worklog. in: path name: worklogId required: true schema: type: string - description: The key of the property. in: path name: propertyKey required: true schema: type: string responses: '200': content: application/json: example: >- {"key":"issue.support","value":{"system.conversation.id":"b1bf38be-5e94-4b40-a3b8-9278735ee1e6","system.support.time":"1m"}} schema: $ref: '#/components/schemas/EntityProperty' description: Returned if the request is successful. '400': description: Returned if the worklog ID is invalid. '401': description: Returned if the authentication credentials are incorrect or missing. '404': description: |- Returned if: * the issue, worklog, or property is not found. * the user does not have permission to view the issue or worklog. security: - basicAuth: [] - OAuth2: - read:jira-work - {} summary: Atlassian Get Worklog Property tags: - Issue Worklog Properties 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:issue-worklog.property:jira state: Beta x-atlassian-connect-scope: READ put: deprecated: false description: >- Sets the value of a worklog property. Use this operation to store custom data against the worklog.

The value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

* *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.
* If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.
* *Edit all worklogs*[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any worklog or *Edit own worklogs* to update worklogs created by the user.
* If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to. operationId: atlassianSetworklogproperty parameters: - description: The ID or key of the issue. in: path name: issueIdOrKey required: true schema: type: string - description: The ID of the worklog. in: path name: worklogId required: true schema: type: string - description: The key of the issue property. The maximum length is 255 characters. in: path name: propertyKey required: true schema: type: string requestBody: content: application/json: schema: {} description: >- The value of the property. The value has to be a valid, non-empty [JSON](https://tools.ietf.org/html/rfc4627) value. The maximum length of the property value is 32768 bytes. required: true responses: '200': content: application/json: schema: {} description: Returned if the worklog property is updated. '201': content: application/json: schema: {} description: Returned if the worklog property is created. '400': description: Returned if the worklog ID is invalid. '401': description: Returned if the authentication credentials are incorrect or missing. '403': description: Returned if the user does not have permission to edit the worklog. '404': description: |- Returned if: * the issue or worklog is not found. * the user does not have permission to view the issue or worklog. security: - basicAuth: [] - OAuth2: - write:jira-work - {} summary: Atlassian Set Worklog Property tags: - Issue Worklog Properties x-atlassian-data-security-policy: - app-access-rule-exempt: false x-atlassian-oauth2-scopes: - scheme: OAuth2 scopes: - write:jira-work state: Current - scheme: OAuth2 scopes: - write:issue-worklog.property:jira state: Beta x-atlassian-connect-scope: WRITE servers: - url: https://your-domain.atlassian.net tags: - name: Issue Attachments - name: Issue Comments - name: Issue Properties - name: Issue Remote Links - name: Issue Search - name: Issue Votes - name: Issue Watchers - name: Issue Worklog Properties - name: Issue Worklogs - name: Issues 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