openapi: 3.0.1
servers:
  - url: https://your-domain.atlassian.net
x-hasEquivalentPaths: true
info:
  contact:
    email: ecosystem@atlassian.com
    x-twitter: Atlassian
  description: Jira Cloud platform REST API documentation
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  termsOfService: http://atlassian.com/terms/
  title: The Jira Cloud platform REST API
  version: 1001.0.0-SNAPSHOT
  x-apisguru-categories:
    - developer_tools
  x-logo:
    url: https://twitter.com/Atlassian/profile_image?size=original
  x-origin:
    - format: openapi
      url: https://developer.atlassian.com/cloud/jira/platform/swagger-v3.v3.json
      version: "3.0"
  x-providerName: atlassian.com
  x-serviceName: jira
externalDocs:
  description: Find out more about Atlassian products and services.
  url: http://www.atlassian.com
tags:
  - description: This resource represents an announcement banner. Use it to retrieve and update banner configuration.
    name: Announcement banner
  - description: This resource represents application roles. Use it to get details of an application role or all application roles.
    name: Application roles
  - description: This resource represents audits that record activities undertaken in Jira. Use it to get a list of audit records.
    name: Audit records
  - description: This resource represents system and custom avatars. Use it to obtain the details of system or custom avatars, add and remove avatars from a project or issue type, and obtain avatar images.
    name: Avatars
  - description: This resource represents dashboards. Use it to obtain the details of dashboards as well as get, create, update, or remove item properties and gadgets from dashboards.
    name: Dashboards
  - description: This resource represents [filters](https://confluence.atlassian.com/x/eQiiLQ). Use it to get, create, update, or delete filters. Also use it to configure the columns for a filter and set favorite filters.
    name: Filters
  - description: This resource represents options for sharing [filters](#api-group-Filters). Use it to get share scopes as well as add and remove share scopes from filters.
    name: Filter sharing
  - description: This resource represents a list of users and a list of groups. Use it to obtain the details to populate user and group picker suggestions list.
    name: Group and user picker
  - description: This resource represents groups of users. Use it to get, create, find, and delete groups as well as add and remove users from groups. (\[WARNING\] The standard Atlassian group names are default names only and can be edited or deleted. For example, an admin or Atlassian support could delete the default group jira-software-users or rename it to jsw-users at any point. See https://support.atlassian.com/user-management/docs/create-and-update-groups/ for details.)
    name: Groups
  - description: This resource represents information about the Jira instance. Use it to get license details.
    name: Instance information
  - description: |-
      This resource represents Jira issues. Use it to:

       *  create or edit issues, individually or in bulk.
       *  retrieve metadata about the options for creating or editing issues.
       *  delete an issue.
       *  assign a user to an issue.
       *  get issue changelogs.
       *  send notifications about an issue.
       *  get details of the transitions available for an issue.
       *  transition an issue.
    name: Issues
  - description: "UI modifications is an experimental feature available for **Forge apps only**. It enables Forge apps to control how selected Jira fields behave on global create issue dialog. For example: hide specific fields, set them as required, etc."
    name: UI modifications (apps)
  - description: This resource represents issue attachments and the attachment settings for Jira. Use it to get the metadata for an attachment, delete an attachment, and view the metadata for the contents of an attachment. Also, use it to get the attachment settings for Jira.
    name: Issue attachments
  - description: |-
      This resource represents issue comments. Use it to:

       *  get, create, update, and delete a comment from an issue.
       *  get all comments from issue.
       *  get a list of comments by comment ID.
    name: Issue comments
  - description: This resource represents [issue comment](#api-group-Issue-comments) properties, which provides for storing custom data against an issue comment. Use is to get, set, and delete issue comment properties as well as obtain the keys of all properties on a comment. Comment properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).
    name: Issue comment properties
  - description: This resource represents issue fields, both system and custom fields. Use it to get fields, field configurations, and create custom fields.
    name: Issue fields
  - description: This resource represents issue field configurations. Use it to get, set, and delete field configurations and field configuration schemes.
    name: Issue field configurations
  - description: |-
      This resource represents issue custom field contexts. Use it to:

       *  get, create, update, and delete custom field contexts.
       *  get context to issue types and projects mappings.
       *  get custom field contexts for projects and issue types.
       *  assign custom field contexts to projects.
       *  remove custom field contexts from projects.
       *  add issue types to custom field contexts.
    name: Issue custom field contexts
  - description: |-
      This resource represents custom issue field select list options created in Jira or using the REST API. This resource supports the following field types:

       *  Checkboxes.
       *  Radio Buttons.
       *  Select List (single choice).
       *  Select List (multiple choices).
       *  Select List (cascading).

      See [Issue custom field options (apps)](#api-group-Issue-custom-field-options--apps-) to manipulate custom issue field select list options created by a Connect app.

      Use it to retrieve, create, update, order, and delete custom field options.
    name: Issue custom field options
  - description: |-
      This resource represents custom issue field select list options created by a Connect app. See [Issue custom field options](#api-group-Issue-custom-field-options) to manipulate options created in Jira or using the REST API.

      A select list issue field is a type of [issue field](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field/) that enables a user to select an option from a list. Use it to add, remove, and update the options of a select list issue field.
    name: Issue custom field options (apps)
  - description: This resource represents the values of custom fields added by [Forge apps](https://developer.atlassian.com/platform/forge/). Use it to update the value of a custom field on issues.
    name: Issue custom field values (apps)
  - description: This resource represents configurations stored against a custom field context by a [Forge app](https://developer.atlassian.com/platform/forge/). Configurations are information used by the Forge app at runtime to determine how to handle or process the data in a custom field in a given context. Use this resource to set and read configurations.
    name: Issue custom field configuration (apps)
  - description: |-
      This resource represents links between issues. Use it to get, create, and delete links between issues.

      To use it, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
    name: Issue links
  - description: |-
      This resource represents [issue link](#api-group-Issue-links) types. Use it to get, create, update, and delete link issue types as well as get lists of all link issue types.

      To use it, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.
    name: Issue link types
  - description: This resource represents issue navigator settings. Use it to get and set issue navigator default columns.
    name: Issue navigator settings
  - description: |-
      This resource represents notification schemes, lists of events and the recipients who will receive notifications for those events. Use it to get details of a notification scheme and a list of notification schemes.

      ### About notification schemes ###

      A notification scheme is a list of events and recipients who will receive notifications for those events. The list is contained within the `notificationSchemeEvents` object and contains pairs of `events` and `notifications`:

       *  `event` Identifies the type of event. The events can be [Jira system events](https://support.atlassian.com/jira-cloud-administration/docs/configure-notification-schemes/) (see the *Events* section) or [custom events](https://support.atlassian.com/jira-cloud-administration/docs/add-a-custom-event/).
       *  `notifications` Identifies the [recipients](https://confluence.atlassian.com/x/8YdKLg#Creatinganotificationscheme-recipientsRecipients) of notifications for each event. Recipients can be any of the following types:
          
           *  `CurrentAssignee`
           *  `Reporter`
           *  `CurrentUser`
           *  `ProjectLead`
           *  `ComponentLead`
           *  `User` (the `parameter` is the user key)
           *  `Group` (the `parameter` is the group name)
           *  `ProjectRole` (the `parameter` is the project role ID)
           *  `EmailAddress`
           *  `AllWatchers`
           *  `UserCustomField` (the `parameter` is the ID of the custom field)
           *  `GroupCustomField`(the `parameter` is the ID of the custom field)
    name: Issue notification schemes
  - description: This resource represents issue priorities. Use it to get, create and update issue priorities and details for individual issue priorities.
    name: Issue priorities
  - description: This resource represents [issue](#api-group-Issues) properties, which provides for storing custom data against an issue. Use it to get, set, and delete issue properties as well as obtain details of all properties on an issue. Operations to bulk update and delete issue properties are also provided. Issue properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).
    name: Issue properties
  - description: This resource represents remote issue links, a way of linking Jira to information in other systems. Use it to get, create, update, and delete remote issue links either by ID or global ID. The global ID provides a way of accessing remote issue links using information about the item's remote system host and remote system identifier.
    name: Issue remote links
  - description: This resource represents issue resolution values. Use it to obtain a list of all issue resolution values and the details of individual resolution values.
    name: Issue resolutions
  - description: This resource represents various ways to search for issues. Use it to search for issues with a JQL query and find issues to populate an issue picker.
    name: Issue search
  - description: This resource represents issue security levels. Use it to obtain the details of any issue security level. For more information about issue security levels, see [Configuring issue-level security](https://confluence.atlassian.com/x/J4lKLg).
    name: Issue security level
  - description: |-
      This resource represents issue security schemes. Use it to get an issue security scheme or a list of issue security schemes.

      Issue security schemes control which users or groups of users can view an issue. When an issue security scheme is associated with a project, its security levels can be applied to issues in that project. Sub-tasks also inherit the security level of their parent issue.
    name: Issue security schemes
  - description: |-
      This resource represents issue security schemes, issue security levels, and issue security level members. Use it to get, create, update, and delete issue security schemes or issue security scheme details. Note that only company-managed (classic) projects are supported.

      ### About issue security schemes ###

      Issue security schemes control which users or groups of users can view an issue. An issue security scheme is made up of multiple security levels. Each level can have users or groups of users assigned to it. The following are valid security level members:

       *  Individual users
       *  Groups of users
       *  Project roles
       *  Issue roles
       *  "Anyone", for example to allow anonymous access
       *  A (multi-)user or (multi-)group picker custom field
    name: Issue security scheme
  - description: |-
      This resource represents issues types. Use it to:

       *  get, create, update, and delete issue types.
       *  get all issue types for a user.
       *  get alternative issue types.
       *  set an avatar for an issue type.
    name: Issue types
  - description: |-
      This resource represents issue type schemes in classic projects. Use it to:

       *  get issue type schemes and a list of the projects that use them.
       *  associate issue type schemes with projects.
       *  add issue types to issue type schemes.
       *  delete issue types from issue type schemes.
       *  create, update, and delete issue type schemes.
       *  change the order of issue types in issue type schemes.
    name: Issue type schemes
  - description: |-
      This resource represents issue type screen schemes. Use it to:

       *  get issue type screen schemes and a list of the projects that use them.
       *  create issue type screen schemes.
       *  update issue type screen schemes.
       *  delete issue type screen schemes.
       *  associate issue type screen schemes with projects.
       *  append issue type to screen scheme mappings to issue type screen schemes.
       *  remove issue type to screen scheme mappings from issue type screen schemes.
       *  update default screen scheme of issue type screen scheme.
    name: Issue type screen schemes
  - description: This resource represents [issue type](#api-group-Issue-types) properties, which provides for storing custom data against an issue type. Use it to get, create, and delete issue type properties as well as obtain the keys of all properties on a issues type. Issue type properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).
    name: Issue type properties
  - description: This resource represents votes cast by users on an issue. Use it to get details of votes on an issue as well as cast and withdrawal votes.
    name: Issue votes
  - description: This resource represents users watching an issue. Use it to get details of users watching an issue as well as start and stop a user watching an issue.
    name: Issue watchers
  - description: |-
      This resource represents issue worklogs. Use it to:

       *  get, create, update, and delete worklogs.
       *  obtain lists of updated or deleted worklogs.
    name: Issue worklogs
  - description: This resource represents [issue worklog](#api-group-Issue-worklogs) properties, which provides for storing custom data against an issue worklog. Use it to get, create, and delete issue worklog properties as well as obtain the keys of all properties on a issue worklog. Issue worklog properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).
    name: Issue worklog properties
  - description: This resource is a collection of operations for [Jira expressions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/).
    name: Jira expressions
  - description: This resource represents various settings in Jira. Use it to get and update Jira settings and properties.
    name: Jira settings
  - description: |-
      This resource represents JQL search auto-complete details. Use it to obtain JQL search auto-complete data and suggestions for use in programmatic construction of queries or custom query builders. It also provides operations to:

       *  convert one or more JQL queries with user identifiers (username or user key) to equivalent JQL queries with account IDs.
       *  convert readable details in one or more JQL queries to IDs where a user doesn't have permission to view the entity whose details are readable.
    name: JQL
  - description: This resource represents JQL function's precomputations. Precomputation is a mapping between custom function call and JQL fragment returned by this function. Use it to get and update precomputations.
    name: JQL functions (apps)
  - description: This resource represents available labels. Use it to get available labels for the global label field.
    name: Labels
  - description: This resource represents license metrics. Use it to get available metrics for Jira licences.
    name: License metrics
  - description: This resource represents information about the current user, such as basic details, group membership, application roles, preferences, and locale. Use it to get, create, update, and delete (restore default) values of the user's preferences and locale.
    name: Myself
  - description: This resource represents permissions. Use it to obtain details of all permissions and determine whether the user has certain permissions.
    name: Permissions
  - description: This resource represents permission schemes. Use it to get, create, update, and delete permission schemes as well as get, create, update, and delete details of the permissions granted in those schemes.
    name: Permission schemes
  - description: This resource represents projects. Use it to get, create, update, and delete projects. Also get statuses available to a project, a project's notification schemes, and update a project's type.
    name: Projects
  - description: This resource represents avatars associated with a project. Use it to get, load, set, and remove project avatars.
    name: Project avatars
  - description: This resource represents project categories. Use it to create, update, and delete project categories as well as obtain a list of all project categories and details of individual categories. For more information on managing project categories, see [Adding, assigning, and deleting project categories](https://confluence.atlassian.com/x/-A5WMg).
    name: Project categories
  - description: This resource represents project components. Use it to get, create, update, and delete project components. Also get components for project and get a count of issues by component.
    name: Project components
  - description: This resource represents the email address used to send a project's notifications. Use it to get and set the [project's sender email address](https://confluence.atlassian.com/x/dolKLg).
    name: Project email
  - description: This resource represents project features. Use it to get the list of features for a project and modify the state of a feature. The project feature endpoint is available only for Jira Software, both for team- and company-managed projects.
    name: Project features
  - description: This resource provides validation for project keys and names.
    name: Project key and name validation
  - description: |-
      This resource represents permission schemes for a project. Use this resource to:

       *  get details of a project's issue security levels available to the calling user.
       *  get the permission scheme associated with the project or assign different permission scheme to the project.
       *  get details of a project's issue security scheme.

      See [Managing project permissions](https://confluence.atlassian.com/x/yodKLg) for more information about permission schemes.
    name: Project permission schemes
  - description: This resource represents [project](#api-group-Projects) properties, which provides for storing custom data against a project. Use it to get, create, and delete project properties as well as get a list of property keys for a project. Project properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).
    name: Project properties
  - description: This resource represents the roles that users can play in projects. Use this resource to get, create, update, and delete project roles.
    name: Project roles
  - description: This resource represents the users assigned to [project roles](#api-group-Issue-comments). Use it to get, add, and remove default users from project roles. Also use it to add and remove users from a project role associated with a project.
    name: Project role actors
  - description: This resource represents project types. Use it to obtain a list of all project types, a list of project types accessible to the calling user, and details of a project type.
    name: Project types
  - description: This resource represents project versions. Use it to get, get lists of, create, update, move, merge, and delete project versions. This resource also provides counts of issues by version.
    name: Project versions
  - description: |-
      This resource represents the screens used to record issue details. Use it to:

       *  get details of all screens.
       *  get details of all the fields available for use on screens.
       *  create screens.
       *  delete screens.
       *  update screens.
       *  add a field to the default screen.
    name: Screens
  - description: This resource represents the screen tabs used to record issue details. Use it to get, create, update, move, and delete screen tabs.
    name: Screen tabs
  - description: This resource represents the screen tab fields used to record issue details. Use it to get, add, move, and remove fields from screen tabs.
    name: Screen tab fields
  - description: This resource represents screen schemes in classic projects. Use it to get, create, update, and delete screen schemes.
    name: Screen schemes
  - description: This resource provides information about the Jira instance.
    name: Server info
  - description: This resource represents statuses. Use it to search, get, create, delete, and change statuses.
    name: Status
  - description: This resource represents a [long-running asynchronous tasks](#async-operations). Use it to obtain details about the progress of a long-running task or cancel a long-running task.
    name: Tasks
  - description: This resource represents time tracking and time tracking providers. Use it to get and set the time tracking provider, get and set the time tracking options, and disable time tracking.
    name: Time tracking
  - description: |-
      This resource represent users. Use it to:

       *  get, get a list of, create, and delete users.
       *  get, set, and reset a user's default issue table columns.
       *  get a list of the groups the user belongs to.
       *  get a list of user account IDs for a list of usernames or user keys.
    name: Users
  - description: |-
      This resource represents [user](#api-group-Users) properties and provides for storing custom data against a user. Use it to get, create, and delete user properties as well as get a list of property keys for a user. This resourse is designed for integrations and apps to store per-user data and settings. This enables data used to customized the user experience to be kept in the Jira Cloud instance's database. User properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).

      This resource does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.
    name: User properties
  - description: This resource represents various ways to search for and find users. Use it to obtain list of users including users assignable to projects and issues, users with permissions, user lists for pickup fields, and user lists generated using structured queries. Note that the operations in this resource only return users found within the first 1000 users.
    name: User search
  - description: This resource represents webhooks. Webhooks are calls sent to a URL when an event occurs in Jira for issues specified by a JQL query. Only Connect and OAuth 2.0 apps can register and manage webhooks. For more information, see [Webhooks](https://developer.atlassian.com/cloud/jira/platform/webhooks/#registering-a-webhook-via-the-jira-rest-api-for-connect-apps).
    name: Webhooks
  - description: |-
      This resource represents workflows. Use it to:

       *  get workflows.
       *  create workflows.
       *  delete inactive workflows.
    name: Workflows
  - description: This resource represents workflow transition rules. Workflow transition rules define a Connect or a Forge app routine, such as a [workflow post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/) that is executed in association with the workflow. Use it to read and modify configuration of workflow transition rules.
    name: Workflow transition rules
  - description: |-
      This resource represents workflow schemes. Use it to manage workflow schemes and the workflow scheme's workflows and issue types.

      A workflow scheme maps issue types to workflows. A workflow scheme can be associated with one or more projects, which enables the projects to use the workflow-issue type mappings.

      Active workflow schemes (workflow schemes that are used by projects) cannot be edited. When an active workflow scheme is edited, a draft copy of the scheme is created. The draft workflow scheme is then be edited and published (replacing the active scheme).

      See [Configuring workflow schemes](https://confluence.atlassian.com/x/tohKLg) for more information.
    name: Workflow schemes
  - description: |-
      This resource represents the associations between workflow schemes and projects.

      For more information, see [Managing your workflows](https://confluence.atlassian.com/x/q4hKLg).
    name: Workflow scheme project associations
  - description: |-
      This resource represents draft workflow schemes. Use it to manage drafts of workflow schemes.

      A workflow scheme maps issue types to workflows. A workflow scheme can be associated with one or more projects, which enables the projects to use the workflow-issue type mappings.

      Active workflow schemes (workflow schemes that are used by projects) cannot be edited. Editing an active workflow scheme creates a draft copy of the scheme. The draft workflow scheme can then be edited and published (replacing the active scheme).

      See [Configuring workflow schemes](https://confluence.atlassian.com/x/tohKLg) for more information.
    name: Workflow scheme drafts
  - description: This resource represents issue workflow statuses. Use it to obtain a list of all statuses associated with workflows and the details of a status.
    name: Workflow statuses
  - description: This resource represents status categories. Use it to obtain a list of all status categories and the details of a category. Status categories provided a mechanism for categorizing [statuses](#api-group-Workflow-statuses).
    name: Workflow status categories
  - description: This resource represents workflow transition properties, which provides for storing custom data against a workflow transition. Use it to get, create, and delete workflow transition properties as well as get a list of property keys for a workflow transition. Workflow transition properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).
    name: Workflow transition properties
  - description: |-
      This resource represents app properties. Use it to store arbitrary data for your
      [Connect app](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps).
    name: App properties
  - description: |-
      This resource represents [modules registered dynamically](https://developer.atlassian.com/cloud/jira/platform/dynamic-modules/)
      by [Connect apps](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps).
    name: Dynamic modules
  - description: |-
      This resource supports [app migrations](https://developer.atlassian.com/platform/app-migration/). Use it to:
      - [to request migrated workflow rules details](https://developer.atlassian.com/platform/app-migration/tutorials/migration-app-workflow-rules/).
      - [perform bulk updates of entity properties](https://developer.atlassian.com/platform/app-migration/tutorials/entity-properties-bulk-api/).
      - [perform bulk updates of issue custom field values](https://developer.atlassian.com/platform/app-migration/tutorials/migrating-app-custom-fields/).
    name: App migration
paths:
  /rest/api/3/announcementBanner:
    get:
      deprecated: false
      description: |-
        Returns the current announcement banner configuration.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getBanner
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '{"message":"This is a public, enabled, non-dismissible banner, set using the API","isDismissible":false,"isEnabled":true,"hashId":"9HN2FJK9DM8BHRWERVW3RRTGDJ4G4D5C","visibility":"public"}'
              schema:
                $ref: "#/components/schemas/AnnouncementBannerConfiguration"
          description: Returned if the request is successful.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '"Only admins can read banner configuration."'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get announcement banner configuration
      tags:
        - Announcement banner
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
    put:
      deprecated: false
      description: |-
        Updates the announcement banner configuration.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: setBanner
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              isDismissible: false
              isEnabled: true
              message: This is a public, enabled, non-dismissible banner, set using the API
              visibility: public
            schema:
              $ref: "#/components/schemas/AnnouncementBannerConfigurationUpdate"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '"Banner message cannot be null."'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if an invalid parameter is passed.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '"Only admins can update banner configuration."'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update announcement banner configuration
      tags:
        - Announcement banner
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  /rest/api/3/app/field/value:
    post:
      deprecated: false
      description: |-
        Updates the value of one or more custom fields on one or more issues. Combinations of custom field and issue should be unique within the request. Custom fields can only be updated by the Forge app that created them.

        **[Permissions](#permissions) required:** Only the app that created the custom field can update its values with this operation.
      operationId: updateMultipleCustomFieldValues
      parameters:
        - description: Whether to generate a changelog for this update.
          in: query
          name: generateChangelog
          schema:
            default: true
            type: boolean
      requestBody:
        content:
          application/json:
            example:
              updates:
                - customField: customfield_10010
                  issueIds:
                    - 10010
                    - 10011
                  value: new value
                - customField: customfield_10011
                  issueIds:
                    - 10010
                  value: 1000
            schema:
              $ref: "#/components/schemas/MultipleCustomFieldValuesUpdateDetails"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is invalid.
        "403":
          description: Returned if the request is not authenticated as the app that provided all the fields.
        "404":
          description: Returned if any field is not found.
      security:
        - basicAuth: []
        - OAuth2: []
      summary: Update custom fields
      tags:
        - Issue custom field values (apps)
      x-atlassian-connect-scope: INACCESSIBLE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes: []
          state: Current
        - scheme: OAuth2
          scopes: []
          state: Beta
      x-experimental: true
  "/rest/api/3/app/field/{fieldIdOrKey}/context/configuration":
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of configurations for a custom field created by a [Forge app](https://developer.atlassian.com/platform/forge/).

        The result can be filtered by one of these criteria:

         *  `id`.
         *  `fieldContextId`.
         *  `issueId`.
         *  `projectKeyOrId` and `issueTypeId`.

        Otherwise, all configurations are returned.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the Forge app that created the custom field.
      operationId: getCustomFieldConfiguration
      parameters:
        - description: The ID or key of the custom field, for example `customfield_10000`.
          in: path
          name: fieldIdOrKey
          required: true
          schema:
            type: string
        - description: "The list of configuration IDs. To include multiple configurations, separate IDs with an ampersand: `id=10000&id=10001`. Can't be provided with `fieldContextId`, `issueId`, `projectKeyOrId`, or `issueTypeId`."
          in: query
          name: id
          schema:
            items:
              format: int64
              type: integer
            type: array
            uniqueItems: true
        - description: "The list of field context IDs. To include multiple field contexts, separate IDs with an ampersand: `fieldContextId=10000&fieldContextId=10001`. Can't be provided with `id`, `issueId`, `projectKeyOrId`, or `issueTypeId`."
          in: query
          name: fieldContextId
          schema:
            items:
              format: int64
              type: integer
            type: array
            uniqueItems: true
        - description: The ID of the issue to filter results by. If the issue doesn't exist, an empty list is returned. Can't be provided with `projectKeyOrId`, or `issueTypeId`.
          in: query
          name: issueId
          schema:
            format: int64
            type: integer
        - description: The ID or key of the project to filter results by. Must be provided with `issueTypeId`. Can't be provided with `issueId`.
          in: query
          name: projectKeyOrId
          schema:
            type: string
        - description: The ID of the issue type to filter results by. Must be provided with `projectKeyOrId`. Can't be provided with `issueId`.
          in: query
          name: issueTypeId
          schema:
            type: string
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 100
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":1000,"startAt":0,"total":2,"isLast":true,"values":[{"id":"10000","fieldContextId":"10010"},{"id":"10001","fieldContextId":"10011","configuration":{"minValue":0,"maxValue":10000},"schema":{"properties":{"amount":{"type":"number"},"currency":{"type":"string"}},"required":["amount","currency"]}}]}'
              schema:
                $ref: "#/components/schemas/PageBeanContextualConfiguration"
          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 is not a Jira admin or the request is not authenticated as from the app that provided the field.
        "404":
          description: Returned if the custom field is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get custom field configurations
      tags:
        - Issue custom field configuration (apps)
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:custom-field-contextual-configuration:jira
          state: Beta
      x-experimental: true
    put:
      deprecated: false
      description: |-
        Update the configuration for contexts of a custom field created by a [Forge app](https://developer.atlassian.com/platform/forge/).

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the Forge app that created the custom field.
      operationId: updateCustomFieldConfiguration
      parameters:
        - description: The ID or key of the custom field, for example `customfield_10000`.
          in: path
          name: fieldIdOrKey
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              configurations:
                - id: "10000"
                - configuration:
                    maxValue: 10000
                    minValue: 0
                  id: "10001"
                  schema:
                    properties:
                      amount:
                        type: number
                      currency:
                        type: string
                    required:
                      - amount
                      - currency
            schema:
              $ref: "#/components/schemas/CustomFieldConfigurations"
        required: true
      responses:
        "200":
          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 is not a Jira admin or the request is not authenticated as from the app that provided the field.
        "404":
          description: Returned if the custom field is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update custom field configurations
      tags:
        - Issue custom field configuration (apps)
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:custom-field-contextual-configuration:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/app/field/{fieldIdOrKey}/value":
    put:
      deprecated: false
      description: |-
        Updates the value of a custom field on one or more issues. Custom fields can only be updated by the Forge app that created them.

        **[Permissions](#permissions) required:** Only the app that created the custom field can update its values with this operation.
      operationId: updateCustomFieldValue
      parameters:
        - description: The ID or key of the custom field. For example, `customfield_10010`.
          in: path
          name: fieldIdOrKey
          required: true
          schema:
            type: string
        - description: Whether to generate a changelog for this update.
          in: query
          name: generateChangelog
          schema:
            default: true
            type: boolean
      requestBody:
        content:
          application/json:
            example:
              updates:
                - issueIds:
                    - 10010
                  value: new value
            schema:
              $ref: "#/components/schemas/CustomFieldValueUpdateDetails"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is invalid.
        "403":
          description: Returned if the request is not authenticated as the app that provided the field.
        "404":
          description: Returned if the field is not found.
      security:
        - basicAuth: []
        - OAuth2: []
      summary: Update custom field value
      tags:
        - Issue custom field values (apps)
      x-atlassian-connect-scope: INACCESSIBLE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes: []
          state: Current
        - scheme: OAuth2
          scopes: []
          state: Beta
      x-experimental: true
  /rest/api/3/application-properties:
    get:
      deprecated: false
      description: |-
        Returns all application properties or an application property.

        If you specify a value for the `key` parameter, then an application property is returned as an object (not in an array). Otherwise, an array of all editable application properties is returned. See [Set application property](#api-rest-api-3-application-properties-id-put) for descriptions of editable properties.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getApplicationProperty
      parameters:
        - description: The key of the application property.
          in: query
          name: key
          schema:
            type: string
        - description: The permission level of all items being returned in the list.
          in: query
          name: permissionLevel
          schema:
            type: string
        - description: When a `key` isn't provided, this filters the list of results by the application property `key` using a regular expression. For example, using `jira.lf.*` will return all application properties with keys that start with *jira.lf.*.
          in: query
          name: keyFilter
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '[{"id":"jira.home","key":"jira.home","value":"/var/jira/jira-home","name":"jira.home","desc":"Jira home directory","type":"string","defaultValue":""},{"id":"jira.clone.prefix","key":"jira.clone.prefix","value":"CLONE -","name":"The prefix added to the Summary field of cloned issues","type":"string","defaultValue":"CLONE -"}]'
              schema:
                items:
                  $ref: "#/components/schemas/ApplicationProperty"
                type: array
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the application property is not found or the user does not have permission to view it.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get application property
      tags:
        - Jira settings
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:instance-configuration:jira
          state: Beta
  /rest/api/3/application-properties/advanced-settings:
    get:
      deprecated: false
      description: |-
        Returns the application properties that are accessible on the *Advanced Settings* page. To navigate to the *Advanced Settings* page in Jira, choose the Jira icon > **Jira settings** > **System**, **General Configuration** and then click **Advanced Settings** (in the upper right).

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getAdvancedSettings
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '[{"id":"jira.home","key":"jira.home","value":"/var/jira/jira-home","name":"jira.home","desc":"Jira home directory","type":"string","defaultValue":""},{"id":"jira.clone.prefix","key":"jira.clone.prefix","value":"CLONE -","name":"The prefix added to the Summary field of cloned issues","type":"string","defaultValue":"CLONE -"}]'
              schema:
                items:
                  $ref: "#/components/schemas/ApplicationProperty"
                type: array
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user is not an administrator.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get advanced settings
      tags:
        - Jira settings
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:instance-configuration:jira
          state: Beta
  "/rest/api/3/application-properties/{id}":
    put:
      deprecated: false
      description: |-
        Changes the value of an application property. For example, you can change the value of the `jira.clone.prefix` from its default value of *CLONE -* to *Clone -* if you prefer sentence case capitalization. Editable properties are described below along with their default values.

        #### Advanced settings ####

        The advanced settings below are also accessible in [Jira](https://confluence.atlassian.com/x/vYXKM).

        | Key | Description | Default value |  
        | -- | -- | -- |  
        | `jira.clone.prefix` | The string of text prefixed to the title of a cloned issue. | `CLONE -` |  
        | `jira.date.picker.java.format` | The date format for the Java (server-side) generated dates. This must be the same as the `jira.date.picker.javascript.format` format setting. | `d/MMM/yy` |  
        | `jira.date.picker.javascript.format` | The date format for the JavaScript (client-side) generated dates. This must be the same as the `jira.date.picker.java.format` format setting. | `%e/%b/%y` |  
        | `jira.date.time.picker.java.format` | The date format for the Java (server-side) generated date times. This must be the same as the `jira.date.time.picker.javascript.format` format setting. | `dd/MMM/yy h:mm a` |  
        | `jira.date.time.picker.javascript.format` | The date format for the JavaScript (client-side) generated date times. This must be the same as the `jira.date.time.picker.java.format` format setting. | `%e/%b/%y %I:%M %p` |  
        | `jira.issue.actions.order` | The default order of actions (such as *Comments* or *Change history*) displayed on the issue view. | `asc` |  
        | `jira.table.cols.subtasks` | The columns to show while viewing subtask issues in a table. For example, a list of subtasks on an issue. | `issuetype, status, assignee, progress` |  
        | `jira.view.issue.links.sort.order` | The sort order of the list of issue links on the issue view. | `type, status, priority` |  
        | `jira.comment.collapsing.minimum.hidden` | The minimum number of comments required for comment collapsing to occur. A value of `0` disables comment collapsing. | `4` |  
        | `jira.newsletter.tip.delay.days` | The number of days before a prompt to sign up to the Jira Insiders newsletter is shown. A value of `-1` disables this feature. | `7` |  


        #### Look and feel ####

        The settings listed below adjust the [look and feel](https://confluence.atlassian.com/x/VwCLLg).

        | Key | Description | Default value |  
        | -- | -- | -- |  
        | `jira.lf.date.time` | The [ time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `h:mm a` |  
        | `jira.lf.date.day` | The [ day format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `EEEE h:mm a` |  
        | `jira.lf.date.complete` | The [ date and time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy h:mm a` |  
        | `jira.lf.date.dmy` | The [ date format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy` |  
        | `jira.date.time.picker.use.iso8061` | When enabled, sets Monday as the first day of the week in the date picker, as specified by the ISO8601 standard. | `false` |  
        | `jira.lf.logo.url` | The URL of the logo image file. | `/images/icon-jira-logo.png` |  
        | `jira.lf.logo.show.application.title` | Controls the visibility of the application title on the sidebar. | `false` |  
        | `jira.lf.favicon.url` | The URL of the favicon. | `/favicon.ico` |  
        | `jira.lf.favicon.hires.url` | The URL of the high-resolution favicon. | `/images/64jira.png` |  
        | `jira.lf.navigation.bgcolour` | The background color of the sidebar. | `#0747A6` |  
        | `jira.lf.navigation.highlightcolour` | The color of the text and logo of the sidebar. | `#DEEBFF` |  
        | `jira.lf.hero.button.base.bg.colour` | The background color of the hero button. | `#3b7fc4` |  
        | `jira.title` | The text for the application title. The application title can also be set in *General settings*. | `Jira` |  
        | `jira.option.globalsharing` | Whether filters and dashboards can be shared with anyone signed into Jira. | `true` |  
        | `xflow.product.suggestions.enabled` | Whether to expose product suggestions for other Atlassian products within Jira. | `true` |  


        #### Other settings ####

        | Key | Description | Default value |  
        | -- | -- | -- |  
        | `jira.issuenav.criteria.autoupdate` | Whether instant updates to search criteria is active. | `true` |  


        *Note: Be careful when changing [application properties and advanced settings](https://confluence.atlassian.com/x/vYXKM).*

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: setApplicationProperty
      parameters:
        - description: The key of the application property to update.
          in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              id: jira.home
              value: /var/jira/jira-home
            schema:
              $ref: "#/components/schemas/SimpleApplicationPropertyBean"
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApplicationProperty"
          description: Returned if the request is successful.
        "400":
          description: Returned if the data type of the `value` does not match the application property's data type. For example, a string is provided instead of an integer.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have permission to edit the property.
        "404":
          description: Returned if the property is not found or the user does not have permission to view it.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Set application property
      tags:
        - Jira settings
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:instance-configuration:jira
            - read:instance-configuration:jira
          state: Beta
  /rest/api/3/applicationrole:
    get:
      deprecated: false
      description: |-
        Returns all application roles. In Jira, application roles are managed using the [Application access configuration](https://confluence.atlassian.com/x/3YxjL) page.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getAllApplicationRoles
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '[{"key":"jira-software","groups":["jira-software-users","jira-testers"],"groupDetails":[{"name":"jira-software-users","groupId":"276f955c-63d7-42c8-9520-92d01dca0625","self":"https://your-domain.atlassian.net/rest/api/3/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625"},{"name":"jira-testers","groupId":"42c8955c-63d7-42c8-9520-63d7aca0625","self":"https://your-domain.atlassian.net/rest/api/3/group?groupId=42c8955c-63d7-42c8-9520-63d7aca0625"}],"name":"Jira Software","defaultGroups":["jira-software-users"],"defaultGroupsDetails":[{"name":"jira-software-users","groupId":"276f955c-63d7-42c8-9520-92d01dca0625","self":"https://your-domain.atlassian.net/rest/api/3/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625"}],"selectedByDefault":false,"defined":false,"numberOfSeats":10,"remainingSeats":5,"userCount":5,"userCountDescription":"5 developers","hasUnlimitedSeats":false,"platform":false},{"key":"jira-core","groups":["jira-core-users"],"groupDetails":[{"name":"jira-core-users","groupId":"92d01dca0625-42c8-42c8-9520-276f955c","self":"https://your-domain.atlassian.net/rest/api/3/group?groupId=92d01dca0625-42c8-42c8-9520-276f955c"}],"name":"Jira Core","defaultGroups":["jira-core-users"],"defaultGroupsDetails":[{"name":"jira-core-users","groupId":"92d01dca0625-42c8-42c8-9520-276f955c","self":"https://your-domain.atlassian.net/rest/api/3/group?groupId=92d01dca0625-42c8-42c8-9520-276f955c"}],"selectedByDefault":false,"defined":false,"numberOfSeats":1,"remainingSeats":1,"userCount":0,"userCountDescription":"0 users","hasUnlimitedSeats":false,"platform":true}]'
              schema:
                items:
                  $ref: "#/components/schemas/ApplicationRole"
                type: array
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user is not an administrator.
      security:
        - basicAuth: []
      summary: Get all application roles
      tags:
        - Application roles
      x-atlassian-connect-scope: INACCESSIBLE
  "/rest/api/3/applicationrole/{key}":
    get:
      deprecated: false
      description: |-
        Returns an application role.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getApplicationRole
      parameters:
        - description: The key of the application role. Use the [Get all application roles](#api-rest-api-3-applicationrole-get) operation to get the key for each application role.
          in: path
          name: key
          required: true
          schema:
            example: jira-software
            type: string
          x-showInExample: "true"
      responses:
        "200":
          content:
            application/json:
              example: '{"key":"jira-software","groups":["jira-software-users","jira-testers"],"groupDetails":[{"name":"jira-software-users","groupId":"276f955c-63d7-42c8-9520-92d01dca0625","self":"https://your-domain.atlassian.net/rest/api/3/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625"},{"name":"jira-testers","groupId":"42c8955c-63d7-42c8-9520-63d7aca0625","self":"https://your-domain.atlassian.net/rest/api/3/group?groupId=42c8955c-63d7-42c8-9520-63d7aca0625"}],"name":"Jira Software","defaultGroups":["jira-software-users"],"defaultGroupsDetails":[{"name":"jira-software-users","groupId":"276f955c-63d7-42c8-9520-92d01dca0625","self":"https://your-domain.atlassian.net/rest/api/3/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625"}],"selectedByDefault":false,"defined":false,"numberOfSeats":10,"remainingSeats":5,"userCount":5,"userCountDescription":"5 developers","hasUnlimitedSeats":false,"platform":false}'
              schema:
                $ref: "#/components/schemas/ApplicationRole"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user is not an administrator.
        "404":
          description: Returned if the role is not found.
      security:
        - basicAuth: []
      summary: Get application role
      tags:
        - Application roles
      x-atlassian-connect-scope: INACCESSIBLE
  "/rest/api/3/attachment/content/{id}":
    get:
      deprecated: false
      description: |-
        Returns the contents of an attachment. A `Range` header can be set to define a range of bytes within the attachment to download. See the [HTTP Range header standard](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range) for details.

        To return a thumbnail of the attachment, use [Get attachment thumbnail](#api-rest-api-3-attachment-thumbnail-id-get).

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** For the issue containing the attachment:

         *  *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: getAttachmentContent
      parameters:
        - description: The ID of the attachment.
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: Whether a redirect is provided for the attachment download. Clients that do not automatically follow redirects can set this to `false` to avoid making multiple requests to download the attachment.
          in: query
          name: redirect
          schema:
            default: true
            type: boolean
      responses:
        "200":
          content:
            application/json:
              schema:
                type: object
          description: Returned if the request is successful when `redirect` is set to `false`.
        "206":
          description: Returned if the request is successful when a `Range` header is provided and `redirect` is set to `false`.
        "303":
          description: Returned if the request is successful. See the `Location` header for the download URL.
        "400":
          description: Returned if the range supplied in the `Range` header is malformed.
        "401":
          description: Returned if the authentication credentials are incorrect.
        "403":
          description: The user does not have the necessary permission.
        "404":
          description: |-
            Returned if:

             *  the attachment is not found.
             *  attachments are disabled in the Jira settings.
        "416":
          description: Returned if the server is unable to satisfy the range of bytes provided.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get attachment content
      tags:
        - Issue attachments
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:attachment:jira
          state: Beta
  /rest/api/3/attachment/meta:
    get:
      deprecated: false
      description: |-
        Returns the attachment settings, that is, whether attachments are enabled and the maximum attachment size allowed.

        Note that there are also [project permissions](https://confluence.atlassian.com/x/yodKLg) that restrict whether users can create and delete attachments.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None.
      operationId: getAttachmentMeta
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '{"enabled":true,"uploadLimit":1000000}'
              schema:
                $ref: "#/components/schemas/AttachmentSettings"
          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: Get Jira attachment settings
      tags:
        - Issue attachments
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:instance-configuration:jira
          state: Beta
  "/rest/api/3/attachment/thumbnail/{id}":
    get:
      deprecated: false
      description: |-
        Returns the thumbnail of an attachment.

        To return the attachment contents, use [Get attachment content](#api-rest-api-3-attachment-content-id-get).

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** For the issue containing the attachment:

         *  *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: getAttachmentThumbnail
      parameters:
        - description: The ID of the attachment.
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: Whether a redirect is provided for the attachment download. Clients that do not automatically follow redirects can set this to `false` to avoid making multiple requests to download the attachment.
          in: query
          name: redirect
          schema:
            default: true
            type: boolean
        - description: Whether a default thumbnail is returned when the requested thumbnail is not found.
          in: query
          name: fallbackToDefault
          schema:
            default: true
            type: boolean
        - description: The maximum width to scale the thumbnail to.
          in: query
          name: width
          schema:
            format: int32
            type: integer
        - description: The maximum height to scale the thumbnail to.
          in: query
          name: height
          schema:
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                type: object
          description: Returned if the request is successful when `redirect` is set to `false`.
        "303":
          description: Returned if the request is successful. See the `Location` header for the download URL.
        "400":
          description: Returned if the request is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect.
        "403":
          description: The user does not have the necessary permission.
        "404":
          description: |-
            Returned if:

             *  the attachment is not found.
             *  attachments are disabled in the Jira settings.
             *  `fallbackToDefault` is `false` and the request thumbnail cannot be downloaded.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get attachment thumbnail
      tags:
        - Issue attachments
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:attachment:jira
          state: Beta
  "/rest/api/3/attachment/{id}":
    delete:
      deprecated: false
      description: |-
        Deletes an attachment from an issue.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** For the project holding the issue containing the attachment:

         *  *Delete own attachments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete an attachment created by the calling user.
         *  *Delete all attachments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete an attachment created by any user.
      operationId: removeAttachment
      parameters:
        - description: The ID of the attachment.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "204":
          description: Returned if the request is successful.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: |-
            Returned if:

             *  the attachment is not found.
             *  attachments are disabled in the Jira settings.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Delete attachment
      tags:
        - Issue attachments
      x-atlassian-connect-scope: DELETE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:attachment:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns the metadata for an attachment. Note that the attachment itself is not returned.

        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: getAttachment
      parameters:
        - description: The ID of the attachment.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"id":10000,"self":"https://your-domain.atlassian.net/rest/api/3/attachments/10000","filename":"picture.jpg","author":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"created":"2023-04-21T12:39:27.600+0000","size":23123,"mimeType":"image/jpeg","content":"https://your-domain.atlassian.net/jira/rest/api/3/attachment/content/10000","thumbnail":"https://your-domain.atlassian.net/jira/rest/api/3/attachment/thumbnail/10000"}'
              schema:
                $ref: "#/components/schemas/AttachmentMetadata"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: |-
            Returned if:

             *  the attachment is not found.
             *  attachments are disabled in the Jira settings.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get attachment metadata
      tags:
        - Issue attachments
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:attachment:jira
            - read:user:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
          state: Beta
  "/rest/api/3/attachment/{id}/expand/human":
    get:
      deprecated: false
      description: |-
        Returns the metadata for the contents of an attachment, if it is an archive, and metadata for the attachment itself. For example, if the attachment is a ZIP archive, then information about the files in the archive is returned and metadata for the ZIP archive. Currently, only the ZIP archive format is supported.

        Use this operation to retrieve data that is presented to the user, as this operation returns the metadata for the attachment itself, such as the attachment's ID and name. Otherwise, use [ Get contents metadata for an expanded attachment](#api-rest-api-3-attachment-id-expand-raw-get), which only returns the metadata for the attachment's contents.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** For the issue containing the attachment:

         *  *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: expandAttachmentForHumans
      parameters:
        - description: The ID of the attachment.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"id":7237823,"name":"images.zip","entries":[{"path":"MG00N067.JPG","index":0,"size":"119 kB","mediaType":"image/jpeg","label":"MG00N067.JPG"},{"path":"Allegro from Duet in C Major.mp3","index":1,"size":"1.36 MB","mediaType":"audio/mpeg","label":"Allegro from Duet in C Major.mp3"},{"path":"long/path/thanks/to/lots/of/subdirectories/inside/making/it/quite/hard/to/reach/the/leaf.txt","index":2,"size":"0.0 k","mediaType":"text/plain","label":"long/path/thanks/to/.../reach/the/leaf.txt"}],"totalEntryCount":39,"mediaType":"application/zip"}'
              schema:
                $ref: "#/components/schemas/AttachmentArchiveMetadataReadable"
          description: Returned if the request is successful. If an empty list is returned in the response, the attachment is empty, corrupt, or not an archive.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: The user does not have the necessary permission.
        "404":
          description: |-
            Returned if:

             *  the attachment is not found.
             *  attachments are disabled in the Jira settings.
        "409":
          description: Returned if the attachment is an archive, but not a supported archive format.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get all metadata for an expanded attachment
      tags:
        - Issue attachments
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:attachment:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/attachment/{id}/expand/raw":
    get:
      deprecated: false
      description: |-
        Returns the metadata for the contents of an attachment, if it is an archive. For example, if the attachment is a ZIP archive, then information about the files in the archive is returned. Currently, only the ZIP archive format is supported.

        Use this operation if you are processing the data without presenting it to the user, as this operation only returns the metadata for the contents of the attachment. Otherwise, to retrieve data to present to the user, use [ Get all metadata for an expanded attachment](#api-rest-api-3-attachment-id-expand-human-get) which also returns the metadata for the attachment itself, such as the attachment's ID and name.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** For the issue containing the attachment:

         *  *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: expandAttachmentForMachines
      parameters:
        - description: The ID of the attachment.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"entries":[{"entryIndex":0,"name":"Allegro from Duet in C Major.mp3","size":1430174,"mediaType":"audio/mpeg"},{"entryIndex":1,"name":"lrm.rtf","size":331,"mediaType":"text/rtf"}],"totalEntryCount":24}'
              schema:
                $ref: "#/components/schemas/AttachmentArchiveImpl"
          description: Returned if the request is successful. If an empty list is returned in the response, the attachment is empty, corrupt, or not an archive.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: The user does not have the necessary permission.
        "404":
          description: |-
            Returned if:

             *  the attachment is not found.
             *  attachments are disabled in the Jira settings.
        "409":
          description: Returned if the attachment is an archive, but not a supported archive format.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get contents metadata for an expanded attachment
      tags:
        - Issue attachments
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:attachment:jira
          state: Beta
      x-experimental: true
  /rest/api/3/auditing/record:
    get:
      deprecated: false
      description: |-
        Returns a list of audit records. The list can be filtered to include items:

         *  where each item in `filter` has at least one match in any of these fields:
            
             *  `summary`
             *  `category`
             *  `eventSource`
             *  `objectItem.name` If the object is a user, account ID is available to filter.
             *  `objectItem.parentName`
             *  `objectItem.typeName`
             *  `changedValues.changedFrom`
             *  `changedValues.changedTo`
             *  `remoteAddress`
            
            For example, if `filter` contains *man ed*, an audit record containing `summary": "User added to group"` and `"category": "group management"` is returned.
         *  created on or after a date and time.
         *  created or or before a date and time.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getAuditRecords
      parameters:
        - description: The number of records to skip before returning the first result.
          in: query
          name: offset
          schema:
            default: 0
            format: int32
            type: integer
        - description: The maximum number of results to return.
          in: query
          name: limit
          schema:
            default: 1000
            format: int32
            type: integer
        - description: The strings to match with audit field content, space separated.
          in: query
          name: filter
          schema:
            type: string
        - description: The date and time on or after which returned audit records must have been created. If `to` is provided `from` must be before `to` or no audit records are returned.
          in: query
          name: from
          schema:
            format: date-time
            type: string
        - description: The date and time on or before which returned audit results must have been created. If `from` is provided `to` must be after `from` or no audit records are returned.
          in: query
          name: to
          schema:
            format: date-time
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"offset":0,"limit":1000,"total":1,"records":[{"id":1,"summary":"User created","remoteAddress":"192.168.1.1","authorKey":"administrator","authorAccountId":"5ab8f18d741e9c2c7e9d4538","created":"2014-03-19T18:45:42.967+0000","category":"user management","eventSource":"Jira Connect Plugin","description":"Optional description","objectItem":{"id":"user","name":"user","typeName":"USER","parentId":"1","parentName":"Jira Internal Directory"},"changedValues":[{"fieldName":"email","changedFrom":"user@atlassian.com","changedTo":"newuser@atlassian.com"}],"associatedItems":[{"id":"jira-software-users","name":"jira-software-users","typeName":"GROUP","parentId":"1","parentName":"Jira Internal Directory"}]}]}'
              schema:
                $ref: "#/components/schemas/AuditRecords"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: |-
            Returned if:

             *  the user does not have the required permissions.
             *  all Jira products are on free plans. Audit logs are available when at least one Jira product is on a paid plan.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get audit records
      tags:
        - Audit records
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:audit-log:jira
            - read:user:jira
          state: Beta
  "/rest/api/3/avatar/{type}/system":
    get:
      deprecated: false
      description: |-
        Returns a list of system avatar details by owner type, where the owner types are issue type, project, or user.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None.
      operationId: getAllSystemAvatars
      parameters:
        - description: The avatar type.
          in: path
          name: type
          required: true
          schema:
            enum:
              - issuetype
              - project
              - user
            example: project
            type: string
          x-showInExample: "true"
      responses:
        "200":
          content:
            application/json:
              example: '{"system":[{"id":"1000","isSystemAvatar":true,"isSelected":false,"isDeletable":false,"urls":{"16x16":"/secure/useravatar?size=xsmall&avatarId=10040&avatarType=project","24x24":"/secure/useravatar?size=small&avatarId=10040&avatarType=project","32x32":"/secure/useravatar?size=medium&avatarId=10040&avatarType=project","48x48":"/secure/useravatar?avatarId=10040&avatarType=project"}}]}'
              schema:
                $ref: "#/components/schemas/SystemAvatars"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "500":
          description: Returned if an error occurs while retrieving the list of avatars.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
        - {}
      summary: Get system avatars by type
      tags:
        - Avatars
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:avatar:jira
          state: Beta
  /rest/api/3/comment/list:
    post:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of comments specified by a list of comment IDs.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** Comments are returned 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 restricted to.
      operationId: getCommentsByIds
      parameters:
        - description: |-
            Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `renderedBody` Returns the comment body rendered in HTML.
             *  `properties` Returns the comment's properties.
          in: query
          name: expand
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              ids:
                - 1
                - 2
                - 5
                - 10
            schema:
              $ref: "#/components/schemas/IssueCommentListRequestBean"
        description: The list of comment IDs.
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":1048576,"startAt":0,"total":1,"isLast":true,"values":[{"self":"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000","id":"10000","author":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"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."}]}]},"updateAuthor":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"created":"2021-01-17T12:34:00.000+0000","updated":"2021-01-18T23:45:00.000+0000","visibility":{"type":"role","value":"Administrators","identifier":"Administrators"}}]}'
              schema:
                $ref: "#/components/schemas/PageBeanComment"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request contains more than 1000 IDs or is empty.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get comments by IDs
      tags:
        - Issue comments
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:comment.property:jira
            - read:avatar:jira
            - read:comment:jira
            - read:group:jira
            - read:project-role:jira
            - read:user:jira
            - read:comment.property:jira
            - read:project:jira
          state: Beta
  "/rest/api/3/comment/{commentId}/properties":
    get:
      deprecated: false
      description: |-
        Returns the keys of all the properties of a comment.

        This operation can be accessed anonymously.

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

         *  *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
         *  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 restricted to.
      operationId: getCommentPropertyKeys
      parameters:
        - description: The ID of the comment.
          in: path
          name: commentId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"keys":[{"self":"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support","key":"issue.support"}]}'
              schema:
                $ref: "#/components/schemas/PropertyKeys"
          description: Returned if the request is successful.
        "400":
          description: Returned if the comment ID is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the comment is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get comment property keys
      tags:
        - Issue comment properties
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:comment.property:jira
            - read:dashboard.property:jira
            - read:issue-type.property:jira
            - read:issue-worklog.property:jira
            - read:issue.property:jira
            - read:project.property:jira
            - read:user.property:jira
            - read:workflow.property:jira
          state: Beta
  "/rest/api/3/comment/{commentId}/properties/{propertyKey}":
    delete:
      deprecated: false
      description: |-
        Deletes a comment property.

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

         *  *Edit All Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete a property from any comment.
         *  *Edit Own Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete a property from a comment created by the user.

        Also, when the visibility of a comment is restricted to a role or group the user must be a member of that role or group.
      operationId: deleteCommentProperty
      parameters:
        - description: The ID of the comment.
          in: path
          name: commentId
          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.
        "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 necessary permission.
        "404":
          description: Returned if the comment or the property is not found or the user has the necessary project permissions but isn't a member of the role or group visibility of the comment is restricted to.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Delete comment property
      tags:
        - Issue comment properties
      x-atlassian-connect-scope: DELETE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:comment.property:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns the value of a comment property.

        This operation can be accessed anonymously.

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

         *  *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
         *  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 restricted to.
      operationId: getCommentProperty
      parameters:
        - description: The ID of the comment.
          in: path
          name: commentId
          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 request is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the comment or the property is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get comment property
      tags:
        - Issue comment properties
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:comment.property:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Creates or updates the value of a property for a comment. Use this resource to store custom data against a comment.

        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.

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

         *  *Edit All Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to create or update the value of a property on any comment.
         *  *Edit Own Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to create or update the value of a property on a comment created by the user.

        Also, when the visibility of a comment is restricted to a role or group the user must be a member of that role or group.
      operationId: setCommentProperty
      parameters:
        - description: The ID of the comment.
          in: path
          name: commentId
          required: true
          schema:
            type: string
        - 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:
            schema: {}
        required: true
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Returned if the comment property is updated.
        "201":
          content:
            application/json:
              schema: {}
          description: Returned if the comment 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 the necessary permission.
        "404":
          description: Returned if the comment is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Set comment property
      tags:
        - Issue comment properties
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:comment.property:jira
          state: Beta
  /rest/api/3/component:
    post:
      deprecated: false
      description: |-
        Creates a component. Use components to provide containers for issues within a project.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the component is created or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createComponent
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              assigneeType: PROJECT_LEAD
              description: This is a Jira component
              isAssigneeTypeValid: false
              leadAccountId: 5b10a2844c20165700ede21g
              name: Component 1
              project: HSP
            schema:
              $ref: "#/components/schemas/ProjectComponent"
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/component/10000","id":"10000","name":"Component 1","description":"This is a Jira component","lead":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"assigneeType":"PROJECT_LEAD","assignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"realAssigneeType":"PROJECT_LEAD","realAssignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"isAssigneeTypeValid":false,"project":"HSP","projectId":10000}'
              schema:
                $ref: "#/components/schemas/ProjectComponent"
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if:

             *  the user is not found.
             *  `name` is not provided.
             *  `name` is over 255 characters in length.
             *  `projectId` is not provided.
             *  `assigneeType` is an invalid value.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have permission to manage the project containing the component or does not have permission to administer Jira.
        "404":
          description: Returned if the project is not found or the user does not have permission to browse the project containing the component.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Create component
      tags:
        - Project components
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project:jira
            - read:user:jira
            - write:project.component:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:project.component:jira
          state: Beta
  "/rest/api/3/component/{id}":
    delete:
      deprecated: false
      description: |-
        Deletes a component.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the component or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteComponent
      parameters:
        - description: The ID of the component.
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: The ID of the component to replace the deleted component. If this value is null no replacement is made.
          in: query
          name: moveIssuesTo
          schema:
            type: string
      responses:
        "204":
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have permission to manage the project containing the component or does not have permission to administer Jira.
        "404":
          description: |-
            Returned if:

             *  the component is not found.
             *  the replacement component is not found.
             *  the user does not have permission to browse the project containing the component.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Delete component
      tags:
        - Project components
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:project.component:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns a component.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for project containing the component.
      operationId: getComponent
      parameters:
        - description: The ID of the component.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/component/10000","id":"10000","name":"Component 1","description":"This is a Jira component","lead":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"assigneeType":"PROJECT_LEAD","assignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"realAssigneeType":"PROJECT_LEAD","realAssignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"isAssigneeTypeValid":false,"project":"HSP","projectId":10000}'
              schema:
                $ref: "#/components/schemas/ProjectComponent"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the component is not found or the user does not have permission to browse the project containing the component.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get component
      tags:
        - Project components
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project:jira
            - read:project.component:jira
            - read:user:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Updates a component. Any fields included in the request are overwritten. If `leadAccountId` is an empty string ("") the component lead is removed.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the component or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateComponent
      parameters:
        - description: The ID of the component.
          in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              assigneeType: PROJECT_LEAD
              description: This is a Jira component
              isAssigneeTypeValid: false
              leadAccountId: 5b10a2844c20165700ede21g
              name: Component 1
            schema:
              $ref: "#/components/schemas/ProjectComponent"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/component/10000","id":"10000","name":"Component 1","description":"This is a Jira component","lead":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"assigneeType":"PROJECT_LEAD","assignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"realAssigneeType":"PROJECT_LEAD","realAssignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"isAssigneeTypeValid":false,"project":"HSP","projectId":10000}'
              schema:
                $ref: "#/components/schemas/ProjectComponent"
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if:

             *  the user is not found.
             *  `assigneeType` is an invalid value.
             *  `name` is over 255 characters in length.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have permission to manage the project containing the component or does not have permission to administer Jira.
        "404":
          description: Returned if the component is not found or the user does not have permission to browse the project containing the component.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Update component
      tags:
        - Project components
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project:jira
            - read:user:jira
            - write:project.component:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:project.component:jira
          state: Beta
  "/rest/api/3/component/{id}/relatedIssueCounts":
    get:
      deprecated: false
      description: |-
        Returns the counts of issues assigned to the component.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None.
      operationId: getComponentRelatedIssues
      parameters:
        - description: The ID of the component.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/component/10000","issueCount":23}'
              schema:
                $ref: "#/components/schemas/ComponentIssuesCount"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the component is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get component issues count
      tags:
        - Project components
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes: []
          state: Beta
  /rest/api/3/configuration:
    get:
      deprecated: false
      description: |-
        Returns the [global settings](https://confluence.atlassian.com/x/qYXKM) in Jira. These settings determine whether optional features (for example, subtasks, time tracking, and others) are enabled. If time tracking is enabled, this operation also returns the time tracking configuration.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: getConfiguration
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '{"votingEnabled":true,"watchingEnabled":true,"unassignedIssuesAllowed":false,"subTasksEnabled":false,"issueLinkingEnabled":true,"timeTrackingEnabled":true,"attachmentsEnabled":true,"timeTrackingConfiguration":{"workingHoursPerDay":8.0,"workingDaysPerWeek":5.0,"timeFormat":"pretty","defaultUnit":"day"}}'
              schema:
                $ref: "#/components/schemas/Configuration"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
      summary: Get global settings
      tags:
        - Jira settings
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:instance-configuration:jira
            - read:issue.time-tracking:jira
          state: Beta
  /rest/api/3/configuration/timetracking:
    get:
      deprecated: false
      description: |-
        Returns the time tracking provider that is currently selected. Note that if time tracking is disabled, then a successful but empty response is returned.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getSelectedTimeTrackingImplementation
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '{"key":"Jira","name":"JIRA provided time tracking","url":"/example/config/url"}'
              schema:
                $ref: "#/components/schemas/TimeTrackingProvider"
          description: Returned if the request is successful and time tracking is enabled.
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful but time tracking is disabled.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get selected time tracking provider
      tags:
        - Time tracking
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue.time-tracking:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Selects a time tracking provider.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: selectTimeTrackingImplementation
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              key: Jira
            schema:
              $ref: "#/components/schemas/TimeTrackingProvider"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          description: Returned if the time tracking provider is not found.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Select time tracking provider
      tags:
        - Time tracking
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue.time-tracking:jira
          state: Beta
  /rest/api/3/configuration/timetracking/list:
    get:
      deprecated: false
      description: |-
        Returns all time tracking providers. By default, Jira only has one time tracking provider: *JIRA provided time tracking*. However, you can install other time tracking providers via apps from the Atlassian Marketplace. For more information on time tracking providers, see the documentation for the [ Time Tracking Provider](https://developer.atlassian.com/cloud/jira/platform/modules/time-tracking-provider/) module.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getAvailableTimeTrackingImplementations
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '[{"key":"Jira","name":"JIRA provided time tracking","url":"/example/config/url"}]'
              schema:
                items:
                  $ref: "#/components/schemas/TimeTrackingProvider"
                type: array
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get all time tracking providers
      tags:
        - Time tracking
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue.time-tracking:jira
          state: Beta
  /rest/api/3/configuration/timetracking/options:
    get:
      deprecated: false
      description: |-
        Returns the time tracking settings. This includes settings such as the time format, default time unit, and others. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getSharedTimeTrackingConfiguration
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '{"workingHoursPerDay":7.6,"workingDaysPerWeek":5.5,"timeFormat":"pretty","defaultUnit":"hour"}'
              schema:
                $ref: "#/components/schemas/TimeTrackingConfiguration"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get time tracking settings
      tags:
        - Time tracking
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue.time-tracking:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Sets the time tracking settings.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: setSharedTimeTrackingConfiguration
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              defaultUnit: hour
              timeFormat: pretty
              workingDaysPerWeek: 5.5
              workingHoursPerDay: 7.6
            schema:
              $ref: "#/components/schemas/TimeTrackingConfiguration"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"workingHoursPerDay":7.6,"workingDaysPerWeek":5.5,"timeFormat":"pretty","defaultUnit":"hour"}'
              schema:
                $ref: "#/components/schemas/TimeTrackingConfiguration"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request object is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Set time tracking settings
      tags:
        - Time tracking
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue.time-tracking:jira
            - read:issue.time-tracking:jira
          state: Beta
  "/rest/api/3/customFieldOption/{id}":
    get:
      deprecated: false
      description: |-
        Returns a custom field option. For example, an option in a select list.

        Note that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** The custom field option is returned as follows:

         *  if the user has the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
         *  if the user has the *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one project the custom field is used in, and the field is visible in at least one layout the user has permission to view.
      operationId: getCustomFieldOption
      parameters:
        - description: The ID of the custom field option.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/customFieldOption/10000","value":"To Do"}'
              schema:
                $ref: "#/components/schemas/CustomFieldOption"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: |-
            Returned if:

             *  the custom field option is not found.
             *  the user does not have permission to view the custom field.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get custom field option
      tags:
        - Issue custom field options
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field:jira
            - read:field.option:jira
          state: Beta
  /rest/api/3/dashboard:
    get:
      deprecated: false
      description: |-
        Returns a list of dashboards owned by or shared with the user. The list may be filtered to include only favorite or owned dashboards.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None.
      operationId: getAllDashboards
      parameters:
        - description: |-
            The filter applied to the list of dashboards. Valid values are:

             *  `favourite` Returns dashboards the user has marked as favorite.
             *  `my` Returns dashboards owned by the user.
          in: query
          name: filter
          schema:
            enum:
              - my
              - favourite
            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: 20
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"startAt":10,"maxResults":10,"total":143,"prev":"https://your-domain.atlassian.net/rest/api/3/dashboard?startAt=0","next":"https://your-domain.atlassian.net/rest/api/3/dashboard?startAt=10","dashboards":[{"id":"10000","isFavourite":false,"name":"System Dashboard","popularity":1,"self":"https://your-domain.atlassian.net/rest/api/3/dashboard/10000","sharePermissions":[{"type":"global"}],"view":"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000"},{"id":"20000","isFavourite":true,"name":"Build Engineering","owner":{"key":"Mia","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","name":"mia","displayName":"Mia Krystof","avatarUrls":{"16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32","48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"}},"popularity":1,"self":"https://your-domain.atlassian.net/rest/api/3/dashboard/20000","sharePermissions":[{"id":10105,"type":"group","group":{"name":"administrators","self":"https://your-domain.atlassian.net/rest/api/3/group?groupname=administrators"}}],"view":"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=20000"}]}'
              schema:
                $ref: "#/components/schemas/PageOfDashboards"
          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:
            - read:jira-work
        - {}
      summary: Get all dashboards
      tags:
        - Dashboards
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:dashboard:jira
            - read:group:jira
            - read:project:jira
            - read:project-role:jira
            - read:user:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:issue-type-hierarchy:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project-version:jira
            - read:project.component:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates a dashboard.

        **[Permissions](#permissions) required:** None.
      operationId: createDashboard
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              description: A dashboard to help auditors identify sample of issues to check.
              editPermissions: []
              name: Auditors dashboard
              sharePermissions:
                - type: global
            schema:
              $ref: "#/components/schemas/DashboardDetails"
        description: Dashboard details.
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"id":"10000","isFavourite":false,"name":"System Dashboard","popularity":1,"self":"https://your-domain.atlassian.net/rest/api/3/dashboard/10000","sharePermissions":[{"type":"global"}],"view":"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000"}'
              schema:
                $ref: "#/components/schemas/Dashboard"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is not valid.
        "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: Create dashboard
      tags:
        - Dashboards
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:dashboard:jira
            - read:group:jira
            - read:project:jira
            - read:project-role:jira
            - read:user:jira
            - write:dashboard:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:issue-type-hierarchy:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project-version:jira
            - read:project.component:jira
          state: Beta
      x-experimental: true
  /rest/api/3/dashboard/gadgets:
    get:
      deprecated: false
      description: |-
        Gets a list of all available gadgets that can be added to all dashboards.

        **[Permissions](#permissions) required:** None.
      operationId: getAllAvailableDashboardGadgets
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '{"gadgets":[{"moduleKey":"com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-item","title":"Issue statistics"},{"uri":"rest/gadgets/1.0/g/com.atlassian.streams.streams-jira-plugin:activitystream-gadget/gadgets/activitystream-gadget.xml","title":"Activity Stream"}]}'
              schema:
                $ref: "#/components/schemas/AvailableDashboardGadgetsResponse"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: 400 response
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
      summary: Get available gadgets
      tags:
        - Dashboards
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:dashboard:jira
          state: Beta
      x-experimental: true
  /rest/api/3/dashboard/search:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of dashboards. This operation is similar to [Get dashboards](#api-rest-api-3-dashboard-get) except that the results can be refined to include dashboards that have specific attributes. For example, dashboards with a particular name. When multiple attributes are specified only filters matching all attributes are returned.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** The following dashboards that match the query parameters are returned:

         *  Dashboards owned by the user. Not returned for anonymous users.
         *  Dashboards shared with a group that the user is a member of. Not returned for anonymous users.
         *  Dashboards shared with a private project that the user can browse. Not returned for anonymous users.
         *  Dashboards shared with a public project.
         *  Dashboards shared with the public.
      operationId: getDashboardsPaginated
      parameters:
        - description: String used to perform a case-insensitive partial match with `name`.
          in: query
          name: dashboardName
          schema:
            type: string
        - description: User account ID used to return dashboards with the matching `owner.accountId`. This parameter cannot be used with the `owner` parameter.
          in: query
          name: accountId
          schema:
            maxLength: 128
            type: string
        - description: This parameter is deprecated because of privacy changes. Use `accountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. User name used to return dashboards with the matching `owner.name`. This parameter cannot be used with the `accountId` parameter.
          in: query
          name: owner
          schema:
            type: string
        - description: As a group's name can change, use of `groupId` is recommended. Group name used to return dashboards that are shared with a group that matches `sharePermissions.group.name`. This parameter cannot be used with the `groupId` parameter.
          in: query
          name: groupname
          schema:
            type: string
        - description: Group ID used to return dashboards that are shared with a group that matches `sharePermissions.group.groupId`. This parameter cannot be used with the `groupname` parameter.
          in: query
          name: groupId
          schema:
            type: string
        - description: Project ID used to returns dashboards that are shared with a project that matches `sharePermissions.project.id`.
          in: query
          name: projectId
          schema:
            format: int64
            type: integer
        - description: |-
            [Order](#ordering) the results by a field:

             *  `description` Sorts by dashboard description. Note that this sort works independently of whether the expand to display the description field is in use.
             *  `favourite_count` Sorts by dashboard popularity.
             *  `id` Sorts by dashboard ID.
             *  `is_favourite` Sorts by whether the dashboard is marked as a favorite.
             *  `name` Sorts by dashboard name.
             *  `owner` Sorts by dashboard owner name.
          in: query
          name: orderBy
          schema:
            default: name
            enum:
              - description
              - -description
              - +description
              - favorite_count
              - -favorite_count
              - +favorite_count
              - id
              - -id
              - +id
              - is_favorite
              - -is_favorite
              - +is_favorite
              - name
              - -name
              - +name
              - owner
              - -owner
              - +owner
            type: string
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: The status to filter by. It may be active, archived or deleted.
          in: query
          name: status
          schema:
            default: active
            enum:
              - active
              - archived
              - deleted
            type: string
        - description: |-
            Use [expand](#expansion) to include additional information about dashboard in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `description` Returns the description of the dashboard.
             *  `owner` Returns the owner of the dashboard.
             *  `viewUrl` Returns the URL that is used to view the dashboard.
             *  `favourite` Returns `isFavourite`, an indicator of whether the user has set the dashboard as a favorite.
             *  `favouritedCount` Returns `popularity`, a count of how many users have set this dashboard as a favorite.
             *  `sharePermissions` Returns details of the share permissions defined for the dashboard.
             *  `editPermissions` Returns details of the edit permissions defined for the dashboard.
             *  `isWritable` Returns whether the current user has permission to edit the dashboard.
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/dashboard/search?expand=owner&maxResults=50&startAt=0","maxResults":100,"startAt":0,"total":2,"isLast":true,"values":[{"description":"Testing program","id":"1","isFavourite":true,"name":"Testing","owner":{"self":"https://your-domain.atlassian.net/user?accountId=5b10a2844c20165700ede21g","displayName":"Mia","active":true,"accountId":"5b10a2844c20165700ede21g","avatarUrls":{"16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32","48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"}},"popularity":1,"self":"https://your-domain.atlassian.net/rest/api/3/dashboard/1","sharePermissions":[{"type":"global"}],"view":"https://your-domain.atlassian.net/Dashboard.jspa?selectPageId=1"},{"description":"Quantum initiative","id":"2","isFavourite":false,"name":"Quantum ","owner":{"self":"https://your-domain.atlassian.net/user?accountId=5b10a2844c20165700ede21g","displayName":"Mia","active":true,"accountId":"5b10a2844c20165700ede21g","avatarUrls":{"16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32","48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"}},"popularity":0,"self":"https://your-domain.atlassian.net/rest/api/3/dashboard/2","sharePermissions":[{"type":"loggedin"}],"view":"https://your-domain.atlassian.net/Dashboard.jspa?selectPageId=2"}]}'
              schema:
                $ref: "#/components/schemas/PageBeanDashboard"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: |-
            Returned if:

             *  `orderBy` is invalid.
             *  `expand` includes an invalid value.
             *  `accountId` and `owner` are provided.
             *  `groupname` and `groupId` are provided.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: 401 response
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Search for dashboards
      tags:
        - Dashboards
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:dashboard:jira
            - read:group:jira
            - read:project:jira
            - read:project-role:jira
            - read:user:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:issue-type-hierarchy:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project-version:jira
            - read:project.component:jira
          state: Beta
  "/rest/api/3/dashboard/{dashboardId}/gadget":
    get:
      deprecated: false
      description: |-
        Returns a list of dashboard gadgets on a dashboard.

        This operation returns:

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

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None.
      operationId: getAllGadgets
      parameters:
        - description: The ID of the dashboard.
          in: path
          name: dashboardId
          required: true
          schema:
            format: int64
            type: integer
        - description: "The list of gadgets module keys. To include multiple module keys, separate module keys with ampersand: `moduleKey=key:one&moduleKey=key:two`."
          in: query
          name: moduleKey
          schema:
            items:
              type: string
            type: array
        - description: "The list of gadgets URIs. To include multiple URIs, separate URIs with ampersand: `uri=/rest/example/uri/1&uri=/rest/example/uri/2`."
          in: query
          name: uri
          schema:
            items:
              type: string
            type: array
        - description: "The list of gadgets IDs. To include multiple IDs, separate IDs with ampersand: `gadgetId=10000&gadgetId=10001`."
          in: query
          name: gadgetId
          schema:
            items:
              format: int64
              type: integer
            type: array
      responses:
        "200":
          content:
            application/json:
              example: '{"gadgets":[{"id":10001,"moduleKey":"com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-item","color":"blue","position":{"row":0,"column":0},"title":"Issue statistics"},{"id":10002,"moduleKey":"com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-graph","color":"red","position":{"row":1,"column":0},"title":"Activity stream"},{"id":10003,"moduleKey":"com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-item","color":"yellow","position":{"row":0,"column":1},"title":"Bubble chart"}]}'
              schema:
                $ref: "#/components/schemas/DashboardGadgetResponse"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect.
        "404":
          content:
            application/json:
              example: "{\"errorMessages\":[\"The dashboard you requested either does not exist or you don't have the required permissions to perform this action.\"],\"errors\":{}}"
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the dashboard is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get gadgets
      tags:
        - Dashboards
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:dashboard:jira
          state: Beta
      x-experimental: true
    post:
      deprecated: false
      description: |-
        Adds a gadget to a dashboard.

        **[Permissions](#permissions) required:** None.
      operationId: addGadget
      parameters:
        - description: The ID of the dashboard.
          in: path
          name: dashboardId
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              color: blue
              ignoreUriAndModuleKeyValidation: false
              moduleKey: com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-item
              position:
                column: 1
                row: 0
              title: Issue statistics
            schema:
              $ref: "#/components/schemas/DashboardGadgetSettings"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"id":10001,"moduleKey":"com.atlassian.plugins.atlassian-connect-plugin:com.atlassian.connect.node.sample-addon__sample-dashboard-item","color":"blue","position":{"row":0,"column":1},"title":"Issue statistics"}'
              schema:
                $ref: "#/components/schemas/DashboardGadget"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["Cannot add another gadget. The maximum number of gadgets the dashboard can hold has been reached."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          content:
            application/json:
              example: "{\"errorMessages\":[\"The dashboard you requested either does not exist or you don't have the required permissions to perform this action.\"],\"errors\":{}}"
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the dashboard is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
            - read:jira-work
      summary: Add gadget to dashboard
      tags:
        - Dashboards
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:dashboard:jira
            - read:dashboard:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/dashboard/{dashboardId}/gadget/{gadgetId}":
    delete:
      deprecated: false
      description: |-
        Removes a dashboard gadget from a dashboard.

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

        **[Permissions](#permissions) required:** None.
      operationId: removeGadget
      parameters:
        - description: The ID of the dashboard.
          in: path
          name: dashboardId
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the gadget.
          in: path
          name: gadgetId
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The dashboard gadget was not found."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the gadget or the dashboard is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
      summary: Remove gadget from dashboard
      tags:
        - Dashboards
      x-atlassian-connect-scope: DELETE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:dashboard:jira
          state: Beta
      x-experimental: true
    put:
      deprecated: false
      description: |-
        Changes the title, position, and color of the gadget on a dashboard.

        **[Permissions](#permissions) required:** None.
      operationId: updateGadget
      parameters:
        - description: The ID of the dashboard.
          in: path
          name: dashboardId
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the gadget.
          in: path
          name: gadgetId
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              color: red
              position:
                column: 1
                row: 1
              title: My new gadget title
            schema:
              $ref: "#/components/schemas/DashboardGadgetUpdateRequest"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The gadget cannot be placed in the selected row. The selected row does not exist on the dashboard."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect.
        "404":
          content:
            application/json:
              example: "{\"errorMessages\":[\"The dashboard you requested either does not exist or you don't have the required permissions to perform this action.\"],\"errors\":{}}"
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the gadget or the dashboard is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
      summary: Update gadget on dashboard
      tags:
        - Dashboards
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:dashboard:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/dashboard/{dashboardId}/items/{itemId}/properties":
    get:
      deprecated: false
      description: |-
        Returns the keys of all properties for a dashboard item.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** The user must be the owner of the dashboard or have the dashboard shared with them. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users, and is accessible to anonymous users when Jira’s anonymous access is permitted.
      operationId: getDashboardItemPropertyKeys
      parameters:
        - description: The ID of the dashboard.
          in: path
          name: dashboardId
          required: true
          schema:
            type: string
        - description: The ID of the dashboard item.
          in: path
          name: itemId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"keys":[{"self":"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support","key":"issue.support"}]}'
              schema:
                $ref: "#/components/schemas/PropertyKeys"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the dashboard or dashboard item is not found, or the dashboard is not owned by or shared with the user.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get dashboard item property keys
      tags:
        - Dashboards
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:dashboard.property:jira
            - read:comment.property:jira
            - read:issue-type.property:jira
            - read:issue-worklog.property:jira
            - read:issue.property:jira
            - read:project.property:jira
            - read:user.property:jira
            - read:workflow.property:jira
          state: Beta
  "/rest/api/3/dashboard/{dashboardId}/items/{itemId}/properties/{propertyKey}":
    delete:
      deprecated: false
      description: |-
        Deletes a dashboard item property.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** The user must be the owner of the dashboard. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.
      operationId: deleteDashboardItemProperty
      parameters:
        - description: The ID of the dashboard.
          in: path
          name: dashboardId
          required: true
          schema:
            type: string
        - description: The ID of the dashboard item.
          in: path
          name: itemId
          required: true
          schema:
            type: string
        - description: The key of the dashboard item property.
          in: path
          name: propertyKey
          required: true
          schema:
            type: string
      responses:
        "204":
          description: Returned if the dashboard item property is deleted.
        "400":
          description: Returned if the dashboard or dashboard item ID is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user is not the owner of the dashboard.
        "404":
          description: Returned if the dashboard item is not found or the dashboard is not shared with the user.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Delete dashboard item property
      tags:
        - Dashboards
      x-atlassian-connect-scope: DELETE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:dashboard.property:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns the key and value of a dashboard item property.

        A dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed to users as gadgets that users can add to their dashboards. For more information on how users do this, see [Adding and customizing gadgets](https://confluence.atlassian.com/x/7AeiLQ).

        When an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this resource to store the item's content or configuration details. For more information on working with dashboard items, see [ Building a dashboard item for a JIRA Connect add-on](https://developer.atlassian.com/server/jira/platform/guide-building-a-dashboard-item-for-a-jira-connect-add-on-33746254/) and the [Dashboard Item](https://developer.atlassian.com/cloud/jira/platform/modules/dashboard-item/) documentation.

        There is no resource to set or get dashboard items.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** The user must be the owner of the dashboard or have the dashboard shared with them. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users, and is accessible to anonymous users when Jira’s anonymous access is permitted.
      operationId: getDashboardItemProperty
      parameters:
        - description: The ID of the dashboard.
          in: path
          name: dashboardId
          required: true
          schema:
            type: string
        - description: The ID of the dashboard item.
          in: path
          name: itemId
          required: true
          schema:
            type: string
        - description: The key of the dashboard item 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 dashboard, the dashboard item, or dashboard item property is not found, or the dashboard is not owned by or shared with the user.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get dashboard item property
      tags:
        - Dashboards
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:dashboard.property:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Sets the value of a dashboard item property. Use this resource in apps to store custom data against a dashboard item.

        A dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed to users as gadgets that users can add to their dashboards. For more information on how users do this, see [Adding and customizing gadgets](https://confluence.atlassian.com/x/7AeiLQ).

        When an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this resource to store the item's content or configuration details. For more information on working with dashboard items, see [ Building a dashboard item for a JIRA Connect add-on](https://developer.atlassian.com/server/jira/platform/guide-building-a-dashboard-item-for-a-jira-connect-add-on-33746254/) and the [Dashboard Item](https://developer.atlassian.com/cloud/jira/platform/modules/dashboard-item/) documentation.

        There is no resource to set or get dashboard items.

        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:** The user must be the owner of the dashboard. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.
      operationId: setDashboardItemProperty
      parameters:
        - description: The ID of the dashboard.
          in: path
          name: dashboardId
          required: true
          schema:
            type: string
        - description: The ID of the dashboard item.
          in: path
          name: itemId
          required: true
          schema:
            type: string
        - description: The key of the dashboard item property. The maximum length is 255 characters. For dashboard items with a spec URI and no complete module key, if the provided propertyKey is equal to "config", the request body's JSON must be an object with all keys and values as strings.
          in: path
          name: propertyKey
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              number: 5
              string: string-value
            schema: {}
        required: true
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Returned if the dashboard item property is updated.
        "201":
          content:
            application/json:
              schema: {}
          description: Returned if the dashboard item property is created.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The JSON data provided for the property has too many levels. It must be an object with all keys and values as strings."],"errors":{}}'
          description: |-
            Returned if:

             *  Request is invalid
             *  Or if all of these conditions are met in the request:
                
                 *  The dashboard item has a spec URI and no complete module key
                 *  The value of propertyKey is equal to "config"
                 *  The request body contains a JSON object whose keys and values are not strings.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user is not the owner of the dashboard.
        "404":
          description: Returned if the dashboard item is not found or the dashboard is not shared with the user.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Set dashboard item property
      tags:
        - Dashboards
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:dashboard.property:jira
          state: Beta
  "/rest/api/3/dashboard/{id}":
    delete:
      deprecated: false
      description: |-
        Deletes a dashboard.

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

        The dashboard to be deleted must be owned by the user.
      operationId: deleteDashboard
      parameters:
        - description: The ID of the dashboard.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "204":
          description: Returned if the dashboard is deleted.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: 400 response
        "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: Delete dashboard
      tags:
        - Dashboards
      x-atlassian-connect-scope: DELETE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:dashboard:jira
          state: Beta
      x-experimental: true
    get:
      deprecated: false
      description: |-
        Returns a dashboard.

        This operation can be accessed anonymously.

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

        However, to get a dashboard, the dashboard must be shared with the user or the user must own it. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users.
      operationId: getDashboard
      parameters:
        - description: The ID of the dashboard.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"id":"10000","isFavourite":false,"name":"System Dashboard","popularity":1,"self":"https://your-domain.atlassian.net/rest/api/3/dashboard/10000","sharePermissions":[{"type":"global"}],"view":"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000"}'
              schema:
                $ref: "#/components/schemas/Dashboard"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: 400 response
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the dashboard is not found or the dashboard is not owned by or shared with the user.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get dashboard
      tags:
        - Dashboards
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:dashboard:jira
            - read:group:jira
            - read:project:jira
            - read:project-role:jira
            - read:user:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:issue-type-hierarchy:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project-version:jira
            - read:project.component:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Updates a dashboard, replacing all the dashboard details with those provided.

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

        The dashboard to be updated must be owned by the user.
      operationId: updateDashboard
      parameters:
        - description: The ID of the dashboard to update.
          in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              description: A dashboard to help auditors identify sample of issues to check.
              editPermissions: []
              name: Auditors dashboard
              sharePermissions:
                - type: global
            schema:
              $ref: "#/components/schemas/DashboardDetails"
        description: Replacement dashboard details.
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"id":"10000","isFavourite":false,"name":"System Dashboard","popularity":1,"self":"https://your-domain.atlassian.net/rest/api/3/dashboard/10000","sharePermissions":[{"type":"global"}],"view":"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000"}'
              schema:
                $ref: "#/components/schemas/Dashboard"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is not valid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the dashboard is not found or the dashboard is not owned by the user.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Update dashboard
      tags:
        - Dashboards
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:dashboard:jira
            - read:group:jira
            - read:project:jira
            - read:project-role:jira
            - read:user:jira
            - write:dashboard:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:issue-type-hierarchy:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project-version:jira
            - read:project.component:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/dashboard/{id}/copy":
    post:
      deprecated: false
      description: |-
        Copies a dashboard. Any values provided in the `dashboard` parameter replace those in the copied dashboard.

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

        The dashboard to be copied must be owned by or shared with the user.
      operationId: copyDashboard
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              description: A dashboard to help auditors identify sample of issues to check.
              editPermissions: []
              name: Auditors dashboard
              sharePermissions:
                - type: global
            schema:
              $ref: "#/components/schemas/DashboardDetails"
        description: Dashboard details.
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"id":"10000","isFavourite":false,"name":"System Dashboard","popularity":1,"self":"https://your-domain.atlassian.net/rest/api/3/dashboard/10000","sharePermissions":[{"type":"global"}],"view":"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000"}'
              schema:
                $ref: "#/components/schemas/Dashboard"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is not valid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the dashboard is not found or the dashboard is not owned by or shared with the user.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Copy dashboard
      tags:
        - Dashboards
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:dashboard:jira
            - read:group:jira
            - read:project:jira
            - read:project-role:jira
            - read:user:jira
            - write:dashboard:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:issue-type-hierarchy:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project-version:jira
            - read:project.component:jira
          state: Beta
      x-experimental: true
  /rest/api/3/events:
    get:
      deprecated: false
      description: |-
        Returns all issue events.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getEvents
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '[{"id":1,"name":"Issue Created"},{"id":2,"name":"Issue Updated"}]'
              schema:
                items:
                  $ref: "#/components/schemas/IssueEvent"
                type: array
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have permission to complete this request.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get events
      tags:
        - Issues
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-event:jira
          state: Beta
      x-experimental: true
  /rest/api/3/expression/analyse:
    post:
      deprecated: false
      description: |-
        Analyses and validates Jira expressions.

        As an experimental feature, this operation can also attempt to type-check the expressions.

        Learn more about Jira expressions in the [documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/).

        **[Permissions](#permissions) required**: None.
      operationId: analyseExpression
      parameters:
        - description: |-
            The check to perform:

             *  `syntax` Each expression's syntax is checked to ensure the expression can be parsed. Also, syntactic limits are validated. For example, the expression's length.
             *  `type` EXPERIMENTAL. Each expression is type checked and the final type of the expression inferred. Any type errors that would result in the expression failure at runtime are reported. For example, accessing properties that don't exist or passing the wrong number of arguments to functions. Also performs the syntax check.
             *  `complexity` EXPERIMENTAL. Determines the formulae for how many [expensive operations](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#expensive-operations) each expression may execute.
          in: query
          name: check
          schema:
            default: syntax
            enum:
              - syntax
              - type
              - complexity
            type: string
      requestBody:
        content:
          application/json:
            example:
              contextVariables:
                listOfStrings: List<String>
                record: "{ a: Number, b: String }"
                value: User
              expressions:
                - issues.map(issue => issue.properties['property_key'])
            schema:
              $ref: "#/components/schemas/JiraExpressionForAnalysis"
        description: The Jira expressions to analyse.
        required: true
      responses:
        "200":
          content:
            application/json:
              example: "{\"results\":[{\"expression\":\"analysed expression\",\"errors\":[{\"line\":1,\"column\":4,\"message\":\"!, -, typeof, (, IDENTIFIER, null, true, false, NUMBER, STRING, TEMPLATE_LITERAL, new, [ or { expected, > encountered.\",\"type\":\"syntax\"},{\"message\":\"Jira expression is too long (1040), limit: 1000 characters\",\"type\":\"other\"},{\"message\":\"Jira expression has too many nodes (150), limit: 100 leaves\",\"type\":\"other\"}],\"valid\":false},{\"expression\":\"issues.map(i => {idAndKey: [i.id, i.key], summary: i.summary, comments: i.comments})\",\"valid\":true,\"type\":\"List<{idAndKey: [Number, String], summary: String, comments: List<Comment>}>\",\"complexity\":{\"expensiveOperations\":\"N\",\"variables\":{\"N\":\"issues\"}}},{\"expression\":\"issues.map(i => i.id > '0')\",\"errors\":[{\"expression\":\"i.id > 0\",\"message\":\"Can't compare Number to String.\",\"type\":\"type\"}],\"valid\":false,\"type\":\"TypeError\"}]}"
              schema:
                $ref: "#/components/schemas/JiraExpressionsAnalysis"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: 400 response
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: 404 response
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
            - read:jira-user
        - {}
      summary: Analyse Jira expression
      tags:
        - Jira expressions
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field:jira
            - read:jira-expressions:jira
          state: Beta
  /rest/api/3/expression/eval:
    post:
      deprecated: false
      description: |-
        Evaluates a Jira expression and returns its value.

        This resource can be used to test Jira expressions that you plan to use elsewhere, or to fetch data in a flexible way. Consult the [Jira expressions documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) for more details.

        #### Context variables ####

        The following context variables are available to Jira expressions evaluated by this resource. Their presence depends on various factors; usually you need to manually request them in the context object sent in the payload, but some of them are added automatically under certain conditions.

         *  `user` ([User](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)): The current user. Always available and equal to `null` if the request is anonymous.
         *  `app` ([App](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#app)): The [Connect app](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) that made the request. Available only for authenticated requests made by Connect Apps (read more here: [Authentication for Connect apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)).
         *  `issue` ([Issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): The current issue. Available only when the issue is provided in the request context object.
         *  `issues` ([List](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#list) of [Issues](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): A collection of issues matching a JQL query. Available only when JQL is provided in the request context object.
         *  `project` ([Project](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#project)): The current project. Available only when the project is provided in the request context object.
         *  `sprint` ([Sprint](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#sprint)): The current sprint. Available only when the sprint is provided in the request context object.
         *  `board` ([Board](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#board)): The current board. Available only when the board is provided in the request context object.
         *  `serviceDesk` ([ServiceDesk](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#servicedesk)): The current service desk. Available only when the service desk is provided in the request context object.
         *  `customerRequest` ([CustomerRequest](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#customerrequest)): The current customer request. Available only when the customer request is provided in the request context object.

        Also, custom context variables can be passed in the request with their types. Those variables can be accessed by key in the Jira expression. These variable types are available for use in a custom context:

         *  `user`: A [user](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user) specified as an Atlassian account ID.
         *  `issue`: An [issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue) specified by ID or key. All the fields of the issue object are available in the Jira expression.
         *  `json`: A JSON object containing custom content.
         *  `list`: A JSON list of `user`, `issue`, or `json` variable types.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required**: None. However, an expression may return different results for different users depending on their permissions. For example, different users may see different comments on the same issue.  
        Permission to access Jira Software is required to access Jira Software context variables (`board` and `sprint`) or fields (for example, `issue.sprint`).
      operationId: evaluateJiraExpression
      parameters:
        - description: Use [expand](#expansion) to include additional information in the response. This parameter accepts `meta.complexity` that returns information about the expression complexity. For example, the number of expensive operations used by the expression and how close the expression is to reaching the [complexity limit](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions). Useful when designing and debugging your expressions.
          in: query
          name: expand
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              context:
                board: 10100
                custom:
                  config:
                    type: json
                    value:
                      userId: "10002"
                  issuesList:
                    - key: ACJIRA-1471
                      type: issue
                    - id: 100001
                      type: issue
                  myUser:
                    accountId: "100001"
                    type: user
                  nullField:
                    type: json
                customerRequest: 1450
                issue:
                  key: ACJIRA-1470
                issues:
                  jql:
                    maxResults: 100
                    query: project = HSP
                    startAt: 0
                    validation: strict
                project:
                  key: ACJIRA
                serviceDesk: 10023
                sprint: 10001
              expression: "{ key: issue.key, type: issue.issueType.name, links: issue.links.map(link => link.linkedIssue.id), listCustomVariable: issuesList.includes(issue), customVariables: myUser.accountId == config.userId}"
            schema:
              $ref: "#/components/schemas/JiraExpressionEvalRequestBean"
        description: The Jira expression and the evaluation context.
        required: true
      responses:
        "200":
          content:
            application/json:
              example: "{\"value\":\"The expression's result. This value can be any JSON, not necessarily a String\",\"meta\":{\"complexity\":{\"steps\":{\"value\":1,\"limit\":10000},\"expensiveOperations\":{\"value\":3,\"limit\":10},\"beans\":{\"value\":0,\"limit\":1000},\"primitiveValues\":{\"value\":1,\"limit\":10000}},\"issues\":{\"jql\":{\"startAt\":0,\"maxResults\":1000,\"count\":140,\"totalCount\":140,\"validationWarnings\":[\"There is a problem with the JQL query.\"]}}}}"
              schema:
                $ref: "#/components/schemas/JiraExpressionResult"
          description: Returned if the evaluation results in a value. The result is a JSON primitive value, list, or object.
        "400":
          content:
            application/json:
              example: "{\"errorMessages\":[\"Evaluation failed: \\\"issue['a' + 'b']\\\" - Unrecognized property of `issue`: \\\"ab\\\" ('a' + 'b'). Available properties of type 'Issue' are: 'assignee', 'comments', 'description', 'id', 'issueType', 'key', 'priority', 'project', 'properties', 'reporter', 'status', 'summary'\"],\"errors\":{}}"
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: |-
            Returned if:

             *  the request is invalid, that is:
                
                 *  invalid data is provided, such as a request including issue ID and key.
                 *  the expression is invalid and can not be parsed.
             *  evaluation fails at runtime. This may happen for various reasons. For example, accessing a property on a null object (such as the expression `issue.id` where `issue` is `null`). In this case an error message is provided.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["Issue does not exist or you do not have permission to see it."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if any object provided in the request context is not found or the user does not have permission to view it.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
            - read:jira-user
        - {}
      summary: Evaluate Jira expression
      tags:
        - Jira expressions
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:jira-expressions:jira
          state: Beta
  /rest/api/3/field:
    get:
      deprecated: false
      description: |-
        Returns system and custom issue fields according to the following rules:

         *  Fields that cannot be added to the issue navigator are always returned.
         *  Fields that cannot be placed on an issue screen are always returned.
         *  Fields that depend on global Jira settings are only returned if the setting is enabled. That is, timetracking fields, subtasks, votes, and watches.
         *  For all other fields, this operation only returns the fields that the user has permission to view (that is, the field is used in at least one project that the user has *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.)

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None.
      operationId: getFields
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '[{"id":"description","name":"Description","custom":false,"orderable":true,"navigable":true,"searchable":true,"clauseNames":["description"],"schema":{"type":"string","system":"description"}},{"id":"summary","key":"summary","name":"Summary","custom":false,"orderable":true,"navigable":true,"searchable":true,"clauseNames":["summary"],"schema":{"type":"string","system":"summary"}}]'
              schema:
                items:
                  $ref: "#/components/schemas/FieldDetails"
                type: array
          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: Get fields
      tags:
        - Issue fields
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field:jira
            - read:avatar:jira
            - read:project-category:jira
            - read:project:jira
            - read:field-configuration:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates a custom field.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createCustomField
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              description: Custom field for picking groups
              name: New custom field
              searcherKey: com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher
              type: com.atlassian.jira.plugin.system.customfieldtypes:grouppicker
            schema:
              $ref: "#/components/schemas/CustomFieldDefinitionJsonBean"
        description: Definition of the custom field to be created
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"id":"customfield_10101","key":"customfield_10101","name":"New custom field","untranslatedName":"New custom field","custom":true,"orderable":true,"navigable":true,"searchable":true,"clauseNames":["cf[10101]","New custom field"],"schema":{"type":"project","custom":"com.atlassian.jira.plugin.system.customfieldtypes:project","customId":10101}}'
              schema:
                $ref: "#/components/schemas/FieldDetails"
          description: Returned if the custom field is created.
        "400":
          description: |-
            Returned if:

             *  the user does not have permission to create custom fields.
             *  any of the request object properties have invalid or missing values.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
        - {}
      summary: Create custom field
      tags:
        - Issue fields
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:field:jira
            - read:avatar:jira
            - read:field:jira
            - read:project-category:jira
            - read:project:jira
            - read:field-configuration:jira
          state: Beta
  /rest/api/3/field/search:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of fields for Classic Jira projects. The list can include:

         *  all fields
         *  specific fields, by defining `id`
         *  fields that contain a string in the field name or description, by defining `query`
         *  specific fields that contain a string in the field name or description, by defining `id` and `query`

        Only custom fields can be queried, `type` must be set to `custom`.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getFieldsPaginated
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: The type of fields to search.
          in: query
          name: type
          schema:
            items:
              enum:
                - custom
                - system
              type: string
            type: array
        - description: The IDs of the custom fields to return or, where `query` is specified, filter.
          in: query
          name: id
          schema:
            items:
              type: string
            type: array
            uniqueItems: true
        - description: String used to perform a case-insensitive partial match with field names or descriptions.
          in: query
          name: query
          schema:
            type: string
        - description: |-
            [Order](#ordering) the results by a field:

             *  `contextsCount` sorts by the number of contexts related to a field
             *  `lastUsed` sorts by the date when the value of the field last changed
             *  `name` sorts by the field name
             *  `screensCount` sorts by the number of screens related to a field
          in: query
          name: orderBy
          schema:
            enum:
              - contextsCount
              - -contextsCount
              - +contextsCount
              - lastUsed
              - -lastUsed
              - +lastUsed
              - name
              - -name
              - +name
              - screensCount
              - -screensCount
              - +screensCount
              - projectsCount
              - -projectsCount
              - +projectsCount
            type: string
        - description: |-
            Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `key` returns the key for each field
             *  `lastUsed` returns the date when the value of the field last changed
             *  `screensCount` returns the number of screens related to a field
             *  `contextsCount` returns the number of contexts related to a field
             *  `isLocked` returns information about whether the field is [locked](https://confluence.atlassian.com/x/ZSN7Og)
             *  `searcherKey` returns the searcher key for each custom field
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":50,"startAt":0,"total":2,"isLast":false,"values":[{"id":"customfield_10000","name":"Approvers","schema":{"type":"array","items":"user","custom":"com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker","customId":10000},"description":"Contains users needed for approval. This custom field was created by Jira Service Desk.","key":"customfield_10000","isLocked":true,"searcherKey":"com.atlassian.jira.plugin.system.customfieldtypes:userpickergroupsearcher","screensCount":2,"contextsCount":2,"lastUsed":{"type":"TRACKED","value":"2019-09-12T10:10:00.232+0000"}},{"id":"customfield_10001","name":"Change reason","schema":{"type":"option","custom":"com.atlassian.jira.plugin.system.customfieldtypes:select","customId":10001},"description":"Choose the reason for the change request","key":"customfield_10001","isLocked":false,"searcherKey":"com.atlassian.jira.plugin.system.customfieldtypes:multiselectsearcher","screensCount":2,"contextsCount":2,"projectsCount":2,"lastUsed":{"type":"NOT_TRACKED"}}]}'
              schema:
                $ref: "#/components/schemas/PageBeanField"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["Only custom fields can be queried."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access fields."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
      summary: Get fields paginated
      tags:
        - Issue fields
      x-atlassian-connect-scope: NONE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field:jira
            - read:field-configuration:jira
          state: Beta
      x-experimental: true
  /rest/api/3/field/search/trashed:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of fields in the trash. The list may be restricted to fields whose field name or description partially match a string.

        Only custom fields can be queried, `type` must be set to `custom`.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getTrashedFieldsPaginated
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - in: query
          name: id
          schema:
            items:
              type: string
            type: array
            uniqueItems: true
        - description: String used to perform a case-insensitive partial match with field names or descriptions.
          in: query
          name: query
          schema:
            type: string
        - in: query
          name: expand
          schema:
            enum:
              - name
              - -name
              - +name
              - trashDate
              - -trashDate
              - +trashDate
              - plannedDeletionDate
              - -plannedDeletionDate
              - +plannedDeletionDate
              - projectsCount
              - -projectsCount
              - +projectsCount
            type: string
        - description: |-
            [Order](#ordering) the results by a field:

             *  `name` sorts by the field name
             *  `trashDate` sorts by the date the field was moved to the trash
             *  `plannedDeletionDate` sorts by the planned deletion date
          in: query
          name: orderBy
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":50,"startAt":0,"total":1,"isLast":false,"values":[{"id":"customfield_10000","name":"Approvers","schema":{"type":"array","custom":"com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker","customId":10003},"description":"Contains users needed for approval. This custom field was created by Jira Service Desk.","key":"customfield_10003","trashedDate":"2019-09-12T10:10:00.233+0000","trashedBy":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","emailAddress":"mia@example.com","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":true,"timeZone":"Australia/Sydney"},"plannedDeletionDate":"2019-09-30T10:10:00.233+0000"}]}'
              schema:
                $ref: "#/components/schemas/PageBeanField"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["Only custom fields can be queried."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access fields."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
      summary: Get fields in trash paginated
      tags:
        - Issue fields
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field:jira
            - read:field-configuration:jira
            - read:user:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/field/{fieldId}":
    put:
      deprecated: false
      description: |-
        Updates a custom field.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateCustomField
      parameters:
        - description: The ID of the custom field.
          in: path
          name: fieldId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              description: Select the manager and the corresponding employee.
              name: Managers and employees list
              searcherKey: com.atlassian.jira.plugin.system.customfieldtypes:cascadingselectsearcher
            schema:
              $ref: "#/components/schemas/UpdateCustomFieldDetails"
        description: The custom field update details.
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["searcherKey is invalid for the field type."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can edit custom fields."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The custom field was not found."],"errors":{}}'
          description: Returned if the custom field is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update custom field
      tags:
        - Issue fields
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:field:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/field/{fieldId}/context":
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of [ contexts](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html) for a custom field. Contexts can be returned as follows:

         *  With no other parameters set, all contexts.
         *  By defining `id` only, all contexts from the list of IDs.
         *  By defining `isAnyIssueType`, limit the list of contexts returned to either those that apply to all issue types (true) or those that apply to only a subset of issue types (false)
         *  By defining `isGlobalContext`, limit the list of contexts return to either those that apply to all projects (global contexts) (true) or those that apply to only a subset of projects (false).

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getContextsForField
      parameters:
        - description: The ID of the custom field.
          in: path
          name: fieldId
          required: true
          schema:
            type: string
        - description: Whether to return contexts that apply to all issue types.
          in: query
          name: isAnyIssueType
          schema:
            type: boolean
        - description: Whether to return contexts that apply to all projects.
          in: query
          name: isGlobalContext
          schema:
            type: boolean
        - description: "The list of context IDs. To include multiple contexts, separate IDs with ampersand: `contextId=10000&contextId=10001`."
          in: query
          name: contextId
          schema:
            items:
              format: int64
              type: integer
            type: array
            uniqueItems: true
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":100,"startAt":0,"total":2,"isLast":true,"values":[{"id":"10025","name":"Bug fields context","description":"A context used to define the custom field options for bugs.","isGlobalContext":true,"isAnyIssueType":false},{"id":"10026","name":"Task fields context","description":"A context used to define the custom field options for tasks.","isGlobalContext":false,"isAnyIssueType":false}]}'
              schema:
                $ref: "#/components/schemas/PageBeanCustomFieldContext"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access custom field contexts."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The custom field was not found."],"errors":{}}'
          description: Returned if the custom field was not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get custom field contexts
      tags:
        - Issue custom field contexts
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field:jira
            - read:custom-field-contextual-configuration:jira
          state: Beta
      x-experimental: true
    post:
      deprecated: false
      description: |-
        Creates a custom field context.

        If `projectIds` is empty, a global context is created. A global context is one that applies to all project. If `issueTypeIds` is empty, the context applies to all issue types.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createCustomFieldContext
      parameters:
        - description: The ID of the custom field.
          in: path
          name: fieldId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              description: A context used to define the custom field options for bugs.
              issueTypeIds:
                - "10010"
              name: Bug fields context
              projectIds: []
            schema:
              $ref: "#/components/schemas/CreateCustomFieldContext"
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"id":"10025","name":"Bug fields context","description":"A context used to define the custom field options for bugs.","projectIds":[],"issueTypeIds":["10010"]}'
              schema:
                $ref: "#/components/schemas/CreateCustomFieldContext"
          description: Returned if the custom field context is created.
        "400":
          description: Returned if the request is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the field, project, or issue type is not found.
        "409":
          content:
            application/json:
              example: '{"errorMessages":["Sub-tasks are disabled in Jira. At least one of the issue types is a sub-task."],"errors":{}}'
          description: Returned if the issue type is a sub-task, but sub-tasks are disabled in Jira settings.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Create custom field context
      tags:
        - Issue custom field contexts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field:jira
            - write:field:jira
            - read:custom-field-contextual-configuration:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/field/{fieldId}/context/defaultValue":
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of defaults for a custom field. The results can be filtered by `contextId`, otherwise all values are returned. If no defaults are set for a context, nothing is returned.  
        The returned object depends on type of the custom field:

         *  `CustomFieldContextDefaultValueDate` (type `datepicker`) for date fields.
         *  `CustomFieldContextDefaultValueDateTime` (type `datetimepicker`) for date-time fields.
         *  `CustomFieldContextDefaultValueSingleOption` (type `option.single`) for single choice select lists and radio buttons.
         *  `CustomFieldContextDefaultValueMultipleOption` (type `option.multiple`) for multiple choice select lists and checkboxes.
         *  `CustomFieldContextDefaultValueCascadingOption` (type `option.cascading`) for cascading select lists.
         *  `CustomFieldContextSingleUserPickerDefaults` (type `single.user.select`) for single users.
         *  `CustomFieldContextDefaultValueMultiUserPicker` (type `multi.user.select`) for user lists.
         *  `CustomFieldContextDefaultValueSingleGroupPicker` (type `grouppicker.single`) for single choice group pickers.
         *  `CustomFieldContextDefaultValueMultipleGroupPicker` (type `grouppicker.multiple`) for multiple choice group pickers.
         *  `CustomFieldContextDefaultValueURL` (type `url`) for URLs.
         *  `CustomFieldContextDefaultValueProject` (type `project`) for project pickers.
         *  `CustomFieldContextDefaultValueFloat` (type `float`) for floats (floating-point numbers).
         *  `CustomFieldContextDefaultValueLabels` (type `labels`) for labels.
         *  `CustomFieldContextDefaultValueTextField` (type `textfield`) for text fields.
         *  `CustomFieldContextDefaultValueTextArea` (type `textarea`) for text area fields.
         *  `CustomFieldContextDefaultValueReadOnly` (type `readonly`) for read only (text) fields.
         *  `CustomFieldContextDefaultValueMultipleVersion` (type `version.multiple`) for single choice version pickers.
         *  `CustomFieldContextDefaultValueSingleVersion` (type `version.single`) for multiple choice version pickers.

        Forge custom fields [types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/#data-types) are also supported, returning:

         *  `CustomFieldContextDefaultValueForgeStringFieldBean` (type `forge.string`) for Forge string fields.
         *  `CustomFieldContextDefaultValueForgeMultiStringFieldBean` (type `forge.string.list`) for Forge string collection fields.
         *  `CustomFieldContextDefaultValueForgeObjectFieldBean` (type `forge.object`) for Forge object fields.
         *  `CustomFieldContextDefaultValueForgeDateTimeFieldBean` (type `forge.datetime`) for Forge date-time fields.
         *  `CustomFieldContextDefaultValueForgeGroupFieldBean` (type `forge.group`) for Forge group fields.
         *  `CustomFieldContextDefaultValueForgeMultiGroupFieldBean` (type `forge.group.list`) for Forge group collection fields.
         *  `CustomFieldContextDefaultValueForgeNumberFieldBean` (type `forge.number`) for Forge number fields.
         *  `CustomFieldContextDefaultValueForgeUserFieldBean` (type `forge.user`) for Forge user fields.
         *  `CustomFieldContextDefaultValueForgeMultiUserFieldBean` (type `forge.user.list`) for Forge user collection fields.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getDefaultValues
      parameters:
        - description: The ID of the custom field, for example `customfield\_10000`.
          in: path
          name: fieldId
          required: true
          schema:
            type: string
        - description: The IDs of the contexts.
          in: query
          name: contextId
          schema:
            items:
              format: int64
              type: integer
            type: array
            uniqueItems: true
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":50,"startAt":0,"total":3,"isLast":true,"values":[{"type":"option.single","contextId":"10100","optionId":"10001"},{"type":"option.single","contextId":"10101","optionId":"10003"},{"type":"option.single","contextId":"10103"}]}'
              schema:
                $ref: "#/components/schemas/PageBeanCustomFieldContextDefaultValue"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access custom field contexts."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The custom field was not found."],"errors":{}}'
          description: Returned if the custom field is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get custom field contexts default values
      tags:
        - Issue custom field contexts
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field.default-value:jira
          state: Beta
      x-experimental: true
    put:
      deprecated: false
      description: |-
        Sets default for contexts of a custom field. Default are defined using these objects:

         *  `CustomFieldContextDefaultValueDate` (type `datepicker`) for date fields.
         *  `CustomFieldContextDefaultValueDateTime` (type `datetimepicker`) for date-time fields.
         *  `CustomFieldContextDefaultValueSingleOption` (type `option.single`) for single choice select lists and radio buttons.
         *  `CustomFieldContextDefaultValueMultipleOption` (type `option.multiple`) for multiple choice select lists and checkboxes.
         *  `CustomFieldContextDefaultValueCascadingOption` (type `option.cascading`) for cascading select lists.
         *  `CustomFieldContextSingleUserPickerDefaults` (type `single.user.select`) for single users.
         *  `CustomFieldContextDefaultValueMultiUserPicker` (type `multi.user.select`) for user lists.
         *  `CustomFieldContextDefaultValueSingleGroupPicker` (type `grouppicker.single`) for single choice group pickers.
         *  `CustomFieldContextDefaultValueMultipleGroupPicker` (type `grouppicker.multiple`) for multiple choice group pickers.
         *  `CustomFieldContextDefaultValueURL` (type `url`) for URLs.
         *  `CustomFieldContextDefaultValueProject` (type `project`) for project pickers.
         *  `CustomFieldContextDefaultValueFloat` (type `float`) for floats (floating-point numbers).
         *  `CustomFieldContextDefaultValueLabels` (type `labels`) for labels.
         *  `CustomFieldContextDefaultValueTextField` (type `textfield`) for text fields.
         *  `CustomFieldContextDefaultValueTextArea` (type `textarea`) for text area fields.
         *  `CustomFieldContextDefaultValueReadOnly` (type `readonly`) for read only (text) fields.
         *  `CustomFieldContextDefaultValueMultipleVersion` (type `version.multiple`) for single choice version pickers.
         *  `CustomFieldContextDefaultValueSingleVersion` (type `version.single`) for multiple choice version pickers.

        Forge custom fields [types](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field-type/#data-types) are also supported, returning:

         *  `CustomFieldContextDefaultValueForgeStringFieldBean` (type `forge.string`) for Forge string fields.
         *  `CustomFieldContextDefaultValueForgeMultiStringFieldBean` (type `forge.string.list`) for Forge string collection fields.
         *  `CustomFieldContextDefaultValueForgeObjectFieldBean` (type `forge.object`) for Forge object fields.
         *  `CustomFieldContextDefaultValueForgeDateTimeFieldBean` (type `forge.datetime`) for Forge date-time fields.
         *  `CustomFieldContextDefaultValueForgeGroupFieldBean` (type `forge.group`) for Forge group fields.
         *  `CustomFieldContextDefaultValueForgeMultiGroupFieldBean` (type `forge.group.list`) for Forge group collection fields.
         *  `CustomFieldContextDefaultValueForgeNumberFieldBean` (type `forge.number`) for Forge number fields.
         *  `CustomFieldContextDefaultValueForgeUserFieldBean` (type `forge.user`) for Forge user fields.
         *  `CustomFieldContextDefaultValueForgeMultiUserFieldBean` (type `forge.user.list`) for Forge user collection fields.

        Only one type of default object can be included in a request. To remove a default for a context, set the default parameter to `null`.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: setDefaultValues
      parameters:
        - description: The ID of the custom field.
          in: path
          name: fieldId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              defaultValues:
                - contextId: "10100"
                  optionId: "10001"
                  type: option.single
                - contextId: "10101"
                  optionId: "10003"
                  type: option.single
                - contextId: "10103"
                  optionId: "10005"
                  type: option.single
            schema:
              $ref: "#/components/schemas/CustomFieldContextDefaultValueUpdate"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if operation is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["All default values in the request must have the same type."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access custom field contexts."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The context was not found."],"errors":{}}'
          description: Returned if the custom field, a context, an option, or a cascading option is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Set custom field contexts default values
      tags:
        - Issue custom field contexts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:field.default-value:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/field/{fieldId}/context/issuetypemapping":
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of context to issue type mappings for a custom field. Mappings are returned for all contexts or a list of contexts. Mappings are ordered first by context ID and then by issue type ID.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getIssueTypeMappingsForContexts
      parameters:
        - description: The ID of the custom field.
          in: path
          name: fieldId
          required: true
          schema:
            type: string
        - description: The ID of the context. To include multiple contexts, provide an ampersand-separated list. For example, `contextId=10001&contextId=10002`.
          in: query
          name: contextId
          schema:
            items:
              format: int64
              type: integer
            type: array
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":100,"startAt":0,"total":3,"isLast":true,"values":[{"contextId":"10001","issueTypeId":"10010"},{"contextId":"10001","issueTypeId":"10011"},{"contextId":"10002","isAnyIssueType":true}]}'
              schema:
                $ref: "#/components/schemas/PageBeanIssueTypeToContextMapping"
          description: Returned if operation is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access custom field contexts."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get issue types for custom field context
      tags:
        - Issue custom field contexts
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/field/{fieldId}/context/mapping":
    post:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of project and issue type mappings and, for each mapping, the ID of a [custom field context](https://confluence.atlassian.com/x/k44fOw) that applies to the project and issue type.

        If there is no custom field context assigned to the project then, if present, the custom field context that applies to all projects is returned if it also applies to the issue type or all issue types. If a custom field context is not found, the returned custom field context ID is `null`.

        Duplicate project and issue type mappings cannot be provided in the request.

        The order of the returned values is the same as provided in the request.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getCustomFieldContextsForProjectsAndIssueTypes
      parameters:
        - description: The ID of the custom field.
          in: path
          name: fieldId
          required: true
          schema:
            type: string
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
      requestBody:
        content:
          application/json:
            example:
              mappings:
                - issueTypeId: "10000"
                  projectId: "10000"
                - issueTypeId: "10001"
                  projectId: "10000"
                - issueTypeId: "10002"
                  projectId: "10001"
            schema:
              $ref: "#/components/schemas/ProjectIssueTypeMappings"
        description: The list of project and issue type mappings.
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":50,"startAt":0,"total":3,"isLast":true,"values":[{"projectId":"10000","issueTypeId":"10000","contextId":"10000"},{"projectId":"10000","issueTypeId":"10001","contextId":null},{"projectId":"10001","issueTypeId":"10002","contextId":"10003"}]}'
              schema:
                $ref: "#/components/schemas/PageBeanContextForProjectAndIssueType"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["Duplicate project and issue type mappings cannot be provided."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access custom field contexts."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["These projects were not found: 10005."],"errors":{}}'
          description: Returned if the custom field, project, or issue type is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get custom field contexts for projects and issue types
      tags:
        - Issue custom field contexts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/field/{fieldId}/context/projectmapping":
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of context to project mappings for a custom field. The result can be filtered by `contextId`. Otherwise, all mappings are returned. Invalid IDs are ignored.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getProjectContextMapping
      parameters:
        - description: The ID of the custom field, for example `customfield\_10000`.
          in: path
          name: fieldId
          required: true
          schema:
            type: string
        - description: "The list of context IDs. To include multiple context, separate IDs with ampersand: `contextId=10000&contextId=10001`."
          in: query
          name: contextId
          schema:
            items:
              format: int64
              type: integer
            type: array
            uniqueItems: true
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":100,"startAt":0,"total":2,"isLast":true,"values":[{"contextId":"10025","projectId":"10001"},{"contextId":"10026","isGlobalContext":true}]}'
              schema:
                $ref: "#/components/schemas/PageBeanCustomFieldContextProjectMapping"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access custom field contexts."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The custom field was not found."],"errors":{}}'
          description: Returned if the custom field is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get project mappings for custom field context
      tags:
        - Issue custom field contexts
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/field/{fieldId}/context/{contextId}":
    delete:
      deprecated: false
      description: |-
        Deletes a [ custom field context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html).

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteCustomFieldContext
      parameters:
        - description: The ID of the custom field.
          in: path
          name: fieldId
          required: true
          schema:
            type: string
        - description: The ID of the context.
          in: path
          name: contextId
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the context is deleted.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The contextId has to be provided."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access custom field contexts."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The context was not found."],"errors":{}}'
          description: Returned if the custom field or the context is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete custom field context
      tags:
        - Issue custom field contexts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:field:jira
          state: Beta
      x-experimental: true
    put:
      deprecated: false
      description: |-
        Updates a [ custom field context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html).

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateCustomFieldContext
      parameters:
        - description: The ID of the custom field.
          in: path
          name: fieldId
          required: true
          schema:
            type: string
        - description: The ID of the context.
          in: path
          name: contextId
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              description: A context used to define the custom field options for bugs.
              name: Bug fields context
            schema:
              $ref: "#/components/schemas/CustomFieldContextUpdateDetails"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the context is updated.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The contextId has to be provided."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access custom field contexts."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The context was not found."],"errors":{}}'
          description: Returned if the custom field or the context is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update custom field context
      tags:
        - Issue custom field contexts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:field:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/field/{fieldId}/context/{contextId}/issuetype":
    put:
      deprecated: false
      description: |-
        Adds issue types to a custom field context, appending the issue types to the issue types list.

        A custom field context without any issue types applies to all issue types. Adding issue types to such a custom field context would result in it applying to only the listed issue types.

        If any of the issue types exists in the custom field context, the operation fails and no issue types are added.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: addIssueTypesToContext
      parameters:
        - description: The ID of the custom field.
          in: path
          name: fieldId
          required: true
          schema:
            type: string
        - description: The ID of the context.
          in: path
          name: contextId
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              issueTypeIds:
                - "10001"
                - "10005"
                - "10006"
            schema:
              $ref: "#/components/schemas/IssueTypeIds"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if operation is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["These issue types are already associated with the context: 10001."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access custom field contexts."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The context was not found."],"errors":{}}'
          description: Returned if the custom field, context, or one or more issue types are not found.
        "409":
          content:
            application/json:
              example: '{"errorMessages":["Sub-tasks are disabled in Jira. At least one of the issue types is a sub-task."],"errors":{}}'
          description: Returned if the issue type is a sub-task, but sub-tasks are disabled in Jira settings.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Add issue types to context
      tags:
        - Issue custom field contexts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:field:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/field/{fieldId}/context/{contextId}/issuetype/remove":
    post:
      deprecated: false
      description: |-
        Removes issue types from a custom field context.

        A custom field context without any issue types applies to all issue types.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: removeIssueTypesFromContext
      parameters:
        - description: The ID of the custom field.
          in: path
          name: fieldId
          required: true
          schema:
            type: string
        - description: The ID of the context.
          in: path
          name: contextId
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              issueTypeIds:
                - "10001"
                - "10005"
                - "10006"
            schema:
              $ref: "#/components/schemas/IssueTypeIds"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if operation is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["These issue types are not associated with the context: 10002."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access custom field contexts."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The context was not found."],"errors":{}}'
          description: Returned if the custom field, context, or one or more issue types are not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Remove issue types from context
      tags:
        - Issue custom field contexts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:field:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/field/{fieldId}/context/{contextId}/option":
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of all custom field option for a context. Options are returned first then cascading options, in the order they display in Jira.

        This operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.**

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getOptionsForContext
      parameters:
        - description: The ID of the custom field.
          in: path
          name: fieldId
          required: true
          schema:
            type: string
        - description: The ID of the context.
          in: path
          name: contextId
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the option.
          in: query
          name: optionId
          schema:
            format: int64
            type: integer
        - description: Whether only options are returned.
          in: query
          name: onlyOptions
          schema:
            default: false
            type: boolean
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 100
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":100,"startAt":0,"total":4,"isLast":true,"values":[{"id":"10001","value":"New York"},{"id":"10002","value":"Boston","disabled":true},{"id":"10004","value":"Denver"},{"id":"10003","value":"Brooklyn","optionId":"10001"}]}'
              schema:
                $ref: "#/components/schemas/PageBeanCustomFieldContextOption"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: "{\"errorMessages\":[\"The custom field doesn't support options.\"],\"errors\":{}}"
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can manage custom field options."],"errors":{}}'
          description: Returned if the user does not have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The custom field was not found."],"errors":{}}'
          description: Returned if the custom field is not found or the context doesn't match the custom field.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get custom field options (context)
      tags:
        - Issue custom field options
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field.option:jira
          state: Beta
      x-experimental: true
    post:
      deprecated: false
      description: |-
        Creates options and, where the custom select field is of the type Select List (cascading), cascading options for a custom select field. The options are added to a context of the field.

        The maximum number of options that can be created per request is 1000 and each field can have a maximum of 10000 options.

        This operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.**

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createCustomFieldOption
      parameters:
        - description: The ID of the custom field.
          in: path
          name: fieldId
          required: true
          schema:
            type: string
        - description: The ID of the context.
          in: path
          name: contextId
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              options:
                - disabled: false
                  value: Scranton
                - disabled: true
                  optionId: "10000"
                  value: Manhattan
                - disabled: false
                  value: The Electric City
            schema:
              $ref: "#/components/schemas/BulkCustomFieldOptionCreateRequest"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"options":[{"id":"10001","value":"Scranton","disabled":false},{"id":"10002","value":"Manhattan","optionId":"10000","disabled":true},{"id":"10003","value":"The Electric City","disabled":false}]}'
              schema:
                $ref: "#/components/schemas/CustomFieldCreatedContextOptionsList"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: "{\"errorMessages\":[\"The custom field doesn't support options.\"],\"errors\":{}}"
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can manage custom field options."],"errors":{}}'
          description: Returned if the user does not have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The custom field was not found."],"errors":{}}'
          description: Returned if the custom field is not found or the context doesn't match the custom field.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Create custom field options (context)
      tags:
        - Issue custom field options
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field.option:jira
            - write:field.option:jira
          state: Beta
      x-experimental: true
    put:
      deprecated: false
      description: |-
        Updates the options of a custom field.

        If any of the options are not found, no options are updated. Options where the values in the request match the current values aren't updated and aren't reported in the response.

        Note that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateCustomFieldOption
      parameters:
        - description: The ID of the custom field.
          in: path
          name: fieldId
          required: true
          schema:
            type: string
        - description: The ID of the context.
          in: path
          name: contextId
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              options:
                - disabled: false
                  id: "10001"
                  value: Scranton
                - disabled: true
                  id: "10002"
                  value: Manhattan
                - disabled: false
                  id: "10003"
                  value: The Electric City
            schema:
              $ref: "#/components/schemas/BulkCustomFieldOptionUpdateRequest"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"options":[{"id":"10001","value":"Scranton","disabled":false},{"id":"10002","value":"Manhattan","disabled":true},{"id":"10003","value":"The Electric City","disabled":false}]}'
              schema:
                $ref: "#/components/schemas/CustomFieldUpdatedContextOptionsList"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: "{\"errorMessages\":[\"The custom field doesn't support options.\"],\"errors\":{}}"
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can manage custom field options."],"errors":{}}'
          description: Returned if the user does not have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The custom field was not found."],"errors":{}}'
          description: Returned if the field, context, or one or more options is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update custom field options (context)
      tags:
        - Issue custom field options
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field.option:jira
            - write:field.option:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/field/{fieldId}/context/{contextId}/option/move":
    put:
      deprecated: false
      description: |-
        Changes the order of custom field options or cascading options in a context.

        This operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.**

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: reorderCustomFieldOptions
      parameters:
        - description: The ID of the custom field.
          in: path
          name: fieldId
          required: true
          schema:
            type: string
        - description: The ID of the context.
          in: path
          name: contextId
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              customFieldOptionIds:
                - "10001"
                - "10002"
              position: First
            schema:
              $ref: "#/components/schemas/OrderOfCustomFieldOptions"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if options are reordered.
        "400":
          content:
            application/json:
              example: "{\"errorMessages\":[\"'after' and 'position' were provided. Only 'after' or 'position' can be specified.\"],\"errors\":{}}"
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can manage custom field options."],"errors":{}}'
          description: Returned if the user does not have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The custom field was not found."],"errors":{}}'
          description: Returned if the field, the context, or one or more of the options is not found..
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Reorder custom field options (context)
      tags:
        - Issue custom field options
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:field.option:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/field/{fieldId}/context/{contextId}/option/{optionId}":
    delete:
      deprecated: false
      description: |-
        Deletes a custom field option.

        Options with cascading options cannot be deleted without deleting the cascading options first.

        This operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.**

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteCustomFieldOption
      parameters:
        - description: The ID of the custom field.
          in: path
          name: fieldId
          required: true
          schema:
            type: string
        - description: The ID of the context from which an option should be deleted.
          in: path
          name: contextId
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the option to delete.
          in: path
          name: optionId
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          description: Returned if the option is deleted.
        "400":
          content:
            application/json:
              example: "{\"errorMessages\":[\"The custom field doesn't support options.\"],\"errors\":{}}"
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can manage custom field options."],"errors":{}}'
          description: Returned if the user does not have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The custom field was not found."],"errors":{}}'
          description: Returned if the field, the context, or the option is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete custom field options (context)
      tags:
        - Issue custom field options
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:field.option:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/field/{fieldId}/context/{contextId}/project":
    put:
      deprecated: false
      description: |-
        Assigns a custom field context to projects.

        If any project in the request is assigned to any context of the custom field, the operation fails.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: assignProjectsToCustomFieldContext
      parameters:
        - description: The ID of the custom field.
          in: path
          name: fieldId
          required: true
          schema:
            type: string
        - description: The ID of the context.
          in: path
          name: contextId
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              projectIds:
                - "10001"
                - "10005"
                - "10006"
            schema:
              $ref: "#/components/schemas/ProjectIds"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if operation is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The projectIds must not contain duplicates."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access custom field contexts."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The context was not found."],"errors":{}}'
          description: Returned if the custom field, context, or project is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Assign custom field context to projects
      tags:
        - Issue custom field contexts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:field:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/field/{fieldId}/context/{contextId}/project/remove":
    post:
      deprecated: false
      description: |-
        Removes a custom field context from projects.

        A custom field context without any projects applies to all projects. Removing all projects from a custom field context would result in it applying to all projects.

        If any project in the request is not assigned to the context, or the operation would result in two global contexts for the field, the operation fails.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: removeCustomFieldContextFromProjects
      parameters:
        - description: The ID of the custom field.
          in: path
          name: fieldId
          required: true
          schema:
            type: string
        - description: The ID of the context.
          in: path
          name: contextId
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              projectIds:
                - "10001"
                - "10005"
                - "10006"
            schema:
              $ref: "#/components/schemas/ProjectIds"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the custom field context is removed from the projects.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The projectIds must not contain duplicates."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access custom field contexts."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The context was not found."],"errors":{}}'
          description: Returned if the custom field, context, or one or more projects are not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Remove custom field context from projects
      tags:
        - Issue custom field contexts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:field:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/field/{fieldId}/contexts":
    get:
      deprecated: true
      description: |-
        Returns a [paginated](#pagination) list of the contexts a field is used in. Deprecated, use [ Get custom field contexts](#api-rest-api-3-field-fieldId-context-get).

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getContextsForFieldDeprecated
      parameters:
        - description: The ID of the field to return contexts for.
          in: path
          name: fieldId
          required: true
          schema:
            type: string
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 20
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":1,"startAt":0,"total":5,"isLast":false,"values":[{"id":10001,"name":"Default Context"}]}'
              schema:
                $ref: "#/components/schemas/PageBeanContext"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Get contexts for a field
      tags:
        - Issue fields
      x-atlassian-connect-scope: NONE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field:jira
            - read:avatar:jira
            - read:project-category:jira
            - read:project:jira
          state: Beta
  "/rest/api/3/field/{fieldId}/screens":
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of the screens a field is used in.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getScreensForField
      parameters:
        - description: The ID of the field to return screens for.
          in: path
          name: fieldId
          required: true
          schema:
            type: string
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 100
            format: int32
            type: integer
        - description: Use [expand](#expansion) to include additional information about screens in the response. This parameter accepts `tab` which returns details about the screen tabs the field is used in.
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":1,"startAt":0,"total":5,"isLast":false,"values":[{"id":10001,"name":"Default Screen","description":"Provides for the update of all system fields.","tab":{"id":10000,"name":"Fields Tab"}}]}'
              schema:
                $ref: "#/components/schemas/PageBeanScreenWithTab"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Get screens for a field
      tags:
        - Screens
      x-atlassian-connect-scope: NONE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:screen:jira
            - read:avatar:jira
            - read:project-category:jira
            - read:project:jira
            - read:screen-tab:jira
          state: Beta
  "/rest/api/3/field/{fieldKey}/option":
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of all the options of a select list issue field. A select list issue field is a type of [issue field](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field/) that enables a user to select a value from a list of options.

        Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.
      operationId: getAllIssueFieldOptions
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: |-
            The field key is specified in the following format: **$(app-key)\_\_$(field-key)**. For example, *example-add-on\_\_example-issue-field*. To determine the `fieldKey` value, do one of the following:

             *  open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.
             *  run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `"key": "teams-add-on__team-issue-field"`
          in: path
          name: fieldKey
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: "{\"self\":\"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option?startAt=0&maxResults=1\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option?startAt=1&maxResults=1\",\"maxResults\":1,\"startAt\":0,\"total\":10,\"isLast\":false,\"values\":[{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"},\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1002,\"attributes\":[\"notSelectable\"]},{\"id\":1001,\"attributes\":[\"notSelectable\"]}],\"global\":{}},\"attributes\":[]}}]}"
              schema:
                $ref: "#/components/schemas/PageBeanIssueFieldOption"
          description: Returned if the request is successful.
        "400":
          description: Returned if the field is not found or does not support options.
        "403":
          description: Returned if the request is not authenticated as a Jira administrator or the app that provided the field.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get all issue field options
      tags:
        - Issue custom field options (apps)
      x-atlassian-connect-scope: NONE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field.option:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates an option for a select list issue field.

        Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.
      operationId: createIssueFieldOption
      parameters:
        - description: |-
            The field key is specified in the following format: **$(app-key)\_\_$(field-key)**. For example, *example-add-on\_\_example-issue-field*. To determine the `fieldKey` value, do one of the following:

             *  open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.
             *  run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `"key": "teams-add-on__team-issue-field"`
          in: path
          name: fieldKey
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              config:
                attributes: []
                scope:
                  global: {}
                  projects: []
                  projects2:
                    - attributes:
                        - notSelectable
                      id: 1002
                    - attributes:
                        - notSelectable
                      id: 1001
              properties:
                description: The team's description
                founded: 2016-06-06
                leader:
                  email: lname@example.com
                  name: Leader Name
                members: 42
              value: Team 1
            schema:
              $ref: "#/components/schemas/IssueFieldOptionCreateBean"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: "{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"},\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1002,\"attributes\":[\"notSelectable\"]},{\"id\":1001,\"attributes\":[\"notSelectable\"]}],\"global\":{}},\"attributes\":[]}}"
              schema:
                $ref: "#/components/schemas/IssueFieldOption"
          description: Returned if the request is successful.
        "400":
          description: Returned if the option is invalid.
        "403":
          description: Returned if the request is not authenticated as a Jira administrator or the app that provided the field.
        "404":
          description: Returned if the field is not found or does not support options.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Create issue field option
      tags:
        - Issue custom field options (apps)
      x-atlassian-connect-scope: NONE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:field.option:jira
          state: Beta
  "/rest/api/3/field/{fieldKey}/option/suggestions/edit":
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of options for a select list issue field that can be viewed and selected by the user.

        Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: getSelectableIssueFieldOptions
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: Filters the results to options that are only available in the specified project.
          in: query
          name: projectId
          schema:
            format: int64
            type: integer
        - description: |-
            The field key is specified in the following format: **$(app-key)\_\_$(field-key)**. For example, *example-add-on\_\_example-issue-field*. To determine the `fieldKey` value, do one of the following:

             *  open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.
             *  run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `"key": "teams-add-on__team-issue-field"`
          in: path
          name: fieldKey
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: "{\"self\":\"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option/suggestions?startAt=0&maxResults=1\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option/suggestions?startAt=1&maxResults=1\",\"maxResults\":1,\"startAt\":0,\"total\":10,\"isLast\":false,\"values\":[{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"}}]}"
              schema:
                $ref: "#/components/schemas/PageBeanIssueFieldOption"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the field is not found or does not support options.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
      summary: Get selectable issue field options
      tags:
        - Issue custom field options (apps)
      x-atlassian-connect-scope: NONE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field.option:jira
          state: Beta
  "/rest/api/3/field/{fieldKey}/option/suggestions/search":
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of options for a select list issue field that can be viewed by the user.

        Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: getVisibleIssueFieldOptions
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            format: int32
            type: integer
        - description: Filters the results to options that are only available in the specified project.
          in: query
          name: projectId
          schema:
            format: int64
            type: integer
        - description: |-
            The field key is specified in the following format: **$(app-key)\_\_$(field-key)**. For example, *example-add-on\_\_example-issue-field*. To determine the `fieldKey` value, do one of the following:

             *  open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.
             *  run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `"key": "teams-add-on__team-issue-field"`
          in: path
          name: fieldKey
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: "{\"self\":\"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option/suggestions?startAt=0&maxResults=1\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option/suggestions?startAt=1&maxResults=1\",\"maxResults\":1,\"startAt\":0,\"total\":10,\"isLast\":false,\"values\":[{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"}}]}"
              schema:
                $ref: "#/components/schemas/PageBeanIssueFieldOption"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the field is not found or does not support options.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
      summary: Get visible issue field options
      tags:
        - Issue custom field options (apps)
      x-atlassian-connect-scope: NONE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field.option:jira
          state: Beta
  "/rest/api/3/field/{fieldKey}/option/{optionId}":
    delete:
      deprecated: false
      description: |-
        Deletes an option from a select list issue field.

        Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.
      operationId: deleteIssueFieldOption
      parameters:
        - description: |-
            The field key is specified in the following format: **$(app-key)\_\_$(field-key)**. For example, *example-add-on\_\_example-issue-field*. To determine the `fieldKey` value, do one of the following:

             *  open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.
             *  run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `"key": "teams-add-on__team-issue-field"`
          in: path
          name: fieldKey
          required: true
          schema:
            type: string
        - description: The ID of the option to be deleted.
          in: path
          name: optionId
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the field option is deleted.
        "403":
          description: Returned if the request is not authenticated as a Jira administrator or the app that provided the field.
        "404":
          description: Returned if the field or option is not found.
        "409":
          description: Returned if the option is selected for the field in any issue.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete issue field option
      tags:
        - Issue custom field options (apps)
      x-atlassian-connect-scope: NONE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:field.option:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns an option from a select list issue field.

        Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.
      operationId: getIssueFieldOption
      parameters:
        - description: |-
            The field key is specified in the following format: **$(app-key)\_\_$(field-key)**. For example, *example-add-on\_\_example-issue-field*. To determine the `fieldKey` value, do one of the following:

             *  open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.
             *  run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `"key": "teams-add-on__team-issue-field"`
          in: path
          name: fieldKey
          required: true
          schema:
            type: string
        - description: The ID of the option to be returned.
          in: path
          name: optionId
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: "{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"},\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1002,\"attributes\":[\"notSelectable\"]},{\"id\":1001,\"attributes\":[\"notSelectable\"]}],\"global\":{}},\"attributes\":[]}}"
              schema:
                $ref: "#/components/schemas/IssueFieldOption"
          description: Returned if the requested option is returned.
        "400":
          description: Returned if the field is not found or does not support options.
        "403":
          description: Returned if the request is not authenticated as a Jira administrator or the app that provided the field.
        "404":
          description: Returned if the option is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get issue field option
      tags:
        - Issue custom field options (apps)
      x-atlassian-connect-scope: NONE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field.option:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Updates or creates an option for a select list issue field. This operation requires that the option ID is provided when creating an option, therefore, the option ID needs to be specified as a path and body parameter. The option ID provided in the path and body must be identical.

        Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.
      operationId: updateIssueFieldOption
      parameters:
        - description: |-
            The field key is specified in the following format: **$(app-key)\_\_$(field-key)**. For example, *example-add-on\_\_example-issue-field*. To determine the `fieldKey` value, do one of the following:

             *  open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.
             *  run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `"key": "teams-add-on__team-issue-field"`
          in: path
          name: fieldKey
          required: true
          schema:
            type: string
        - description: The ID of the option to be updated.
          in: path
          name: optionId
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              config:
                attributes: []
                scope:
                  global: {}
                  projects: []
                  projects2:
                    - attributes:
                        - notSelectable
                      id: 1002
                    - attributes:
                        - notSelectable
                      id: 1001
              id: 1
              properties:
                description: The team's description
                founded: 2016-06-06
                leader:
                  email: lname@example.com
                  name: Leader Name
                members: 42
              value: Team 1
            schema:
              $ref: "#/components/schemas/IssueFieldOption"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: "{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"},\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1002,\"attributes\":[\"notSelectable\"]},{\"id\":1001,\"attributes\":[\"notSelectable\"]}],\"global\":{}},\"attributes\":[]}}"
              schema:
                $ref: "#/components/schemas/IssueFieldOption"
          description: Returned if the option is updated or created.
        "400":
          description: Returned if the option is invalid, or the *ID* in the request object does not match the *optionId* parameter.
        "403":
          description: Returned if the request is not authenticated as a Jira administrator or the app that provided the field.
        "404":
          description: Returned if field is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update issue field option
      tags:
        - Issue custom field options (apps)
      x-atlassian-connect-scope: NONE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:field.option:jira
          state: Beta
  "/rest/api/3/field/{fieldKey}/option/{optionId}/issue":
    delete:
      deprecated: false
      description: |-
        Deselects an issue-field select-list option from all issues where it is selected. A different option can be selected to replace the deselected option. The update can also be limited to a smaller set of issues by using a JQL query.

        Connect and Forge app users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) can override the screen security configuration using `overrideScreenSecurity` and `overrideEditableFlag`.

        This is an [asynchronous operation](#async). The response object contains a link to the long-running task.

        Note that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.
      operationId: replaceIssueFieldOption
      parameters:
        - description: The ID of the option that will replace the currently selected option.
          in: query
          name: replaceWith
          schema:
            format: int64
            type: integer
        - description: A JQL query that specifies the issues to be updated. For example, *project=10000*.
          in: query
          name: jql
          schema:
            type: string
        - description: Whether screen security is overridden to enable hidden fields to be edited. Available to Connect and Forge app users with admin permission.
          in: query
          name: overrideScreenSecurity
          schema:
            default: false
            type: boolean
        - description: Whether screen security is overridden to enable uneditable fields to be edited. Available to Connect and Forge app users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
          in: query
          name: overrideEditableFlag
          schema:
            default: false
            type: boolean
        - description: |-
            The field key is specified in the following format: **$(app-key)\_\_$(field-key)**. For example, *example-add-on\_\_example-issue-field*. To determine the `fieldKey` value, do one of the following:

             *  open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.
             *  run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `"key": "teams-add-on__team-issue-field"`
          in: path
          name: fieldKey
          required: true
          schema:
            type: string
        - description: The ID of the option to be deselected.
          in: path
          name: optionId
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "303":
          content:
            application/json:
              example: "{\"self\":\"https://your-domain.atlassian.net/rest/api/3/task/1\",\"id\":\"1\",\"description\":\"Remove option 1 from issues matched by '*', and replace with option 3\",\"status\":\"COMPLETE\",\"result\":{\"modifiedIssues\":[10001,10010],\"unmodifiedIssues\":[10005],\"errors\":{\"errors\":{},\"errorMessages\":[\"Option 2 cannot be set on issue MKY-5 as it is not in the correct scope\"],\"httpStatusCode\":{\"empty\":false,\"present\":true}}},\"elapsedRuntime\":42}"
              schema:
                $ref: "#/components/schemas/TaskProgressBeanRemoveOptionFromIssuesResult"
          description: Returned if the long-running task to deselect the option is started.
        "400":
          description: Returned if the request is not valid.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Connect and Forge app users with Administer Jira global permission can override screen security."],"errors":{}}'
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the field is not found or does not support options, or the options to be replaced are not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Replace issue field option
      tags:
        - Issue custom field options (apps)
      x-atlassian-connect-scope: NONE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:field.option:jira
            - delete:field.option:jira
          state: Beta
  "/rest/api/3/field/{id}":
    delete:
      deprecated: false
      description: |-
        Deletes a custom field. The custom field is deleted whether it is in the trash or not. See [Edit or delete a custom field](https://confluence.atlassian.com/x/Z44fOw) for more information on trashing and deleting custom fields.

        This operation is [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteCustomField
      parameters:
        - description: The ID of a custom field.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "303":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TaskProgressBeanObject"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: |-
            Returned if any of these are true:

             *  The custom field is locked.
             *  The custom field is used in a issue security scheme or a permission scheme.
             *  The custom field ID format is incorrect.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user does not have the necessary permission.
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the custom field is not found.
        "409":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if a task to delete the custom field is running.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete custom field
      tags:
        - Issue fields
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:field:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/field/{id}/restore":
    post:
      deprecated: false
      description: |-
        Restores a custom field from trash. See [Edit or delete a custom field](https://confluence.atlassian.com/x/Z44fOw) for more information on trashing and deleting custom fields.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: restoreCustomField
      parameters:
        - description: The ID of a custom field.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is invalid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user does not have the necessary permission.
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the custom field is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Restore custom field from trash
      tags:
        - Issue fields
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:field:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/field/{id}/trash":
    post:
      deprecated: false
      description: |-
        Moves a custom field to trash. See [Edit or delete a custom field](https://confluence.atlassian.com/x/Z44fOw) for more information on trashing and deleting custom fields.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: trashCustomField
      parameters:
        - description: The ID of a custom field.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is invalid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user does not have the necessary permission.
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the custom field is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Move custom field to trash
      tags:
        - Issue fields
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:field:jira
          state: Beta
      x-experimental: true
  /rest/api/3/fieldconfiguration:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of field configurations. The list can be for all field configurations or a subset determined by any combination of these criteria:

         *  a list of field configuration item IDs.
         *  whether the field configuration is a default.
         *  whether the field configuration name or description contains a query string.

        Only field configurations used in company-managed (classic) projects are returned.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getAllFieldConfigurations
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: The list of field configuration IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.
          in: query
          name: id
          schema:
            items:
              format: int64
              type: integer
            type: array
            uniqueItems: true
        - description: If *true* returns default field configurations only.
          in: query
          name: isDefault
          schema:
            default: false
            type: boolean
        - description: The query string used to match against field configuration names and descriptions.
          in: query
          name: query
          schema:
            default: ""
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":50,"startAt":0,"total":2,"isLast":true,"values":[{"id":10000,"name":"Default Field Configuration","description":"The default field configuration description","isDefault":true},{"id":10001,"name":"My Field Configuration","description":"My field configuration description"}]}'
              schema:
                $ref: "#/components/schemas/PageBeanFieldConfigurationDetails"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get all field configurations
      tags:
        - Issue field configurations
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field-configuration:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates a field configuration. The field configuration is created with the same field properties as the default configuration, with all the fields being optional.

        This operation can only create configurations for use in company-managed (classic) projects.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createFieldConfiguration
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              description: My field configuration description
              name: My Field Configuration
            schema:
              $ref: "#/components/schemas/FieldConfigurationDetails"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"id":10001,"name":"My Field Configuration","description":"My field configuration description"}'
              schema:
                $ref: "#/components/schemas/FieldConfiguration"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Create field configuration
      tags:
        - Issue field configurations
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field-configuration:jira
            - write:field-configuration:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/fieldconfiguration/{id}":
    delete:
      deprecated: false
      description: |-
        Deletes a field configuration.

        This operation can only delete configurations used in company-managed (classic) projects.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteFieldConfiguration
      parameters:
        - description: The ID of the field configuration.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the field configuration is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete field configuration
      tags:
        - Issue field configurations
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:field-configuration:jira
          state: Beta
      x-experimental: true
    put:
      deprecated: false
      description: |-
        Updates a field configuration. The name and the description provided in the request override the existing values.

        This operation can only update configurations used in company-managed (classic) projects.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateFieldConfiguration
      parameters:
        - description: The ID of the field configuration.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              description: A brand new description
              name: My Modified Field Configuration
            schema:
              $ref: "#/components/schemas/FieldConfigurationDetails"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the field configuration is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update field configuration
      tags:
        - Issue field configurations
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:field-configuration:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/fieldconfiguration/{id}/fields":
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of all fields for a configuration.

        Only the fields from configurations used in company-managed (classic) projects are returned.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getFieldConfigurationItems
      parameters:
        - description: The ID of the field configuration.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":50,"startAt":0,"total":2,"isLast":true,"values":[{"id":"environment","description":"For example operating system, software platform and/or hardware specifications (include as appropriate for the issue).","isHidden":false,"isRequired":false},{"id":"description","isHidden":false,"isRequired":false}]}'
              schema:
                $ref: "#/components/schemas/PageBeanFieldConfigurationItem"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the field configuration is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get field configuration items
      tags:
        - Issue field configurations
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field-configuration:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Updates fields in a field configuration. The properties of the field configuration fields provided override the existing values.

        This operation can only update field configurations used in company-managed (classic) projects.

        The operation can set the renderer for text fields to the default text renderer (`text-renderer`) or wiki style renderer (`wiki-renderer`). However, the renderer cannot be updated for fields using the autocomplete renderer (`autocomplete-renderer`).

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateFieldConfigurationItems
      parameters:
        - description: The ID of the field configuration.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              fieldConfigurationItems:
                - description: The new description of this item.
                  id: customfield_10012
                  isHidden: false
                - id: customfield_10011
                  isRequired: true
                - description: Another new description.
                  id: customfield_10010
                  isHidden: false
                  isRequired: false
                  renderer: wiki-renderer
            schema:
              $ref: "#/components/schemas/FieldConfigurationItemsDetails"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the field configuration is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update field configuration items
      tags:
        - Issue field configurations
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:field-configuration:jira
          state: Beta
      x-experimental: true
  /rest/api/3/fieldconfigurationscheme:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of field configuration schemes.

        Only field configuration schemes used in classic projects are returned.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getAllFieldConfigurationSchemes
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: The list of field configuration scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.
          in: query
          name: id
          schema:
            items:
              format: int64
              type: integer
            type: array
            uniqueItems: true
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":10,"startAt":0,"total":3,"isLast":true,"values":[{"id":"10000","name":"Field Configuration Scheme for Bugs","description":"This field configuration scheme is for bugs only."},{"id":"10001","name":"Field Configuration Scheme for software related projects","description":"We can use this one for software projects."},{"id":"10002","name":"Field Configuration Scheme for Epics","description":"Use this one for Epic issue type."}]}'
              schema:
                $ref: "#/components/schemas/PageBeanFieldConfigurationScheme"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get all field configuration schemes
      tags:
        - Issue field configurations
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field-configuration-scheme:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates a field configuration scheme.

        This operation can only create field configuration schemes used in company-managed (classic) projects.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createFieldConfigurationScheme
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              description: We can use this one for software projects.
              name: Field Configuration Scheme for software related projects
            schema:
              $ref: "#/components/schemas/UpdateFieldConfigurationSchemeDetails"
        description: The details of the field configuration scheme.
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"id":"10002","name":"Field Configuration Scheme for software related projects","description":"We can use this one for software projects."}'
              schema:
                $ref: "#/components/schemas/FieldConfigurationScheme"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["A field configuration scheme is using this name."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access field configurations."],"errors":{}}'
          description: Returned if the user does not have the necessary permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Create field configuration scheme
      tags:
        - Issue field configurations
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:field-configuration-scheme:jira
            - read:field-configuration-scheme:jira
          state: Beta
      x-experimental: true
  /rest/api/3/fieldconfigurationscheme/mapping:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of field configuration issue type items.

        Only items used in classic projects are returned.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getFieldConfigurationSchemeMappings
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: "The list of field configuration scheme IDs. To include multiple field configuration schemes separate IDs with ampersand: `fieldConfigurationSchemeId=10000&fieldConfigurationSchemeId=10001`."
          in: query
          name: fieldConfigurationSchemeId
          schema:
            items:
              example: 10020
              format: int64
              type: integer
            maxItems: 50
            minItems: 1
            type: array
            uniqueItems: true
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":100,"startAt":0,"total":5,"isLast":true,"values":[{"fieldConfigurationSchemeId":"10020","issueTypeId":"10000","fieldConfigurationId":"10010"},{"fieldConfigurationSchemeId":"10020","issueTypeId":"10001","fieldConfigurationId":"10010"},{"fieldConfigurationSchemeId":"10021","issueTypeId":"10002","fieldConfigurationId":"10000"},{"fieldConfigurationSchemeId":"10022","issueTypeId":"default","fieldConfigurationId":"10011"},{"fieldConfigurationSchemeId":"10023","issueTypeId":"default","fieldConfigurationId":"10000"}]}'
              schema:
                $ref: "#/components/schemas/PageBeanFieldConfigurationIssueTypeItem"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if no field configuration schemes are found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get field configuration issue type items
      tags:
        - Issue field configurations
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field-configuration-scheme:jira
          state: Beta
  /rest/api/3/fieldconfigurationscheme/project:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of field configuration schemes and, for each scheme, a list of the projects that use it.

        The list is sorted by field configuration scheme ID. The first item contains the list of project IDs assigned to the default field configuration scheme.

        Only field configuration schemes used in classic projects are returned.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getFieldConfigurationSchemeProjectMapping
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: "The list of project IDs. To include multiple projects, separate IDs with ampersand: `projectId=10000&projectId=10001`."
          in: query
          name: projectId
          required: true
          schema:
            items:
              format: int64
              type: integer
            type: array
            uniqueItems: true
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":50,"startAt":0,"total":5,"isLast":true,"values":[{"projectIds":["10","11"]},{"fieldConfigurationScheme":{"id":"10002","name":"Field Configuration Scheme for software related projects","description":"We can use this one for software projects."},"projectIds":["12","13","14"]}]}'
              schema:
                $ref: "#/components/schemas/PageBeanFieldConfigurationSchemeProjects"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get field configuration schemes for projects
      tags:
        - Issue field configurations
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field-configuration-scheme:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Assigns a field configuration scheme to a project. If the field configuration scheme ID is `null`, the operation assigns the default field configuration scheme.

        Field configuration schemes can only be assigned to classic projects.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: assignFieldConfigurationSchemeToProject
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              fieldConfigurationSchemeId: "10000"
              projectId: "10000"
            schema:
              $ref: "#/components/schemas/FieldConfigurationSchemeProjectAssociation"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["Only classic projects can have field configuration schemes assigned."],"errors":{}}'
          description: Returned if the project is not a classic project.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access field configurations."],"errors":{}}'
          description: Returned if the user does not have the necessary permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The project was not found."],"errors":{}}'
          description: Returned if the project is missing.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Assign field configuration scheme to project
      tags:
        - Issue field configurations
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:field-configuration-scheme:jira
          state: Beta
  "/rest/api/3/fieldconfigurationscheme/{id}":
    delete:
      deprecated: false
      description: |-
        Deletes a field configuration scheme.

        This operation can only delete field configuration schemes used in company-managed (classic) projects.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteFieldConfigurationScheme
      parameters:
        - description: The ID of the field configuration scheme.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the field configuration scheme is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete field configuration scheme
      tags:
        - Issue field configurations
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:field-configuration-scheme:jira
          state: Beta
      x-experimental: true
    put:
      deprecated: false
      description: |-
        Updates a field configuration scheme.

        This operation can only update field configuration schemes used in company-managed (classic) projects.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateFieldConfigurationScheme
      parameters:
        - description: The ID of the field configuration scheme.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              description: We can use this one for software projects.
              name: Field Configuration Scheme for software related projects
            schema:
              $ref: "#/components/schemas/UpdateFieldConfigurationSchemeDetails"
        description: The details of the field configuration scheme.
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["A field configuration scheme is using this name."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access field configurations."],"errors":{}}'
          description: Returned if the user does not have the necessary permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The field configuration scheme was not found."],"errors":{}}'
          description: Returned if the field configuration scheme is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update field configuration scheme
      tags:
        - Issue field configurations
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:field-configuration-scheme:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/fieldconfigurationscheme/{id}/mapping":
    put:
      deprecated: false
      description: |-
        Assigns issue types to field configurations on field configuration scheme.

        This operation can only modify field configuration schemes used in company-managed (classic) projects.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: setFieldConfigurationSchemeMapping
      parameters:
        - description: The ID of the field configuration scheme.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              mappings:
                - fieldConfigurationId: "10000"
                  issueTypeId: default
                - fieldConfigurationId: "10002"
                  issueTypeId: "10001"
                - fieldConfigurationId: "10001"
                  issueTypeId: "10002"
            schema:
              $ref: "#/components/schemas/AssociateFieldConfigurationsWithIssueTypesRequest"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the field configuration scheme, the field configuration, or the issue type is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Assign issue types to field configurations
      tags:
        - Issue field configurations
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:field-configuration-scheme:jira
            - read:field-configuration-scheme:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/fieldconfigurationscheme/{id}/mapping/delete":
    post:
      deprecated: false
      description: |-
        Removes issue types from the field configuration scheme.

        This operation can only modify field configuration schemes used in company-managed (classic) projects.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: removeIssueTypesFromGlobalFieldConfigurationScheme
      parameters:
        - description: The ID of the field configuration scheme.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              issueTypeIds:
                - "10000"
                - "10001"
                - "10002"
            schema:
              $ref: "#/components/schemas/IssueTypeIdsToRemove"
        description: The issue type IDs to remove.
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The issueTypeIds must not contain duplicates."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is not valid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access field configurations."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user does not have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The field configuration scheme was not found."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the field configuration scheme or the issue types are not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Remove issue types from field configuration scheme
      tags:
        - Issue field configurations
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:field-configuration-scheme:jira
          state: Beta
      x-experimental: true
  /rest/api/3/filter:
    post:
      deprecated: false
      description: |-
        Creates a filter. The filter is shared according to the [default share scope](#api-rest-api-3-filter-post). The filter is not selected as a favorite.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: createFilter
      parameters:
        - description: |-
            Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.
             *  `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.
          in: query
          name: expand
          schema:
            type: string
        - description: "EXPERIMENTAL: Whether share permissions are overridden to enable filters with any share permissions to be created. Available to users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)."
          in: query
          name: overrideSharePermissions
          schema:
            default: false
            type: boolean
      requestBody:
        content:
          application/json:
            example:
              description: Lists all open bugs
              jql: type = Bug and resolution is empty
              name: All Open Bugs
            schema:
              $ref: "#/components/schemas/Filter"
        description: The filter to create.
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/filter/10000","id":"10000","name":"All Open Bugs","description":"Lists all open bugs","owner":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"jql":"type = Bug and resolution is empty","viewUrl":"https://your-domain.atlassian.net/issues/?filter=10000","searchUrl":"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty","favourite":true,"favouritedCount":0,"sharePermissions":[],"editPermissions":[],"subscriptions":{"size":0,"items":[],"max-results":0,"start-index":0,"end-index":0}}'
              schema:
                $ref: "#/components/schemas/Filter"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request object is invalid. For example, the `name` is not unique or the project ID is not specified for a project role share permission.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Create filter
      tags:
        - Filters
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:filter:jira
            - read:group:jira
            - read:project:jira
            - read:project-role:jira
            - read:user:jira
            - write:filter:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:issue-type-hierarchy:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project-version:jira
            - read:project.component:jira
          state: Beta
  /rest/api/3/filter/defaultShareScope:
    get:
      deprecated: false
      description: |-
        Returns the default sharing settings for new filters and dashboards for a user.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: getDefaultShareScope
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '{"scope":"GLOBAL"}'
              schema:
                $ref: "#/components/schemas/DefaultShareScope"
          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: Get default share scope
      tags:
        - Filter sharing
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:filter.default-share-scope:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Sets the default sharing for new filters and dashboards for a user.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: setDefaultShareScope
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              scope: GLOBAL
            schema:
              $ref: "#/components/schemas/DefaultShareScope"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"scope":"GLOBAL"}'
              schema:
                $ref: "#/components/schemas/DefaultShareScope"
          description: Returned if the request is successful.
        "400":
          description: Returned if an invalid scope is set.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Set default share scope
      tags:
        - Filter sharing
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:filter.default-share-scope:jira
            - read:filter.default-share-scope:jira
          state: Beta
  /rest/api/3/filter/favourite:
    get:
      deprecated: false
      description: |-
        Returns the visible favorite filters of the user.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** A favorite filter is only visible to the user where the filter is:

         *  owned by the user.
         *  shared with a group that the user is a member of.
         *  shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.
         *  shared with a public project.
         *  shared with the public.

        For example, if the user favorites a public filter that is subsequently made private that filter is not returned by this operation.
      operationId: getFavouriteFilters
      parameters:
        - description: |-
            Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.
             *  `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/filter/10000","id":"10000","name":"All Open Bugs","description":"Lists all open bugs","owner":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"jql":"type = Bug and resolution is empty","viewUrl":"https://your-domain.atlassian.net/issues/?filter=10000","searchUrl":"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty","favourite":true,"favouritedCount":0,"sharePermissions":[],"editPermissions":[],"subscriptions":{"size":0,"items":[],"max-results":0,"start-index":0,"end-index":0}},{"self":"https://your-domain.atlassian.net/rest/api/3/filter/10010","id":"10010","name":"My issues","description":"Issues assigned to me","owner":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"jql":"assignee = currentUser() and resolution is empty","viewUrl":"https://your-domain.atlassian.net/issues/?filter=10010","searchUrl":"https://your-domain.atlassian.net/rest/api/3/search?jql=assignee+in+%28currentUser%28%29%29+and+resolution+is+empty","favourite":true,"favouritedCount":0,"sharePermissions":[{"id":10000,"type":"global"},{"id":10010,"type":"project","project":{"self":"https://your-domain.atlassian.net/rest/api/3/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000","24x24":"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000","16x16":"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000","32x32":"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"},"simplified":false,"style":"classic","insight":{"totalIssueCount":100,"lastIssueUpdateTime":"2023-04-21T12:39:27.599+0000"}}}],"editPermissions":[],"subscriptions":{"size":0,"items":[],"max-results":0,"start-index":0,"end-index":0}}]'
              schema:
                items:
                  $ref: "#/components/schemas/Filter"
                type: array
          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: Get favorite filters
      tags:
        - Filters
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:filter:jira
            - read:group:jira
            - read:project:jira
            - read:project-role:jira
            - read:user:jira
            - read:jql:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:issue-type-hierarchy:jira
          state: Beta
  /rest/api/3/filter/my:
    get:
      deprecated: false
      description: |-
        Returns the filters owned by the user. If `includeFavourites` is `true`, the user's visible favorite filters are also returned.

        **[Permissions](#permissions) required:** Permission to access Jira, however, a favorite filters is only visible to the user where the filter is:

         *  owned by the user.
         *  shared with a group that the user is a member of.
         *  shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.
         *  shared with a public project.
         *  shared with the public.

        For example, if the user favorites a public filter that is subsequently made private that filter is not returned by this operation.
      operationId: getMyFilters
      parameters:
        - description: |-
            Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.
             *  `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.
          in: query
          name: expand
          schema:
            type: string
        - description: Include the user's favorite filters in the response.
          in: query
          name: includeFavourites
          schema:
            default: false
            type: boolean
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/filter/10000","id":"10000","name":"All Open Bugs","description":"Lists all open bugs","owner":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"jql":"type = Bug and resolution is empty","viewUrl":"https://your-domain.atlassian.net/issues/?filter=10000","searchUrl":"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty","favourite":true,"favouritedCount":0,"sharePermissions":[],"editPermissions":[],"subscriptions":{"size":0,"items":[],"max-results":0,"start-index":0,"end-index":0}},{"self":"https://your-domain.atlassian.net/rest/api/3/filter/10010","id":"10010","name":"My issues","description":"Issues assigned to me","owner":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"jql":"assignee = currentUser() and resolution is empty","viewUrl":"https://your-domain.atlassian.net/issues/?filter=10010","searchUrl":"https://your-domain.atlassian.net/rest/api/3/search?jql=assignee+in+%28currentUser%28%29%29+and+resolution+is+empty","favourite":true,"favouritedCount":0,"sharePermissions":[{"id":10000,"type":"global"},{"id":10010,"type":"project","project":{"self":"https://your-domain.atlassian.net/rest/api/3/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000","24x24":"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000","16x16":"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000","32x32":"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"},"simplified":false,"style":"classic","insight":{"totalIssueCount":100,"lastIssueUpdateTime":"2023-04-21T12:39:27.599+0000"}}}],"editPermissions":[],"subscriptions":{"size":0,"items":[],"max-results":0,"start-index":0,"end-index":0}}]'
              schema:
                items:
                  $ref: "#/components/schemas/Filter"
                type: array
          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: Get my filters
      tags:
        - Filters
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:filter:jira
            - read:group:jira
            - read:project:jira
            - read:project-role:jira
            - read:user:jira
            - read:jql:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:issue-type-hierarchy:jira
          state: Beta
  /rest/api/3/filter/search:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of filters. Use this operation to get:

         *  specific filters, by defining `id` only.
         *  filters that match all of the specified attributes. For example, all filters for a user with a particular word in their name. When multiple attributes are specified only filters matching all attributes are returned.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None, however, only the following filters that match the query parameters are returned:

         *  filters owned by the user.
         *  filters shared with a group that the user is a member of.
         *  filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.
         *  filters shared with a public project.
         *  filters shared with the public.
      operationId: getFiltersPaginated
      parameters:
        - description: String used to perform a case-insensitive partial match with `name`.
          in: query
          name: filterName
          schema:
            type: string
        - description: User account ID used to return filters with the matching `owner.accountId`. This parameter cannot be used with `owner`.
          in: query
          name: accountId
          schema:
            maxLength: 128
            type: string
        - description: This parameter is deprecated because of privacy changes. Use `accountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. User name used to return filters with the matching `owner.name`. This parameter cannot be used with `accountId`.
          in: query
          name: owner
          schema:
            type: string
        - description: As a group's name can change, use of `groupId` is recommended to identify a group. Group name used to returns filters that are shared with a group that matches `sharePermissions.group.groupname`. This parameter cannot be used with the `groupId` parameter.
          in: query
          name: groupname
          schema:
            type: string
        - description: Group ID used to returns filters that are shared with a group that matches `sharePermissions.group.groupId`. This parameter cannot be used with the `groupname` parameter.
          in: query
          name: groupId
          schema:
            type: string
        - description: Project ID used to returns filters that are shared with a project that matches `sharePermissions.project.id`.
          in: query
          name: projectId
          schema:
            format: int64
            type: integer
        - description: The list of filter IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`. Do not exceed 200 filter IDs.
          in: query
          name: id
          schema:
            items:
              format: int64
              type: integer
            type: array
            uniqueItems: true
        - description: |-
            [Order](#ordering) the results by a field:

             *  `description` Sorts by filter description. Note that this sorting works independently of whether the expand to display the description field is in use.
             *  `favourite_count` Sorts by the count of how many users have this filter as a favorite.
             *  `is_favourite` Sorts by whether the filter is marked as a favorite.
             *  `id` Sorts by filter ID.
             *  `name` Sorts by filter name.
             *  `owner` Sorts by the ID of the filter owner.
             *  `is_shared` Sorts by whether the filter is shared.
          in: query
          name: orderBy
          schema:
            default: name
            enum:
              - description
              - -description
              - +description
              - favourite_count
              - -favourite_count
              - +favourite_count
              - id
              - -id
              - +id
              - is_favourite
              - -is_favourite
              - +is_favourite
              - name
              - -name
              - +name
              - owner
              - -owner
              - +owner
              - is_shared
              - -is_shared
              - +is_shared
            type: string
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: |-
            Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `description` Returns the description of the filter.
             *  `favourite` Returns an indicator of whether the user has set the filter as a favorite.
             *  `favouritedCount` Returns a count of how many users have set this filter as a favorite.
             *  `jql` Returns the JQL query that the filter uses.
             *  `owner` Returns the owner of the filter.
             *  `searchUrl` Returns a URL to perform the filter's JQL query.
             *  `sharePermissions` Returns the share permissions defined for the filter.
             *  `editPermissions` Returns the edit permissions defined for the filter.
             *  `isWritable` Returns whether the current user has permission to edit the filter.
             *  `subscriptions` Returns the users that are subscribed to the filter.
             *  `viewUrl` Returns a URL to view the filter.
          in: query
          name: expand
          schema:
            type: string
        - description: "EXPERIMENTAL: Whether share permissions are overridden to enable filters with any share permissions to be returned. Available to users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)."
          in: query
          name: overrideSharePermissions
          schema:
            default: false
            type: boolean
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/filter/search?accountId=&maxResults=50&filterName=&orderBy=name&startAt=0&expand=description,owner,jql,searchUrl,viewUrl,favourite,favouritedCount,sharePermissions,editPermissions,isWritable,subscriptions","maxResults":100,"startAt":0,"total":2,"isLast":true,"values":[{"expand":"description,owner,jql,searchUrl,viewUrl,favourite,favouritedCount,sharePermissions,editPermissions,isWritable,subscriptions","self":"https://your-domain.atlassian.net/rest/api/3/filter/10000","id":"10000","name":"All Open Bugs","description":"Lists all open bugs","owner":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"jql":"type = Bug and resolution is empty","viewUrl":"https://your-domain.atlassian.net/issues/?filter=10000","searchUrl":"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty","favourite":false,"favouritedCount":0,"sharePermissions":[],"editPermissions":[],"subscriptions":[]},{"expand":"description,owner,jql,searchUrl,viewUrl,favourite,favouritedCount,sharePermissions,editPermissions,isWritable,subscriptions","self":"https://your-domain.atlassian.net/rest/api/3/filter/10010","id":"10010","name":"My issues","description":"Issues assigned to me","owner":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"jql":"assignee = currentUser() and resolution is empty","viewUrl":"https://your-domain.atlassian.net/issues/?filter=10010","searchUrl":"https://your-domain.atlassian.net/rest/api/3/search?jql=assignee+in+%28currentUser%28%29%29+and+resolution+is+empty","favourite":true,"favouritedCount":123,"sharePermissions":[{"id":10000,"type":"global"},{"id":10010,"type":"project","project":{"self":"https://your-domain.atlassian.net/rest/api/3/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000","24x24":"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000","16x16":"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000","32x32":"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"},"simplified":false,"style":"classic","insight":{"totalIssueCount":100,"lastIssueUpdateTime":"2023-04-21T12:39:27.599+0000"}}}],"editPermissions":[{"id":10010,"type":"project","project":{"self":"https://your-domain.atlassian.net/rest/api/3/project/MKY","id":"10002","key":"MKY","name":"Example","avatarUrls":{"48x48":"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10002","24x24":"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10002","16x16":"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10002","32x32":"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10002"},"projectCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"},"simplified":false,"style":"classic","insight":{"totalIssueCount":100,"lastIssueUpdateTime":"2023-04-21T12:39:27.599+0000"},"deleted":true,"retentionTillDate":"2023-06-20T12:39:27.599+0000","deletedDate":"2023-04-21T12:39:27.600+0000","deletedBy":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false}},"role":{"self":"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers","actorGroup":{"name":"jira-developers","displayName":"jira-developers","groupId":"952d12c3-5b5b-4d04-bb32-44d383afc4b2"}},{"id":10241,"displayName":"Mia Krystof","type":"atlassian-user-role-actor","actorUser":{"accountId":"5b10a2844c20165700ede21g"}}],"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}}},{"id":10010,"type":"group","group":{"name":"jira-administrators","groupId":"276f955c-63d7-42c8-9520-92d01dca0625","self":"https://your-domain.atlassian.net/rest/api/3/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625"}}],"subscriptions":[{"id":1,"user":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","emailAddress":"mia@example.com","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":true,"timeZone":"Australia/Sydney","groups":{"size":3,"items":[]},"applicationRoles":{"size":1,"items":[]}}}]}]}'
              schema:
                $ref: "#/components/schemas/PageBeanFilterDetails"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: |-
            Returned if:

             *  `owner` and `accountId` are provided.
             *  `expand` includes an invalid value.
             *  `orderBy` is invalid.
             *  `id` identifies more than 200 filter IDs.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Search for filters
      tags:
        - Filters
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:filter:jira
            - read:group:jira
            - read:project:jira
            - read:project-role:jira
            - read:user:jira
            - read:jql:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:issue-type-hierarchy:jira
          state: Beta
  "/rest/api/3/filter/{id}":
    delete:
      deprecated: false
      description: |-
        Delete a filter.

        **[Permissions](#permissions) required:** Permission to access Jira, however filters can only be deleted by the creator of the filter or a user with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteFilter
      parameters:
        - description: The ID of the filter to delete.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          description: Returned if the request is successful.
        "400":
          description: Returned if the filter is not found.
        "401":
          description: Returned if the user does not have permission to delete the filter.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Delete filter
      tags:
        - Filters
      x-atlassian-connect-scope: DELETE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:filter:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns a filter.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None, however, the filter is only returned where it is:

         *  owned by the user.
         *  shared with a group that the user is a member of.
         *  shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.
         *  shared with a public project.
         *  shared with the public.
      operationId: getFilter
      parameters:
        - description: The ID of the filter to return.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: |-
            Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.
             *  `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.
          in: query
          name: expand
          schema:
            type: string
        - description: "EXPERIMENTAL: Whether share permissions are overridden to enable filters with any share permissions to be returned. Available to users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)."
          in: query
          name: overrideSharePermissions
          schema:
            default: false
            type: boolean
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/filter/10000","id":"10000","name":"All Open Bugs","description":"Lists all open bugs","owner":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"jql":"type = Bug and resolution is empty","viewUrl":"https://your-domain.atlassian.net/issues/?filter=10000","searchUrl":"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty","favourite":true,"favouritedCount":0,"sharePermissions":[],"editPermissions":[],"subscriptions":{"size":0,"items":[],"max-results":0,"start-index":0,"end-index":0}}'
              schema:
                $ref: "#/components/schemas/Filter"
          description: Returned if the request is successful.
        "400":
          description: Returned if the filter is not found or the user does not have permission to view it.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get filter
      tags:
        - Filters
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:filter:jira
            - read:group:jira
            - read:project:jira
            - read:project-role:jira
            - read:user:jira
            - read:jql:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:issue-type-hierarchy:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Updates a filter. Use this operation to update a filter's name, description, JQL, or sharing.

        **[Permissions](#permissions) required:** Permission to access Jira, however the user must own the filter.
      operationId: updateFilter
      parameters:
        - description: The ID of the filter to update.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: |-
            Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.
             *  `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.
          in: query
          name: expand
          schema:
            type: string
        - description: "EXPERIMENTAL: Whether share permissions are overridden to enable the addition of any share permissions to filters. Available to users with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)."
          in: query
          name: overrideSharePermissions
          schema:
            default: false
            type: boolean
      requestBody:
        content:
          application/json:
            example:
              description: Lists all open bugs
              jql: type = Bug and resolution is empty
              name: All Open Bugs
            schema:
              $ref: "#/components/schemas/Filter"
        description: The filter to update.
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/filter/10000","id":"10000","name":"All Open Bugs","description":"Lists all open bugs","owner":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"jql":"type = Bug and resolution is empty","viewUrl":"https://your-domain.atlassian.net/issues/?filter=10000","searchUrl":"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty","favourite":true,"favouritedCount":0,"sharePermissions":[],"editPermissions":[],"subscriptions":{"size":0,"items":[],"max-results":0,"start-index":0,"end-index":0}}'
              schema:
                $ref: "#/components/schemas/Filter"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request object is invalid. For example, the `name` is not unique or the project ID is not specified for a project role share permission.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Update filter
      tags:
        - Filters
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:filter:jira
            - read:filter:jira
            - read:group:jira
            - read:project:jira
            - read:project-role:jira
            - read:user:jira
            - read:jql:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:issue-type-hierarchy:jira
          state: Beta
  "/rest/api/3/filter/{id}/columns":
    delete:
      deprecated: false
      description: |-
        Reset the user's column configuration for the filter to the default.

        **[Permissions](#permissions) required:** Permission to access Jira, however, columns are only reset for:

         *  filters owned by the user.
         *  filters shared with a group that the user is a member of.
         *  filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.
         *  filters shared with a public project.
         *  filters shared with the public.
      operationId: resetColumns
      parameters:
        - description: The ID of the filter.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if:

             *  the filter is not found.
             *  the user does not have permission to view the filter.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Reset columns
      tags:
        - Filters
      x-atlassian-connect-scope: DELETE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - delete:filter.column:jira
          state: Beta
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
    get:
      deprecated: false
      description: |-
        Returns the columns configured for a filter. The column configuration is used when the filter's results are viewed in *List View* with the *Columns* set to *Filter*.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None, however, column details are only returned for:

         *  filters owned by the user.
         *  filters shared with a group that the user is a member of.
         *  filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.
         *  filters shared with a public project.
         *  filters shared with the public.
      operationId: getColumns
      parameters:
        - description: The ID of the filter.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '[{"label":"Key","value":"issuekey"},{"label":"Summary","value":"summary"}]'
              schema:
                items:
                  $ref: "#/components/schemas/ColumnItem"
                type: array
          description: Returned if the request is successful.
        "400":
          description: Returned if the user does not have permission to view the filter.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if a column configuration is not set for the filter.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get columns
      tags:
        - Filters
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:filter.column:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Sets the columns for a filter. Only navigable fields can be set as columns. Use [Get fields](#api-rest-api-3-field-get) to get the list fields in Jira. A navigable field has `navigable` set to `true`.

        The parameters for this resource are expressed as HTML form data. For example, in curl:

        `curl -X PUT -d columns=summary -d columns=description https://your-domain.atlassian.net/rest/api/3/filter/10000/columns`

        **[Permissions](#permissions) required:** Permission to access Jira, however, columns are only set for:

         *  filters owned by the user.
         *  filters shared with a group that the user is a member of.
         *  filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.
         *  filters shared with a public project.
         *  filters shared with the public.
      operationId: setColumns
      parameters:
        - description: The ID of the filter.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          "*/*":
            schema:
              items:
                type: string
              type: array
          multipart/form-data:
            schema:
              items:
                type: string
              type: array
        description: The IDs of the fields to set as columns. In the form data, specify each field as `columns=id`, where `id` is the *id* of a field (as seen in the response for [Get fields](#api-rest-api-<ver>-field-get)). For example, `columns=summary`.
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if:

             *  a non-navigable field is set as a column.
             *  the user does not have permission to view the filter.
        "403":
          description: Returned if the requesting user is not an owner of the filter.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Set columns
      tags:
        - Filters
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:filter.column:jira
          state: Beta
  "/rest/api/3/filter/{id}/favourite":
    delete:
      deprecated: false
      description: |-
        Removes a filter as a favorite for the user. Note that this operation only removes filters visible to the user from the user's favorites list. For example, if the user favorites a public filter that is subsequently made private (and is therefore no longer visible on their favorites list) they cannot remove it from their favorites list.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: deleteFavouriteForFilter
      parameters:
        - description: The ID of the filter.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: |-
            Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.
             *  `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/filter/10000","id":"10000","name":"All Open Bugs","description":"Lists all open bugs","owner":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"jql":"type = Bug and resolution is empty","viewUrl":"https://your-domain.atlassian.net/issues/?filter=10000","searchUrl":"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty","favourite":true,"favouritedCount":0,"sharePermissions":[],"editPermissions":[],"subscriptions":{"size":0,"items":[],"max-results":0,"start-index":0,"end-index":0}}'
              schema:
                $ref: "#/components/schemas/Filter"
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if:

             *  the filter is not found.
             *  the user does not have permission to view the filter.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Remove filter as favorite
      tags:
        - Filters
      x-atlassian-connect-scope: DELETE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:filter:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:filter:jira
            - read:group:jira
            - read:issue-type-hierarchy:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project-role:jira
            - read:project-version:jira
            - read:project.component:jira
            - read:project:jira
            - read:user:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Add a filter as a favorite for the user.

        **[Permissions](#permissions) required:** Permission to access Jira, however, the user can only favorite:

         *  filters owned by the user.
         *  filters shared with a group that the user is a member of.
         *  filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.
         *  filters shared with a public project.
         *  filters shared with the public.
      operationId: setFavouriteForFilter
      parameters:
        - description: The ID of the filter.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: |-
            Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.
             *  `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/filter/10000","id":"10000","name":"All Open Bugs","description":"Lists all open bugs","owner":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"jql":"type = Bug and resolution is empty","viewUrl":"https://your-domain.atlassian.net/issues/?filter=10000","searchUrl":"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty","favourite":true,"favouritedCount":0,"sharePermissions":[],"editPermissions":[],"subscriptions":{"size":0,"items":[],"max-results":0,"start-index":0,"end-index":0}}'
              schema:
                $ref: "#/components/schemas/Filter"
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if:

             *  the filter is not found.
             *  the user does not have permission to favorite the filter.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Add filter as favorite
      tags:
        - Filters
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:filter:jira
            - read:group:jira
            - read:project:jira
            - read:project-role:jira
            - read:user:jira
            - write:filter:jira
            - read:jql:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:issue-type-hierarchy:jira
          state: Beta
  "/rest/api/3/filter/{id}/owner":
    put:
      deprecated: false
      description: |-
        Changes the owner of the filter.

        **[Permissions](#permissions) required:** Permission to access Jira. However, the user must own the filter or have the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: changeFilterOwner
      parameters:
        - description: The ID of the filter to update.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              accountId: 0000-0000-0000-0000
            schema:
              $ref: "#/components/schemas/ChangeFilterOwner"
        description: The account ID of the new owner of the filter.
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned when:

             *  The new owner of the filter owns a filter with the same name.
             *  An attempt is made to change owner of the default filter.
        "403":
          description: Returned if the requesting user is not an owner of the filter or does not have *Administer Jira* global permission.
        "404":
          description: Returned if the filter or the new owner of the filter is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Change filter owner
      tags:
        - Filters
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:filter:jira
            - write:filter:jira
          state: Beta
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
      x-experimental: true
  "/rest/api/3/filter/{id}/permission":
    get:
      deprecated: false
      description: |-
        Returns the share permissions for a filter. A filter can be shared with groups, projects, all logged-in users, or the public. Sharing with all logged-in users or the public is known as a global share permission.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None, however, share permissions are only returned for:

         *  filters owned by the user.
         *  filters shared with a group that the user is a member of.
         *  filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.
         *  filters shared with a public project.
         *  filters shared with the public.
      operationId: getSharePermissions
      parameters:
        - description: The ID of the filter.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '[{"id":10000,"type":"global"},{"id":10010,"type":"project","project":{"self":"https://your-domain.atlassian.net/rest/api/3/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000","24x24":"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000","16x16":"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000","32x32":"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"},"simplified":false,"style":"classic","insight":{"totalIssueCount":100,"lastIssueUpdateTime":"2023-04-21T12:39:27.599+0000"}}},{"id":10010,"type":"project","project":{"self":"https://your-domain.atlassian.net/rest/api/3/project/MKY","id":"10002","key":"MKY","name":"Example","avatarUrls":{"48x48":"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10002","24x24":"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10002","16x16":"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10002","32x32":"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10002"},"projectCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"},"simplified":false,"style":"classic","insight":{"totalIssueCount":100,"lastIssueUpdateTime":"2023-04-21T12:39:27.599+0000"},"deleted":true,"retentionTillDate":"2023-06-20T12:39:27.599+0000","deletedDate":"2023-04-21T12:39:27.600+0000","deletedBy":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false}},"role":{"self":"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers","actorGroup":{"name":"jira-developers","displayName":"jira-developers","groupId":"952d12c3-5b5b-4d04-bb32-44d383afc4b2"}},{"id":10241,"displayName":"Mia Krystof","type":"atlassian-user-role-actor","actorUser":{"accountId":"5b10a2844c20165700ede21g"}}],"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}}},{"id":10010,"type":"group","group":{"name":"jira-administrators","groupId":"276f955c-63d7-42c8-9520-92d01dca0625","self":"https://your-domain.atlassian.net/rest/api/3/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625"}}]'
              schema:
                items:
                  $ref: "#/components/schemas/SharePermission"
                type: array
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: |-
            Returned if:

             *  the filter is not found.
             *  the user does not have permission to view the filter.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get share permissions
      tags:
        - Filter sharing
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:filter:jira
            - read:group:jira
            - read:project:jira
            - read:user:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:issue-type-hierarchy:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project-role:jira
            - read:project-version:jira
            - read:project.component:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Add a share permissions to a filter. If you add a global share permission (one for all logged-in users or the public) it will overwrite all share permissions for the filter.

        Be aware that this operation uses different objects for updating share permissions compared to [Update filter](#api-rest-api-3-filter-id-put).

        **[Permissions](#permissions) required:** *Share dashboards and filters* [global permission](https://confluence.atlassian.com/x/x4dKLg) and the user must own the filter.
      operationId: addSharePermission
      parameters:
        - description: The ID of the filter.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              groupname: jira-administrators
              rights: 1
              type: group
            schema:
              $ref: "#/components/schemas/SharePermissionInputBean"
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '[{"id":10000,"type":"global"},{"id":10010,"type":"project","project":{"self":"https://your-domain.atlassian.net/rest/api/3/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000","24x24":"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000","16x16":"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000","32x32":"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"},"simplified":false,"style":"classic","insight":{"totalIssueCount":100,"lastIssueUpdateTime":"2023-04-21T12:39:27.599+0000"}}},{"id":10010,"type":"project","project":{"self":"https://your-domain.atlassian.net/rest/api/3/project/MKY","id":"10002","key":"MKY","name":"Example","avatarUrls":{"48x48":"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10002","24x24":"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10002","16x16":"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10002","32x32":"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10002"},"projectCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"},"simplified":false,"style":"classic","insight":{"totalIssueCount":100,"lastIssueUpdateTime":"2023-04-21T12:39:27.599+0000"},"deleted":true,"retentionTillDate":"2023-06-20T12:39:27.599+0000","deletedDate":"2023-04-21T12:39:27.600+0000","deletedBy":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false}},"role":{"self":"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers","actorGroup":{"name":"jira-developers","displayName":"jira-developers","groupId":"952d12c3-5b5b-4d04-bb32-44d383afc4b2"}},{"id":10241,"displayName":"Mia Krystof","type":"atlassian-user-role-actor","actorUser":{"accountId":"5b10a2844c20165700ede21g"}}],"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}}},{"id":10010,"type":"group","group":{"name":"jira-administrators","groupId":"276f955c-63d7-42c8-9520-92d01dca0625","self":"https://your-domain.atlassian.net/rest/api/3/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625"}}]'
              schema:
                items:
                  $ref: "#/components/schemas/SharePermission"
                type: array
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if:

             *  the request object is invalid. For example, it contains an invalid type, the ID does not match the type, or the project or group is not found.
             *  the user does not own the filter.
             *  the user does not have the required permissions.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: |-
            Returned if:

             *  the filter is not found.
             *  the user does not have permission to view the filter.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Add share permission
      tags:
        - Filter sharing
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:filter:jira
            - read:filter:jira
            - read:group:jira
            - read:project:jira
            - read:user:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:issue-type-hierarchy:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project-role:jira
            - read:project-version:jira
            - read:project.component:jira
          state: Beta
  "/rest/api/3/filter/{id}/permission/{permissionId}":
    delete:
      deprecated: false
      description: |-
        Deletes a share permission from a filter.

        **[Permissions](#permissions) required:** Permission to access Jira and the user must own the filter.
      operationId: deleteSharePermission
      parameters:
        - description: The ID of the filter.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the share permission.
          in: path
          name: permissionId
          required: true
          schema:
            format: int64
            type: integer
      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 filter is not found.
             *  the user does not own the filter.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Delete share permission
      tags:
        - Filter sharing
      x-atlassian-connect-scope: DELETE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:filter:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns a share permission for a filter. A filter can be shared with groups, projects, all logged-in users, or the public. Sharing with all logged-in users or the public is known as a global share permission.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None, however, a share permission is only returned for:

         *  filters owned by the user.
         *  filters shared with a group that the user is a member of.
         *  filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.
         *  filters shared with a public project.
         *  filters shared with the public.
      operationId: getSharePermission
      parameters:
        - description: The ID of the filter.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the share permission.
          in: path
          name: permissionId
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"id":10000,"type":"global"}'
              schema:
                $ref: "#/components/schemas/SharePermission"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: |-
            Returned if:

             *  the filter is not found.
             *  the permission is not found.
             *  the user does not have permission to view the filter.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get share permission
      tags:
        - Filter sharing
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:filter:jira
            - read:group:jira
            - read:project:jira
            - read:project-role:jira
            - read:user:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:issue-type-hierarchy:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project-version:jira
            - read:project.component:jira
          state: Beta
  /rest/api/3/group:
    delete:
      deprecated: false
      description: |-
        Deletes a group.

        **[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* strategic [group](https://confluence.atlassian.com/x/24xjL)).
      operationId: removeGroup
      parameters:
        - in: query
          name: groupname
          schema:
            type: string
        - description: The ID of the group. This parameter cannot be used with the `groupname` parameter.
          in: query
          name: groupId
          schema:
            type: string
          x-showInExample: "true"
        - description: |-
            As a group's name can change, use of `swapGroupId` is recommended to identify a group.  
            The group to transfer restrictions to. Only comments and worklogs are transferred. If restrictions are not transferred, comments and worklogs are inaccessible after the deletion. This parameter cannot be used with the `swapGroupId` parameter.
          in: query
          name: swapGroup
          schema:
            type: string
        - description: The ID of the group to transfer restrictions to. Only comments and worklogs are transferred. If restrictions are not transferred, comments and worklogs are inaccessible after the deletion. This parameter cannot be used with the `swapGroup` parameter.
          in: query
          name: swapGroupId
          schema:
            type: string
      responses:
        "200":
          description: Returned if the request is successful.
        "400":
          description: Returned if the group name is not specified.
        "401":
          description: Returned if the authentication credentials are incorrect or missing from the request.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the group is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Remove group
      tags:
        - Groups
      x-atlassian-connect-scope: INACCESSIBLE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:group:jira
          state: Beta
    get:
      deprecated: true
      description: |-
        This operation is deprecated, use [`group/member`](#api-rest-api-3-group-member-get).

        Returns all users in a group.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getGroup
      parameters:
        - description: |-
            As a group's name can change, use of `groupId` is recommended to identify a group.  
            The name of the group. This parameter cannot be used with the `groupId` parameter.
          in: query
          name: groupname
          schema:
            type: string
        - description: The ID of the group. This parameter cannot be used with the `groupName` parameter.
          in: query
          name: groupId
          schema:
            type: string
          x-showInExample: "true"
        - description: List of fields to expand.
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Group"
          description: Returned if the request is successful.
        "400":
          description: Returned if the group name is not specified.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the calling user does not have the Administer Jira global permission.
        "404":
          description: Returned if the group is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
      summary: Get group
      tags:
        - Groups
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:group:jira
            - read:user:jira
            - read:avatar:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates a group.

        **[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).
      operationId: createGroup
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              name: power-users
            schema:
              $ref: "#/components/schemas/AddGroupBean"
        description: The name of the group.
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"name":"power-users","groupId":"276f955c-63d7-42c8-9520-92d01dca0625","self":"https://your-domain.atlassian.net/rest/api/3/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625","users":{"size":1,"items":[{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false}],"max-results":50,"start-index":0,"end-index":0},"expand":"users"}'
              schema:
                $ref: "#/components/schemas/Group"
          description: Returned if the request is successful.
        "400":
          description: Returned if group name is not specified or the group name is in use.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Create group
      tags:
        - Groups
      x-atlassian-connect-scope: INACCESSIBLE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:group:jira
            - read:user:jira
            - write:group:jira
            - read:avatar:jira
          state: Beta
  /rest/api/3/group/bulk:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of groups.

        **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: bulkGetGroups
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: The ID of a group. To specify multiple IDs, pass multiple `groupId` parameters. For example, `groupId=5b10a2844c20165700ede21g&groupId=5b10ac8d82e05b22cc7d4ef5`.
          in: query
          name: groupId
          schema:
            example: 3571b9a7-348f-414a-9087-8e1ea03a7df8
            items:
              example: 3571b9a7-348f-414a-9087-8e1ea03a7df8
              type: string
            type: array
            uniqueItems: true
          x-showInExample: "true"
        - description: The name of a group. To specify multiple names, pass multiple `groupName` parameters. For example, `groupName=administrators&groupName=jira-software-users`.
          in: query
          name: groupName
          schema:
            items:
              type: string
            type: array
            uniqueItems: true
        - description: "The access level of a group. Valid values: 'site-admin', 'admin', 'user'."
          in: query
          name: accessType
          schema:
            type: string
        - description: "The application key of the product user groups to search for. Valid values: 'jira-servicedesk', 'jira-software', 'jira-product-discovery', 'jira-core'."
          in: query
          name: applicationKey
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":10,"startAt":0,"total":2,"isLast":true,"values":[{"name":"jdog-developers","groupId":"276f955c-63d7-42c8-9520-92d01dca0625"},{"name":"juvenal-bot","groupId":"6e87dc72-4f1f-421f-9382-2fee8b652487"}]}'
              schema:
                $ref: "#/components/schemas/PageBeanGroupDetails"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Browse users and groups permission is required to view groups."],"errors":{}}'
          description: Returned if the user does not have the necessary permission.
        "500":
          content:
            application/json:
              example: "{\"errorMessages\":[\"Couldn't retrieve groups with the site-admin accessType.\"],\"errors\":{}}"
          description: Returned if the group with the given access level can't be retrieved.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
      summary: Bulk get groups
      tags:
        - Groups
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:group:jira
          state: Beta
      x-experimental: true
  /rest/api/3/group/member:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of all users in a group.

        Note that users are ordered by username, however the username is not returned in the results due to privacy reasons.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getUsersFromGroup
      parameters:
        - description: |-
            As a group's name can change, use of `groupId` is recommended to identify a group.  
            The name of the group. This parameter cannot be used with the `groupId` parameter.
          in: query
          name: groupname
          schema:
            type: string
        - description: The ID of the group. This parameter cannot be used with the `groupName` parameter.
          in: query
          name: groupId
          schema:
            type: string
          x-showInExample: "true"
        - description: Include inactive users.
          in: query
          name: includeInactiveUsers
          schema:
            default: false
            type: boolean
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/group/member?groupname=jira-administrators&includeInactiveUsers=false&startAt=2&maxResults=2","nextPage":"https://your-domain.atlassian.net/rest/api/3/group/member?groupname=jira-administrators&includeInactiveUsers=false&startAt=4&maxResults=2","maxResults":2,"startAt":3,"total":5,"isLast":false,"values":[{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","name":"","key":"","accountId":"5b10a2844c20165700ede21g","emailAddress":"mia@example.com","avatarUrls":{},"displayName":"Mia","active":true,"timeZone":"Australia/Sydney","accountType":"atlassian"},{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a0effa615349cb016cd8","name":"","key":"","accountId":"5b10a0effa615349cb016cd8","emailAddress":"will@example.com","avatarUrls":{},"displayName":"Will","active":false,"timeZone":"Australia/Sydney","accountType":"atlassian"}]}'
              schema:
                $ref: "#/components/schemas/PageBeanUserDetails"
          description: Returned if the request is successful.
        "400":
          description: Returned if the group name is not specified.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the calling user does not have the Administer Jira global permission.
        "404":
          description: Returned if the group is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get users from group
      tags:
        - Groups
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:group:jira
            - read:user:jira
            - read:avatar:jira
          state: Beta
  /rest/api/3/group/user:
    delete:
      deprecated: false
      description: |-
        Removes a user from a group.

        **[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).
      operationId: removeUserFromGroup
      parameters:
        - description: |-
            As a group's name can change, use of `groupId` is recommended to identify a group.  
            The name of the group. This parameter cannot be used with the `groupId` parameter.
          in: query
          name: groupname
          schema:
            type: string
        - description: The ID of the group. This parameter cannot be used with the `groupName` parameter.
          in: query
          name: groupId
          schema:
            type: string
          x-showInExample: "true"
        - 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*.
          in: query
          name: accountId
          required: true
          schema:
            example: 5b10ac8d82e05b22cc7d4ef5
            maxLength: 128
            type: string
          x-showInExample: "true"
      responses:
        "200":
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if:

             *  `groupName` is missing.
             *  `accountId` is missing.
        "401":
          description: Returned if the authentication credentials are incorrect or missing from the request.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the group or user are not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Remove user from group
      tags:
        - Groups
      x-atlassian-connect-scope: INACCESSIBLE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:group:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Adds a user to a group.

        **[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).
      operationId: addUserToGroup
      parameters:
        - description: |-
            As a group's name can change, use of `groupId` is recommended to identify a group.  
            The name of the group. This parameter cannot be used with the `groupId` parameter.
          in: query
          name: groupname
          schema:
            type: string
        - description: The ID of the group. This parameter cannot be used with the `groupName` parameter.
          in: query
          name: groupId
          schema:
            type: string
          x-showInExample: "true"
      requestBody:
        content:
          application/json:
            example:
              accountId: 5b10ac8d82e05b22cc7d4ef5
            schema:
              $ref: "#/components/schemas/UpdateUserToGroupBean"
        description: The user to add to the group.
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Group"
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if:

             *  `groupname` is not provided.
             *  `accountId` is missing.
        "401":
          description: Returned if the authentication credentials are incorrect or missing from the request.
        "403":
          description: Returned if the calling user does not have the necessary permission.
        "404":
          description: Returned if the group or user are not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Add user to group
      tags:
        - Groups
      x-atlassian-connect-scope: INACCESSIBLE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:group:jira
            - read:avatar:jira
            - read:group:jira
            - read:user:jira
          state: Beta
  /rest/api/3/groups/picker:
    get:
      deprecated: false
      description: |-
        Returns a list of groups whose names contain a query string. A list of group names can be provided to exclude groups from the results.

        The primary use case for this resource is to populate a group picker suggestions list. To this end, the returned object includes the `html` field where the matched query term is highlighted in the group name with the HTML strong tag. Also, the groups list is wrapped in a response object that contains a header for use in the picker, specifically *Showing X of Y matching groups*.

        The list returns with the groups sorted. If no groups match the list criteria, an empty list is returned.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg). Anonymous calls and calls by users without the required permission return an empty list.

        *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Without this permission, calls where query is not an exact match to an existing group will return an empty list.
      operationId: findGroups
      parameters:
        - description: This parameter is deprecated, setting it does not affect the results. To find groups containing a particular user, use [Get user groups](#api-rest-api-3-user-groups-get).
          in: query
          name: accountId
          schema:
            type: string
        - description: The string to find in group names.
          in: query
          name: query
          schema:
            example: query
            type: string
        - description: |-
            As a group's name can change, use of `excludeGroupIds` is recommended to identify a group.  
            A group to exclude from the result. To exclude multiple groups, provide an ampersand-separated list. For example, `exclude=group1&exclude=group2`. This parameter cannot be used with the `excludeGroupIds` parameter.
          in: query
          name: exclude
          schema:
            items:
              type: string
            type: array
        - description: A group ID to exclude from the result. To exclude multiple groups, provide an ampersand-separated list. For example, `excludeId=group1-id&excludeId=group2-id`. This parameter cannot be used with the `excludeGroups` parameter.
          in: query
          name: excludeId
          schema:
            items:
              type: string
            type: array
        - description: The maximum number of groups to return. The maximum number of groups that can be returned is limited by the system property `jira.ajax.autocomplete.limit`.
          in: query
          name: maxResults
          schema:
            format: int32
            type: integer
        - description: Whether the search for groups should be case insensitive.
          in: query
          name: caseInsensitive
          schema:
            default: false
            type: boolean
        - 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
      responses:
        "200":
          content:
            application/json:
              example: '{"header":"Showing 20 of 25 matching groups","total":25,"groups":[{"name":"jdog-developers","html":"<b>j</b>dog-developers","groupId":"276f955c-63d7-42c8-9520-92d01dca0625"},{"name":"juvenal-bot","html":"<b>j</b>uvenal-bot","groupId":"6e87dc72-4f1f-421f-9382-2fee8b652487"}]}'
              schema:
                $ref: "#/components/schemas/FoundGroups"
          description: Returned if the request is successful.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
        - {}
      summary: Find groups
      tags:
        - Groups
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:group:jira
          state: Beta
  /rest/api/3/groupuserpicker:
    get:
      deprecated: false
      description: |-
        Returns a list of users and groups matching a string. The string is used:

         *  for users, to find a case-insensitive match with display name and e-mail address. Note that if a user has hidden their email address in their user profile, partial matches of the email address will not find the user. An exact match is required.
         *  for groups, to find a case-sensitive match with group name.

        For example, if the string *tin* is used, records with the display name *Tina*, email address *sarah@tinplatetraining.com*, and the group *accounting* would be returned.

        Optionally, the search can be refined to:

         *  the projects and issue types associated with a custom field, such as a user picker. The search can then be further refined to return only users and groups that have permission to view specific:
            
             *  projects.
             *  issue types.
            
            If multiple projects or issue types are specified, they must be a subset of those enabled for the custom field or no results are returned. For example, if a field is enabled for projects A, B, and C then the search could be limited to projects B and C. However, if the search is limited to projects B and D, nothing is returned.
         *  not return Connect app users and groups.
         *  return groups that have a case-insensitive match with the query.

        The primary use case for this resource is to populate a picker field suggestion list with users or groups. To this end, the returned object includes an `html` field for each list. This field highlights the matched query term in the item name with the HTML strong tag. Also, each list is wrapped in a response object that contains a header for use in a picker, specifically *Showing X of Y matching groups*.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/yodKLg).
      operationId: findUsersAndGroups
      parameters:
        - description: The search string.
          in: query
          name: query
          required: true
          schema:
            type: string
        - description: The maximum number of items to return in each list.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: Whether the user avatar should be returned. If an invalid value is provided, the default value is used.
          in: query
          name: showAvatar
          schema:
            default: false
            type: boolean
        - description: The custom field ID of the field this request is for.
          in: query
          name: fieldId
          schema:
            type: string
        - description: The ID of a project that returned users and groups must have permission to view. To include multiple projects, provide an ampersand-separated list. For example, `projectId=10000&projectId=10001`. This parameter is only used when `fieldId` is present.
          in: query
          name: projectId
          schema:
            items:
              type: string
            type: array
        - description: The ID of an issue type that returned users and groups must have permission to view. To include multiple issue types, provide an ampersand-separated list. For example, `issueTypeId=10000&issueTypeId=10001`. Special values, such as `-1` (all standard issue types) and `-2` (all subtask issue types), are supported. This parameter is only used when `fieldId` is present.
          in: query
          name: issueTypeId
          schema:
            items:
              type: string
            type: array
        - description: The size of the avatar to return. If an invalid value is provided, the default value is used.
          in: query
          name: avatarSize
          schema:
            default: xsmall
            enum:
              - xsmall
              - xsmall@2x
              - xsmall@3x
              - small
              - small@2x
              - small@3x
              - medium
              - medium@2x
              - medium@3x
              - large
              - large@2x
              - large@3x
              - xlarge
              - xlarge@2x
              - xlarge@3x
              - xxlarge
              - xxlarge@2x
              - xxlarge@3x
              - xxxlarge
              - xxxlarge@2x
              - xxxlarge@3x
            type: string
        - description: Whether the search for groups should be case insensitive.
          in: query
          name: caseInsensitive
          schema:
            default: false
            type: boolean
        - description: Whether Connect app users and groups should be excluded from the search results. If an invalid value is provided, the default value is used.
          in: query
          name: excludeConnectAddons
          schema:
            default: false
            type: boolean
      responses:
        "200":
          content:
            application/json:
              example: '{"users":{"users":[{"accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"mia","key":"mia","html":"<strong>Mi</strong>a Krystof - <strong>mi</strong>a@example.com (<strong>mi</strong>a)","displayName":"Mia Krystof","avatarUrl":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16"}],"total":25,"header":"Showing 20 of 25 matching groups"},"groups":{"header":"Showing 20 of 25 matching groups","total":25,"groups":[{"name":"jdog-developers","html":"<b>j</b>dog-developers","groupId":"276f955c-63d7-42c8-9520-92d01dca0625"},{"name":"juvenal-bot","html":"<b>j</b>uvenal-bot","groupId":"6e87dc72-4f1f-421f-9382-2fee8b652487"}]}}'
              schema:
                $ref: "#/components/schemas/FoundUsersAndGroups"
          description: Returned if the request is successful.
        "400":
          description: Returned if the query parameter is not provided.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "429":
          description: Returned if the rate limit is exceeded. User search endpoints share a collective rate limit for the tenant, in addition to Jira's normal rate limiting you may receive a rate limit for user search. Please respect the Retry-After header.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Find users and groups
      tags:
        - Group and user picker
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:group:jira
            - read:user:jira
          state: Beta
  /rest/api/3/instance/license:
    get:
      deprecated: false
      description: |-
        Returns licensing information about the Jira instance.

        **[Permissions](#permissions) required:** None.
      operationId: getLicense
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '{"applications":[{"id":"jira-core","plan":"PAID"},{"id":"jira-servicedesk","plan":"FREE"},{"id":"jira-software","plan":"PAID"},{"id":"jira-product-discovery","plan":"FREE"}]}'
              schema:
                $ref: "#/components/schemas/License"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get license
      tags:
        - Instance information
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:license:jira
          state: Beta
      x-experimental: true
  /rest/api/3/issue:
    post:
      deprecated: false
      description: |-
        Creates an issue or, where the option to create subtasks is enabled in Jira, a subtask. A transition may be applied, to move the issue or subtask to a workflow step other than the default start step, and issue properties set.

        The content of the 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 issue's create screen. 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` must contain the ID or key of the parent issue.

        In a next-gen project any issue may be made a child providing that the parent and child are members of the same project.

        **[Permissions](#permissions) required:** *Browse projects* and *Create issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in which the issue or subtask is created.
      operationId: createIssue
      parameters:
        - 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. When provided, the issue type and request type are added to the user's history for a project. These values are then used to provide defaults on the issue create screen.
          in: query
          name: updateHistory
          schema:
            default: false
            type: boolean
      requestBody:
        content:
          application/json:
            example:
              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: 2019-05-11
                environment:
                  content:
                    - content:
                        - text: UAT
                          type: text
                      type: paragraph
                  type: doc
                  version: 1
                fixVersions:
                  - id: "10001"
                issuetype:
                  id: "10000"
                labels:
                  - bugfix
                  - blitz_test
                parent:
                  key: PROJ-123
                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: {}
            schema:
              $ref: "#/components/schemas/IssueUpdateDetails"
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"id":"10000","key":"ED-24","self":"https://your-domain.atlassian.net/rest/api/3/issue/10000","transition":{"status":200,"errorCollection":{"errorMessages":[],"errors":{}}}}'
              schema:
                $ref: "#/components/schemas/CreatedIssue"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: "{\"errorMessages\":[\"Field 'priority' is required\"],\"errors\":{}}"
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: |-
            Returned if the request:

             *  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.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Create issue
      tags:
        - Issues
      x-atlassian-connect-scope: WRITE
      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
  /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: createIssues
      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":[{"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":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}]}'
              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: Bulk create issue
      tags:
        - Issues
      x-atlassian-connect-scope: WRITE
      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
  /rest/api/3/issue/createmeta:
    get:
      deprecated: false
      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: getCreateIssueMeta
      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":[{"self":"https://your-domain.atlassian.net/rest/api/3/project/ED","id":"10000","key":"ED","name":"Edison Project","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"},"issuetypes":[{"self":"https://your-domain.atlassian.net/rest/api/3/issueType/1","id":"1","description":"An error in the code","iconUrl":"https://your-domain.atlassian.net/images/icons/issuetypes/bug.png","name":"Bug","subtask":false,"fields":{"issuetype":{"required":true,"name":"Issue Type","key":"issuetype","hasDefaultValue":false,"operations":["set"]}}}]}]}'
              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: Get create issue metadata
      tags:
        - Issues
      x-atlassian-connect-scope: READ
      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
  /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: getIssuePickerResource
      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: Get issue picker suggestions
      tags:
        - Issue search
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-details:jira
          state: Beta
  /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: bulkSetIssuesPropertiesList
      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: Bulk set issues properties by list
      tags:
        - Issue properties
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue.property:jira
          state: Beta
      x-experimental: true
  /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: bulkSetIssuePropertiesByIssue
      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: Bulk set issue properties by issue
      tags:
        - Issue properties
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue.property:jira
          state: Beta
      x-experimental: true
  "/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: bulkDeleteIssueProperty
      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: Bulk delete issue property
      tags:
        - Issue properties
      x-atlassian-connect-scope: DELETE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:issue.property:jira
          state: Beta
    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: bulkSetIssueProperty
      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: Bulk set issue property
      tags:
        - Issue properties
      x-atlassian-connect-scope: WRITE
      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
  /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: getIsWatchingIssueBulk
      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: Get is watching issue bulk
      tags:
        - Issue watchers
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue.watcher:jira
            - read:user:jira
          state: Beta
  "/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: deleteIssue
      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: Delete issue
      tags:
        - Issues
      x-atlassian-connect-scope: DELETE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:issue:jira
          state: Beta
    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: getIssue
      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: '{"id":"10002","self":"https://your-domain.atlassian.net/rest/api/3/issue/10002","key":"ED-1","fields":{"watcher":{"self":"https://your-domain.atlassian.net/rest/api/3/issue/EX-1/watchers","isWatching":false,"watchCount":1,"watchers":[{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false}]},"attachment":[{"id":10000,"self":"https://your-domain.atlassian.net/rest/api/3/attachments/10000","filename":"picture.jpg","author":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"created":"2023-04-21T12:39:27.600+0000","size":23123,"mimeType":"image/jpeg","content":"https://your-domain.atlassian.net/jira/rest/api/3/attachment/content/10000","thumbnail":"https://your-domain.atlassian.net/jira/rest/api/3/attachment/thumbnail/10000"}],"sub-tasks":[{"id":"10000","type":{"id":"10000","name":"","inward":"Parent","outward":"Sub-task"},"outwardIssue":{"id":"10003","key":"ED-2","self":"https://your-domain.atlassian.net/rest/api/3/issue/ED-2","fields":{"status":{"iconUrl":"https://your-domain.atlassian.net/images/icons/statuses/open.png","name":"Open"}}}}],"description":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"type":"text","text":"Main order flow broken"}]}]},"project":{"self":"https://your-domain.atlassian.net/rest/api/3/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000","24x24":"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000","16x16":"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000","32x32":"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"},"simplified":false,"style":"classic","insight":{"totalIssueCount":100,"lastIssueUpdateTime":"2023-04-21T12:39:27.599+0000"}},"comment":[{"self":"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000","id":"10000","author":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"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."}]}]},"updateAuthor":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"created":"2021-01-17T12:34:00.000+0000","updated":"2021-01-18T23:45:00.000+0000","visibility":{"type":"role","value":"Administrators","identifier":"Administrators"}}],"issuelinks":[{"id":"10001","type":{"id":"10000","name":"Dependent","inward":"depends on","outward":"is depended by"},"outwardIssue":{"id":"10004L","key":"PR-2","self":"https://your-domain.atlassian.net/rest/api/3/issue/PR-2","fields":{"status":{"iconUrl":"https://your-domain.atlassian.net/images/icons/statuses/open.png","name":"Open"}}}},{"id":"10002","type":{"id":"10000","name":"Dependent","inward":"depends on","outward":"is depended by"},"inwardIssue":{"id":"10004","key":"PR-3","self":"https://your-domain.atlassian.net/rest/api/3/issue/PR-3","fields":{"status":{"iconUrl":"https://your-domain.atlassian.net/images/icons/statuses/open.png","name":"Open"}}}}],"worklog":[{"self":"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000","author":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"updateAuthor":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"comment":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"type":"text","text":"I did some work here."}]}]},"updated":"2021-01-18T23:45:00.000+0000","visibility":{"type":"group","value":"jira-developers","identifier":"276f955c-63d7-42c8-9520-92d01dca0625"},"started":"2021-01-17T12:34:00.000+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"id":"100028","issueId":"10002"}],"updated":1,"timetracking":{"originalEstimate":"10m","remainingEstimate":"3m","timeSpent":"6m","originalEstimateSeconds":600,"remainingEstimateSeconds":200,"timeSpentSeconds":400}}}'
              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: Get issue
      tags:
        - Issues
      x-atlassian-connect-scope: READ
      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
    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: editIssue
      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
      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:
        "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.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Edit issue
      tags:
        - Issues
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue:jira
          state: Beta
  "/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: assignIssue
      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: Assign issue
      tags:
        - Issues
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue:jira
          state: Beta
  "/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:<api_token>'
             -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: addAttachment
      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:
              format: binary
              type: string
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/attachments/10000","id":"10001","filename":"picture.jpg","author":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","emailAddress":"mia@example.com","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":true,"timeZone":"Australia/Sydney"},"created":"2023-04-21T12:39:29.304+0000","size":23123,"mimeType":"image/jpeg","content":"https://your-domain.atlassian.net/rest/api/3/attachment/content/10000","thumbnail":"https://your-domain.atlassian.net/rest/api/3/attachment/thumbnail/10000"},{"self":"https://your-domain.atlassian.net/rest/api/3/attachments/10001","filename":"dbeuglog.txt","author":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","emailAddress":"mia@example.com","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":true,"timeZone":"Australia/Sydney"},"created":"2023-04-21T12:39:29.304+0000","size":2460,"mimeType":"text/plain","content":"https://your-domain.atlassian.net/rest/api/3/attachment/content/10001"}]'
              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. See [Configuring file attachments](https://confluence.atlassian.com/x/wIXKM) for details.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Add attachment
      tags:
        - Issue attachments
      x-atlassian-connect-scope: WRITE
      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
  "/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: getChangeLogs
      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: '{"self":"https://your-domain.atlassian.net/rest/api/3/issue/TT-1/changelog?startAt=2&maxResults=2","nextPage":"https://your-domain.atlassian.net/rest/api/3/issue/TT-1/changelog?&startAt=4&maxResults=2","maxResults":2,"startAt":2,"total":5,"isLast":false,"values":[{"id":"10001","author":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","emailAddress":"mia@example.com","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":true,"timeZone":"Australia/Sydney"},"created":"1970-01-18T06:27:50.429+0000","items":[{"field":"fields","fieldtype":"jira","fieldId":"fieldId","from":null,"fromString":"","to":null,"toString":"label-1"}]},{"id":"10002","author":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","emailAddress":"mia@example.com","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":true,"timeZone":"Australia/Sydney"},"created":"1970-01-18T06:27:51.429+0000","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: Get changelogs
      tags:
        - Issues
      x-atlassian-connect-scope: READ
      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
  "/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: getChangeLogsByIds
      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: '{"startAt":0,"maxResults":2,"total":2,"histories":[{"id":"10001","author":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","emailAddress":"mia@example.com","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":true,"timeZone":"Australia/Sydney"},"created":"1970-01-18T06:27:50.429+0000","items":[{"field":"fields","fieldtype":"jira","fieldId":"fieldId","from":null,"fromString":"","to":null,"toString":"label-1"}]},{"id":"10002","author":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","emailAddress":"mia@example.com","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":true,"timeZone":"Australia/Sydney"},"created":"1970-01-18T06:27:51.429+0000","items":[{"field":"fields","fieldtype":"jira","fieldId":"fieldId","from":null,"fromString":"label-1","to":null,"toString":"label-1 label-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: Get changelogs by IDs
      tags:
        - Issues
      x-atlassian-connect-scope: WRITE
      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
  "/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: getComments
      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: '{"startAt":0,"maxResults":1,"total":1,"comments":[{"self":"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000","id":"10000","author":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"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."}]}]},"updateAuthor":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"created":"2021-01-17T12:34:00.000+0000","updated":"2021-01-18T23:45:00.000+0000","visibility":{"type":"role","value":"Administrators","identifier":"Administrators"}}]}'
              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: Get comments
      tags:
        - Issue comments
      x-atlassian-connect-scope: READ
      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
    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: addComment
      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: '{"self":"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000","id":"10000","author":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"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."}]}]},"updateAuthor":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"created":"2021-01-17T12:34:00.000+0000","updated":"2021-01-18T23:45:00.000+0000","visibility":{"type":"role","value":"Administrators","identifier":"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: Add comment
      tags:
        - Issue comments
      x-atlassian-connect-scope: WRITE
      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
  "/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: deleteComment
      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: Delete comment
      tags:
        - Issue comments
      x-atlassian-connect-scope: DELETE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:comment:jira
            - delete:comment.property:jira
          state: Beta
    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: getComment
      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: '{"self":"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000","id":"10000","author":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"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."}]}]},"updateAuthor":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"created":"2021-01-17T12:34:00.000+0000","updated":"2021-01-18T23:45:00.000+0000","visibility":{"type":"role","value":"Administrators","identifier":"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: Get comment
      tags:
        - Issue comments
      x-atlassian-connect-scope: READ
      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
    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: updateComment
      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: '{"self":"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000","id":"10000","author":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"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."}]}]},"updateAuthor":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"created":"2021-01-17T12:34:00.000+0000","updated":"2021-01-18T23:45:00.000+0000","visibility":{"type":"role","value":"Administrators","identifier":"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: Update comment
      tags:
        - Issue comments
      x-atlassian-connect-scope: WRITE
      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
  "/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: getEditIssueMeta
      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":{"required":false,"schema":{"type":"array","items":"option","custom":"com.atlassian.jira.plugin.system.customfieldtypes:multiselect","customId":10001},"name":"My Multi Select","key":"field_key","hasDefaultValue":false,"operations":["set","add"],"allowedValues":["red","blue"],"defaultValue":"red"}}}'
              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: Get edit issue metadata
      tags:
        - Issues
      x-atlassian-connect-scope: READ
      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
  "/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: notify
      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 <strong>latest</strong> 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: Send notification for issue
      tags:
        - Issues
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - send:notification:jira
          state: Beta
  "/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: getIssuePropertyKeys
      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":[{"self":"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support","key":"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: Get issue property keys
      tags:
        - Issue properties
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue.property:jira
            - read:comment.property:jira
            - read:dashboard.property:jira
            - read:issue-type.property:jira
            - read:issue-worklog.property:jira
            - read:project.property:jira
            - read:user.property:jira
            - read:workflow.property:jira
          state: Beta
  "/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: deleteIssueProperty
      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: Delete issue property
      tags:
        - Issue properties
      x-atlassian-connect-scope: DELETE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:issue.property:jira
          state: Beta
    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: getIssueProperty
      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: Get issue property
      tags:
        - Issue properties
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue.property:jira
          state: Beta
    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: setIssueProperty
      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: {}
        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: Set issue property
      tags:
        - Issue properties
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue.property:jira
          state: Beta
  "/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: deleteRemoteIssueLinkByGlobalId
      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: Delete remote issue link by global ID
      tags:
        - Issue remote links
      x-atlassian-connect-scope: DELETE
      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
    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: getRemoteIssueLinks
      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: '[{"id":10000,"self":"https://your-domain.atlassian.net/rest/api/issue/MKY-1/remotelink/10000","globalId":"system=http://www.mycompany.com/support&id=1","application":{"type":"com.acme.tracker","name":"My Acme Tracker"},"relationship":"causes","object":{"url":"http://www.mycompany.com/support?id=1","title":"TSTSUP-111","summary":"Customer support issue","icon":{"url16x16":"http://www.mycompany.com/support/ticket.png","title":"Support Ticket"},"status":{"resolved":true,"icon":{"url16x16":"http://www.mycompany.com/support/resolved.png","title":"Case Closed","link":"http://www.mycompany.com/support?id=1&details=closed"}}}},{"id":10001,"self":"https://your-domain.atlassian.net/rest/api/issue/MKY-1/remotelink/10001","globalId":"system=http://www.anothercompany.com/tester&id=1234","application":{"type":"com.acme.tester","name":"My Acme Tester"},"relationship":"is tested by","object":{"url":"http://www.anothercompany.com/tester/testcase/1234","title":"Test Case #1234","summary":"Test that the submit button saves the item","icon":{"url16x16":"http://www.anothercompany.com/tester/images/testcase.gif","title":"Test Case"},"status":{"resolved":false,"icon":{"url16x16":"http://www.anothercompany.com/tester/images/person/mia.gif","title":"Tested by Mia Krystof","link":"http://www.anothercompany.com/tester/person?accountId=5b10a2844c20165700ede21g"}}}}]'
              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: Get remote issue links
      tags:
        - Issue remote links
      x-atlassian-connect-scope: READ
      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
    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: createOrUpdateRemoteIssueLink
      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: Create or update remote issue link
      tags:
        - Issue remote links
      x-atlassian-connect-scope: WRITE
      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
  "/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: deleteRemoteIssueLinkById
      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: Delete remote issue link by ID
      tags:
        - Issue remote links
      x-atlassian-connect-scope: DELETE
      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
    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: getRemoteIssueLinkById
      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: '{"id":10000,"self":"https://your-domain.atlassian.net/rest/api/issue/MKY-1/remotelink/10000","globalId":"system=http://www.mycompany.com/support&id=1","application":{"type":"com.acme.tracker","name":"My Acme Tracker"},"relationship":"causes","object":{"url":"http://www.mycompany.com/support?id=1","title":"TSTSUP-111","summary":"Customer support issue","icon":{"url16x16":"http://www.mycompany.com/support/ticket.png","title":"Support Ticket"},"status":{"resolved":true,"icon":{"url16x16":"http://www.mycompany.com/support/resolved.png","title":"Case Closed","link":"http://www.mycompany.com/support?id=1&details=closed"}}}}'
              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: Get remote issue link by ID
      tags:
        - Issue remote links
      x-atlassian-connect-scope: READ
      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
    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: updateRemoteIssueLink
      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: Update remote issue link by ID
      tags:
        - Issue remote links
      x-atlassian-connect-scope: WRITE
      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
  "/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: getTransitions
      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":[{"id":"2","name":"Close Issue","to":{"self":"https://your-domain.atlassian.net/rest/api/3/status/10000","description":"The issue is currently being worked on.","iconUrl":"https://your-domain.atlassian.net/images/icons/progress.gif","name":"In Progress","id":"10000","statusCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/statuscategory/1","id":1,"key":"in-flight","colorName":"yellow","name":"In Progress"}},"hasScreen":false,"isGlobal":false,"isInitial":false,"isAvailable":true,"isConditional":false,"fields":{"summary":{"required":false,"schema":{"type":"array","items":"option","custom":"com.atlassian.jira.plugin.system.customfieldtypes:multiselect","customId":10001},"name":"My Multi Select","key":"field_key","hasDefaultValue":false,"operations":["set","add"],"allowedValues":["red","blue"],"defaultValue":"red"}}},{"id":"711","name":"QA Review","to":{"self":"https://your-domain.atlassian.net/rest/api/3/status/5","description":"The issue is closed.","iconUrl":"https://your-domain.atlassian.net/images/icons/closed.gif","name":"Closed","id":"5","statusCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/statuscategory/9","id":9,"key":"completed","colorName":"green"}},"hasScreen":true,"fields":{"summary":{"required":false,"schema":{"type":"array","items":"option","custom":"com.atlassian.jira.plugin.system.customfieldtypes:multiselect","customId":10001},"name":"My Multi Select","key":"field_key","hasDefaultValue":false,"operations":["set","add"],"allowedValues":["red","blue"],"defaultValue":"red"},"colour":{"required":false,"schema":{"type":"array","items":"option","custom":"com.atlassian.jira.plugin.system.customfieldtypes:multiselect","customId":10001},"name":"My Multi Select","key":"field_key","hasDefaultValue":false,"operations":["set","add"],"allowedValues":["red","blue"],"defaultValue":"red"}}}]}'
              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: Get transitions
      tags:
        - Issues
      x-atlassian-connect-scope: READ
      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
    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: doTransition
      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.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Transition issue
      tags:
        - Issues
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue:jira
            - write:issue.property:jira
          state: Beta
  "/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: removeVote
      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: Delete vote
      tags:
        - Issue votes
      x-atlassian-connect-scope: DELETE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue.vote:jira
          state: Beta
    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: getVotes
      parameters:
        - description: The ID or key of the issue.
          in: path
          name: issueIdOrKey
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/issue/MKY-1/votes","votes":24,"hasVoted":true,"voters":[{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false}]}'
              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: Get votes
      tags:
        - Issue votes
      x-atlassian-connect-scope: READ
      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
    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: addVote
      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: Add vote
      tags:
        - Issue votes
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue.vote:jira
          state: Beta
  "/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: removeWatcher
      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: Delete watcher
      tags:
        - Issue watchers
      x-atlassian-connect-scope: DELETE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue.watcher:jira
          state: Beta
    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: getIssueWatchers
      parameters:
        - description: The ID or key of the issue.
          in: path
          name: issueIdOrKey
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/issue/EX-1/watchers","isWatching":false,"watchCount":1,"watchers":[{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false}]}'
              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: Get issue watchers
      tags:
        - Issue watchers
      x-atlassian-connect-scope: READ
      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
    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: addWatcher
      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: Add watcher
      tags:
        - Issue watchers
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue.watcher:jira
          state: Beta
  "/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: getIssueWorklog
      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: '{"startAt":0,"maxResults":1,"total":1,"worklogs":[{"self":"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000","author":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"updateAuthor":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"comment":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"type":"text","text":"I did some work here."}]}]},"updated":"2021-01-18T23:45:00.000+0000","visibility":{"type":"group","value":"jira-developers","identifier":"276f955c-63d7-42c8-9520-92d01dca0625"},"started":"2021-01-17T12:34:00.000+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"id":"100028","issueId":"10002"}]}'
              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: Get issue worklogs
      tags:
        - Issue worklogs
      x-atlassian-connect-scope: READ
      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
    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: addWorklog
      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: Add worklog
      tags:
        - Issue worklogs
      x-atlassian-connect-scope: WRITE
      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
  "/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: deleteWorklog
      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: Delete worklog
      tags:
        - Issue worklogs
      x-atlassian-connect-scope: DELETE
      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
    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: getWorklog
      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: '{"self":"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000","author":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"updateAuthor":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"comment":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"type":"text","text":"I did some work here."}]}]},"updated":"2021-01-18T23:45:00.000+0000","visibility":{"type":"group","value":"jira-developers","identifier":"276f955c-63d7-42c8-9520-92d01dca0625"},"started":"2021-01-17T12:34:00.000+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"id":"100028","issueId":"10002"}'
              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: Get worklog
      tags:
        - Issue worklogs
      x-atlassian-connect-scope: READ
      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
    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: updateWorklog
      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: '{"self":"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000","author":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"updateAuthor":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"comment":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"type":"text","text":"I did some work here."}]}]},"updated":"2021-01-18T23:45:00.000+0000","visibility":{"type":"group","value":"jira-developers","identifier":"276f955c-63d7-42c8-9520-92d01dca0625"},"started":"2021-01-17T12:34:00.000+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"id":"100028","issueId":"10002"}'
              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: Update worklog
      tags:
        - Issue worklogs
      x-atlassian-connect-scope: WRITE
      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
  "/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: getWorklogPropertyKeys
      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":[{"self":"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support","key":"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: Get worklog property keys
      tags:
        - Issue worklog properties
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-worklog.property:jira
            - read:comment.property:jira
            - read:dashboard.property:jira
            - read:issue-type.property:jira
            - read:issue.property:jira
            - read:project.property:jira
            - read:user.property:jira
            - read:workflow.property:jira
          state: Beta
  "/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: deleteWorklogProperty
      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: Delete worklog property
      tags:
        - Issue worklog properties
      x-atlassian-connect-scope: DELETE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:issue-worklog.property:jira
          state: Beta
    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: getWorklogProperty
      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: Get worklog property
      tags:
        - Issue worklog properties
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-worklog.property:jira
          state: Beta
    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: setWorklogProperty
      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: {}
        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: Set worklog property
      tags:
        - Issue worklog properties
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue-worklog.property:jira
          state: Beta
  /rest/api/3/issueLink:
    post:
      deprecated: false
      description: |-
        Creates a link between two issues. Use this operation to indicate a relationship between two issues and optionally add a comment to the from (outward) issue. To use this resource the site must have [Issue Linking](https://confluence.atlassian.com/x/yoXKM) enabled.

        This resource returns nothing on the creation of an issue link. To obtain the ID of the issue link, use `https://your-domain.atlassian.net/rest/api/3/issue/[linked issue key]?fields=issuelinks`.

        If the link request duplicates a link, the response indicates that the issue link was created. If the request included a comment, the comment is added.

        This operation can be accessed anonymously.

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

         *  *Browse project* [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the issues to be linked,
         *  *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) on the project containing the from (outward) issue,
         *  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 restricted to.
      operationId: linkIssues
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              comment:
                body:
                  content:
                    - content:
                        - text: Linked related issue!
                          type: text
                      type: paragraph
                  type: doc
                  version: 1
                visibility:
                  identifier: 276f955c-63d7-42c8-9520-92d01dca0625
                  type: group
                  value: jira-software-users
              inwardIssue:
                key: HSP-1
              outwardIssue:
                key: MKY-1
              type:
                name: Duplicate
            schema:
              $ref: "#/components/schemas/LinkIssueRequestJsonBean"
        description: The issue link request.
        required: true
      responses:
        "201":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          description: Returned if the comment is not created. The response contains an error message indicating why the comment wasn't created. The issue link is also not created.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: |-
            Returned if:

             *  issue linking is disabled.
             *  the user cannot view one or both of the issues. For example, the user doesn't have *Browse project* project permission for a project containing one of the issues.
             *  the user does not have *link issues* project permission.
             *  either of the link issues are not found.
             *  the issue link type is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Create issue link
      tags:
        - Issue links
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:comment:jira
            - write:issue:jira
            - write:issue-link:jira
          state: Beta
  "/rest/api/3/issueLink/{linkId}":
    delete:
      deprecated: false
      description: |-
        Deletes an issue link.

        This operation can be accessed anonymously.

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

         *  Browse project [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the issues in the link.
         *  *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one of the projects containing issues in the link.
         *  If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, permission to view both of the issues.
      operationId: deleteIssueLink
      parameters:
        - description: The ID of the issue link.
          in: path
          name: linkId
          required: true
          schema:
            type: string
      responses:
        "200":
          description: 200 response
        "204":
          description: Returned if the request is successful.
        "400":
          description: Returned if the issue link ID is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: |-
            Returned if:

             *  issue linking is disabled.
             *  the issue link is not found.
             *  the user doesn't have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
        - {}
      summary: Delete issue link
      tags:
        - Issue links
      x-atlassian-connect-scope: DELETE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:issue-link:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns an issue link.

        This operation can be accessed anonymously.

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

         *  *Browse project* [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the linked issues.
         *  If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, permission to view both of the issues.
      operationId: getIssueLink
      parameters:
        - description: The ID of the issue link.
          in: path
          name: linkId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"id":"10001","type":{"id":"1000","name":"Duplicate","inward":"Duplicated by","outward":"Duplicates","self":"https://your-domain.atlassian.net/rest/api/3/issueLinkType/1000"},"inwardIssue":{"id":"10004","key":"PR-3","self":"https://your-domain.atlassian.net/rest/api/3/issue/PR-3","fields":{"status":{"self":"https://your-domain.atlassian.net/rest/api/3/status/5","description":"The issue is closed.","iconUrl":"https://your-domain.atlassian.net/images/icons/closed.gif","name":"Closed","id":"5","statusCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/statuscategory/9","id":9,"key":"completed","colorName":"green"}},"priority":{"self":"https://your-domain.atlassian.net/rest/api/3/priority/5","statusColor":"#cfcfcf","description":"Very little impact.","iconUrl":"https://your-domain.atlassian.net/images/icons/priorities/trivial.png","name":"Trivial","id":"2"},"issuetype":{"self":"https://your-domain.atlassian.net/rest/api/3/issueType/1","id":"1","description":"A problem with the software.","iconUrl":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\",","name":"Bug","subtask":false,"avatarId":10002,"entityId":"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2","hierarchyLevel":0,"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}}}},"outwardIssue":{"id":"10004L","key":"PR-2","self":"https://your-domain.atlassian.net/rest/api/3/issue/PR-2","fields":{"status":{"self":"https://your-domain.atlassian.net/rest/api/3/status/10000","description":"The issue is currently being worked on.","iconUrl":"https://your-domain.atlassian.net/images/icons/progress.gif","name":"In Progress","id":"10000","statusCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/statuscategory/1","id":1,"key":"in-flight","colorName":"yellow","name":"In Progress"}},"priority":{"self":"https://your-domain.atlassian.net/rest/api/3/priority/3","statusColor":"#009900","description":"Major loss of function.","iconUrl":"https://your-domain.atlassian.net/images/icons/priorities/major.png","name":"Major","id":"1"},"issuetype":{"self":"https://your-domain.atlassian.net/rest/api/3/issueType/3","id":"3","description":"A task that needs to be done.","iconUrl":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\",","name":"Task","subtask":false,"avatarId":1,"hierarchyLevel":0}}}}'
              schema:
                $ref: "#/components/schemas/IssueLink"
          description: Returned if the request is successful.
        "400":
          description: Returned if the issue link ID is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: |-
            Returned if:

             *  issue linking is disabled.
             *  the issue link is not found.
             *  the user doesn't have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get issue link
      tags:
        - Issue links
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field:jira
            - read:issue-link-type:jira
            - read:issue:jira
            - read:issue-type:jira
            - read:priority:jira
            - read:status:jira
            - read:avatar:jira
            - read:issue.time-tracking:jira
            - read:project-category:jira
            - read:project:jira
            - read:user:jira
          state: Beta
  /rest/api/3/issueLinkType:
    get:
      deprecated: false
      description: |-
        Returns a list of all issue link types.

        To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project in the site.
      operationId: getIssueLinkTypes
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '{"issueLinkTypes":[{"id":"1000","name":"Duplicate","inward":"Duplicated by","outward":"Duplicates","self":"https://your-domain.atlassian.net/rest/api/3/issueLinkType/1000"},{"id":"1010","name":"Blocks","inward":"Blocked by","outward":"Blocks","self":"https://your-domain.atlassian.net/rest/api/3/issueLinkType/1010"}]}'
              schema:
                $ref: "#/components/schemas/IssueLinkTypes"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if issue linking is disabled.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get issue link types
      tags:
        - Issue link types
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-link-type:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates an issue link type. Use this operation to create descriptions of the reasons why issues are linked. The issue link type consists of a name and descriptions for a link's inward and outward relationships.

        To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createIssueLinkType
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              inward: Duplicated by
              name: Duplicate
              outward: Duplicates
            schema:
              $ref: "#/components/schemas/IssueLinkType"
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"id":"1000","name":"Duplicate","inward":"Duplicated by","outward":"Duplicates","self":"https://your-domain.atlassian.net/rest/api/3/issueLinkType/1000"}'
              schema:
                $ref: "#/components/schemas/IssueLinkType"
          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:

             *  issue linking is disabled.
             *  the issue link type name is in use.
             *  the user does not have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
        - {}
      summary: Create issue link type
      tags:
        - Issue link types
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue-link-type:jira
          state: Beta
  "/rest/api/3/issueLinkType/{issueLinkTypeId}":
    delete:
      deprecated: false
      description: |-
        Deletes an issue link type.

        To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteIssueLinkType
      parameters:
        - description: The ID of the issue link type.
          in: path
          name: issueLinkTypeId
          required: true
          schema:
            type: string
      responses:
        "204":
          description: Returned if the request is successful.
        "400":
          description: Returned if the issue link type ID is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: |-
            Returned if:

             *  issue linking is disabled.
             *  the issue link type is not found.
             *  the user does not have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
        - {}
      summary: Delete issue link type
      tags:
        - Issue link types
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:issue-link-type:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns an issue link type.

        To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project in the site.
      operationId: getIssueLinkType
      parameters:
        - description: The ID of the issue link type.
          in: path
          name: issueLinkTypeId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"id":"1000","name":"Duplicate","inward":"Duplicated by","outward":"Duplicates","self":"https://your-domain.atlassian.net/rest/api/3/issueLinkType/1000"}'
              schema:
                $ref: "#/components/schemas/IssueLinkType"
          description: Returned if the request is successful.
        "400":
          description: Returned if the issue link type ID is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: |-
            Returned if:

             *  issue linking is disabled.
             *  the issue link type is not found.
             *  the user does not have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get issue link type
      tags:
        - Issue link types
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-link-type:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Updates an issue link type.

        To use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateIssueLinkType
      parameters:
        - description: The ID of the issue link type.
          in: path
          name: issueLinkTypeId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              inward: Duplicated by
              name: Duplicate
              outward: Duplicates
            schema:
              $ref: "#/components/schemas/IssueLinkType"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"id":"1000","name":"Duplicate","inward":"Duplicated by","outward":"Duplicates","self":"https://your-domain.atlassian.net/rest/api/3/issueLinkType/1000"}'
              schema:
                $ref: "#/components/schemas/IssueLinkType"
          description: Returned if the request is successful.
        "400":
          description: Returned if the issue link type ID or the request body are invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: |-
            Returned if:

             *  issue linking is disabled.
             *  the issue link type is not found.
             *  the user does not have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
        - {}
      summary: Update issue link type
      tags:
        - Issue link types
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-link-type:jira
            - write:issue-link-type:jira
          state: Beta
  /rest/api/3/issuesecurityschemes:
    get:
      deprecated: false
      description: |-
        Returns all [issue security schemes](https://confluence.atlassian.com/x/J4lKLg).

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getIssueSecuritySchemes
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '{"issueSecuritySchemes":[{"self":"https://your-domain.atlassian.net/rest/api/3/issuesecurityschemes/10000","id":10000,"name":"Default Issue Security Scheme","description":"Description for the default issue security scheme","defaultSecurityLevelId":10021}]}'
              schema:
                $ref: "#/components/schemas/SecuritySchemes"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect.
        "403":
          description: Returned if the user does not have permission to administer issue security schemes.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
      summary: Get issue security schemes
      tags:
        - Issue security schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-security-level:jira
            - read:issue-security-scheme:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates a security scheme with security scheme levels and levels' members. You can create up to 100 security scheme levels and security scheme levels' members per request.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createIssueSecurityScheme
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              description: Newly created issue security scheme
              levels:
                - description: Newly created level
                  isDefault: true
                  members:
                    - parameter: administrators
                      type: group
                  name: New level
              name: New security scheme
            schema:
              $ref: "#/components/schemas/CreateIssueSecuritySchemeDetails"
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"id":"10001"}'
              schema:
                $ref: "#/components/schemas/SecuritySchemeId"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The length of the description must not exceed 4,000 characters."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is invalid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Create issue security scheme
      tags:
        - Issue security schemes
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  /rest/api/3/issuesecurityschemes/level:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of issue security levels.

        Only issue security levels in the context of classic projects are returned.

        Filtering using IDs is inclusive: if you specify both security scheme IDs and level IDs, the result will include both specified issue security levels and all issue security levels from the specified schemes.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getSecurityLevels
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: "0"
            type: string
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: "50"
            type: string
        - description: "The list of issue security scheme level IDs. To include multiple issue security levels, separate IDs with an ampersand: `id=10000&id=10001`."
          in: query
          name: id
          schema:
            items:
              type: string
            type: array
            uniqueItems: true
        - description: "The list of issue security scheme IDs. To include multiple issue security schemes, separate IDs with an ampersand: `schemeId=10000&schemeId=10001`."
          in: query
          name: schemeId
          schema:
            items:
              type: string
            type: array
            uniqueItems: true
        - description: When set to true, returns multiple default levels for each security scheme containing a default. If you provide scheme and level IDs not associated with the default, returns an empty page. The default value is false.
          in: query
          name: onlyDefault
          schema:
            default: false
            type: boolean
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":50,"startAt":0,"total":1,"isLast":true,"values":[{"self":"https://your-domain.atlassian.net/rest/api/3/issuesecurityscheme/level?id=10021","id":"10021","description":"Only the reporter and internal staff can see this issue.","name":"Reporter Only","isDefault":true,"issueSecuritySchemeId":"10001"}]}'
              schema:
                $ref: "#/components/schemas/PageBeanSecurityLevel"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["-1000 is not a valid value. id must be zero or a positive integer."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is invalid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get issue security levels
      tags:
        - Issue security schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-security-level:jira
            - read:issue-security-scheme:jira
          state: Beta
      x-experimental: true
  /rest/api/3/issuesecurityschemes/level/default:
    put:
      deprecated: false
      description: |-
        Sets default issue security levels for schemes.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: setDefaultLevels
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              defaultValues:
                - defaultLevelId: "20000"
                  issueSecuritySchemeId: "10000"
                - defaultLevelId: "30000"
                  issueSecuritySchemeId: "12000"
            schema:
              $ref: "#/components/schemas/SetDefaultLevelsRequest"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["some-wrong-string is not a valid value. The issue security scheme ID must be a positive integer."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is invalid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["Issue security scheme with ID 4364564 not found."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the issue resolution isn't found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Set default issue security levels
      tags:
        - Issue security schemes
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  /rest/api/3/issuesecurityschemes/level/member:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of issue security level members.

        Only issue security level members in the context of classic projects are returned.

        Filtering using parameters is inclusive: if you specify both security scheme IDs and level IDs, the result will include all issue security level members from the specified schemes and levels.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getSecurityLevelMembers
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: "0"
            type: string
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: "50"
            type: string
        - description: "The list of issue security level member IDs. To include multiple issue security level members separate IDs with an ampersand: `id=10000&id=10001`."
          in: query
          name: id
          schema:
            items:
              type: string
            type: array
            uniqueItems: true
        - description: "The list of issue security scheme IDs. To include multiple issue security schemes separate IDs with an ampersand: `schemeId=10000&schemeId=10001`."
          in: query
          name: schemeId
          schema:
            items:
              type: string
            type: array
            uniqueItems: true
        - description: "The list of issue security level IDs. To include multiple issue security levels separate IDs with an ampersand: `levelId=10000&levelId=10001`."
          in: query
          name: levelId
          schema:
            items:
              type: string
            type: array
            uniqueItems: true
        - description: |-
            Use expand to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `all` Returns all expandable information
             *  `field` Returns information about the custom field granted the permission
             *  `group` Returns information about the group that is granted the permission
             *  `projectRole` Returns information about the project role granted the permission
             *  `user` Returns information about the user who is granted the permission
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":100,"startAt":0,"total":3,"isLast":true,"values":[{"id":"10000","issueSecurityLevelId":"20010","issueSecuritySchemeId":"10010","holder":{"type":"group","expand":"group"}}]}'
              schema:
                $ref: "#/components/schemas/PageBeanSecurityLevelMember"
          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":
          content:
            application/json:
              example: '{"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"errors":{}}'
          description: Returned if the user doesn't have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get issue security level members
      tags:
        - Issue security schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-security-level:jira
            - read:issue-security-scheme:jira
          state: Beta
      x-experimental: true
  /rest/api/3/issuesecurityschemes/project:
    get:
      deprecated: false
      description: Returns a [paginated](#pagination) mapping of projects that are using security schemes. You can provide either one or multiple security scheme IDs or project IDs to filter by. If you don't provide any, this will return a list of all mappings. Only issue security schemes in the context of classic projects are supported. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: searchProjectsUsingSecuritySchemes
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: "0"
            type: string
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: "50"
            type: string
        - description: The list of security scheme IDs to be filtered out.
          in: query
          name: issueSecuritySchemeId
          schema:
            items:
              type: string
            type: array
            uniqueItems: true
        - description: The list of project IDs to be filtered out.
          in: query
          name: projectId
          schema:
            items:
              type: string
            type: array
            uniqueItems: true
      responses:
        "200":
          content:
            application/json:
              example: '{"issueSecuritySchemeId":"10000","projectId":"10000"}'
              schema:
                $ref: "#/components/schemas/PageBeanIssueSecuritySchemeToProjectMapping"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the search criteria is invalid.If you specify the project ID parameter
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get projects using issue security schemes
      tags:
        - Issue security schemes
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  /rest/api/3/issuesecurityschemes/search:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of issue security schemes.  
        If you specify the project ID parameter, the result will contain issue security schemes and related project IDs you filter by. Use \{@link IssueSecuritySchemeResource\#searchProjectsUsingSecuritySchemes(String, String, Set, Set)\} to obtain all projects related to scheme.

        Only issue security schemes in the context of classic projects are returned.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: searchSecuritySchemes
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: "0"
            type: string
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: "50"
            type: string
        - description: "The list of issue security scheme IDs. To include multiple issue security scheme IDs, separate IDs with an ampersand: `id=10000&id=10001`."
          in: query
          name: id
          schema:
            items:
              type: string
            type: array
            uniqueItems: true
        - description: "The list of project IDs. To include multiple project IDs, separate IDs with an ampersand: `projectId=10000&projectId=10001`."
          in: query
          name: projectId
          schema:
            items:
              type: string
            type: array
            uniqueItems: true
      responses:
        "200":
          content:
            application/json:
              example: '{"id":10000,"self":"https://your-domain.atlassian.net/rest/api/3/issuesecurityscheme/10000","name":"Default scheme","description":"Default scheme description","defaultLevel":10001,"projectIds":[10002]}'
              schema:
                $ref: "#/components/schemas/PageBeanSecuritySchemeWithProjects"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["-1000 is not a valid value. id must be zero or a positive integer."],"errors":{}}'
          description: Returned if the request is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"errors":{}}'
          description: Returned if the user doesn't have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Search issue security schemes
      tags:
        - Issue security schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-security-level:jira
            - read:issue-security-scheme:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/issuesecurityschemes/{id}":
    get:
      deprecated: false
      description: |-
        Returns an issue security scheme along with its security levels.

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

         *  *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
         *  *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project that uses the requested issue security scheme.
      operationId: getIssueSecurityScheme
      parameters:
        - description: The ID of the issue security scheme. Use the [Get issue security schemes](#api-rest-api-3-issuesecurityschemes-get) operation to get a list of issue security scheme IDs.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/issuesecurityschemes/10000","id":10000,"name":"Default Issue Security Scheme","description":"Description for the default issue security scheme","defaultSecurityLevelId":10021,"levels":[{"self":"https://your-domain.atlassian.net/rest/api/3/securitylevel/10021","id":"10021","description":"Only the reporter and internal staff can see this issue.","name":"Reporter Only"}]}'
              schema:
                $ref: "#/components/schemas/SecurityScheme"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the administrator permission and the scheme is not used in any project where the user has administrative permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
      summary: Get issue security scheme
      tags:
        - Issue security schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-security-level:jira
            - read:issue-security-scheme:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Updates the issue security scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateIssueSecurityScheme
      parameters:
        - description: The ID of the issue security scheme.
          in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              description: My issue security scheme description
              name: My issue security scheme name
            schema:
              $ref: "#/components/schemas/UpdateIssueSecuritySchemeRequestBean"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The length of the description must not exceed 4,000 characters."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is invalid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["Issue security scheme with ID 10000 not found."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the issue security scheme isn't found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update issue security scheme
      tags:
        - Issue security schemes
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  "/rest/api/3/issuesecurityschemes/{issueSecuritySchemeId}/members":
    get:
      deprecated: false
      description: |-
        Returns issue security level members.

        Only issue security level members in context of classic projects are returned.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getIssueSecurityLevelMembers
      parameters:
        - description: The ID of the issue security scheme. Use the [Get issue security schemes](#api-rest-api-3-issuesecurityschemes-get) operation to get a list of issue security scheme IDs.
          in: path
          name: issueSecuritySchemeId
          required: true
          schema:
            format: int64
            type: integer
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: "The list of issue security level IDs. To include multiple issue security levels separate IDs with ampersand: `issueSecurityLevelId=10000&issueSecurityLevelId=10001`."
          in: query
          name: issueSecurityLevelId
          schema:
            items:
              format: int64
              type: integer
            type: array
            uniqueItems: true
        - description: |-
            Use expand to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `all` Returns all expandable information.
             *  `field` Returns information about the custom field granted the permission.
             *  `group` Returns information about the group that is granted the permission.
             *  `projectRole` Returns information about the project role granted the permission.
             *  `user` Returns information about the user who is granted the permission.
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":100,"startAt":0,"total":3,"isLast":true,"values":[{"id":10000,"issueSecurityLevelId":10020,"holder":{"type":"user","user":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","emailAddress":"mia@example.com","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":true,"timeZone":"Australia/Sydney"},"expand":"user"}},{"id":10001,"issueSecurityLevelId":10020,"holder":{"type":"group","parameter":"jira-core-users","value":"9c559b11-6c5d-4f96-992c-a746cabab28b","expand":"group"}},{"id":10002,"issueSecurityLevelId":10021,"holder":{"type":"assignee"}}]}'
              schema:
                $ref: "#/components/schemas/PageBeanIssueSecurityLevelMember"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if no issue security level members are found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get issue security level members
      tags:
        - Issue security level
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field:jira
            - read:issue-security-level:jira
            - read:project-role:jira
            - read:user:jira
          state: Beta
  "/rest/api/3/issuesecurityschemes/{schemeId}":
    delete:
      deprecated: false
      description: |-
        Deletes an issue security scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteSecurityScheme
      parameters:
        - description: The ID of the issue security scheme.
          in: path
          name: schemeId
          required: true
          schema:
            type: string
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: "\"You can't delete an issue security scheme if any projects are associated with it.\""
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is invalid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errors":{},"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"httpStatusCode":{"empty":false,"present":true}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errors":{},"errorMessages":["Issue security scheme with ID 10000 not found."],"httpStatusCode":{"empty":false,"present":true}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the issue security scheme isn't found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete issue security scheme
      tags:
        - Issue security schemes
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  "/rest/api/3/issuesecurityschemes/{schemeId}/level":
    put:
      deprecated: false
      description: |-
        Adds levels and levels' members to the issue security scheme. You can add up to 100 levels per request.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: addSecurityLevel
      parameters:
        - description: The ID of the issue security scheme.
          in: path
          name: schemeId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              levels:
                - description: First Level Description
                  isDefault: true
                  members:
                    - type: reporter
                    - parameter: jira-administrators
                      type: group
                  name: First Level
            schema:
              $ref: "#/components/schemas/AddSecuritySchemeLevelsRequestBean"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["some-wrong-string is not a valid value. The issue security scheme ID must be a positive integer."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is invalid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errors":{},"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"httpStatusCode":{"empty":false,"present":true}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errors":{},"errorMessages":["Issue security scheme with ID 10000 not found."],"httpStatusCode":{"empty":false,"present":true}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the security scheme isn't found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Add issue security levels
      tags:
        - Issue security schemes
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  "/rest/api/3/issuesecurityschemes/{schemeId}/level/{levelId}":
    delete:
      deprecated: false
      description: |-
        Deletes an issue security level.

        This operation is [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: removeLevel
      parameters:
        - description: The ID of the issue security scheme.
          in: path
          name: schemeId
          required: true
          schema:
            type: string
        - description: The ID of the issue security level to remove.
          in: path
          name: levelId
          required: true
          schema:
            type: string
        - description: The ID of the issue security level that will replace the currently selected level.
          in: query
          name: replaceWith
          schema:
            type: string
      responses:
        "303":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TaskProgressBeanObject"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: "\"You can't delete an issue security scheme if any projects are associated with it.\""
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request isn't valid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errors":{},"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"httpStatusCode":{"empty":false,"present":true}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errors":{},"errorMessages":["Issue security scheme with ID 10000 not found."],"httpStatusCode":{"empty":false,"present":true}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the issue security level isn't found.
        "409":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if a task to remove the issue security level is already running.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Remove issue security level
      tags:
        - Issue security schemes
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
    put:
      deprecated: false
      description: |-
        Updates the issue security level.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateSecurityLevel
      parameters:
        - description: The ID of the issue security scheme level belongs to.
          in: path
          name: schemeId
          required: true
          schema:
            type: string
        - description: The ID of the issue security level to update.
          in: path
          name: levelId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              description: New level description
              name: New level name
            schema:
              $ref: "#/components/schemas/UpdateIssueSecurityLevelDetails"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The length of the description must not exceed 4,000 characters."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request isn't valid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["Issue security scheme with ID 10000 not found."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the issue security level isn't found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update issue security level
      tags:
        - Issue security schemes
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  "/rest/api/3/issuesecurityschemes/{schemeId}/level/{levelId}/member":
    put:
      deprecated: false
      description: |-
        Adds members to the issue security level. You can add up to 100 members per request.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: addSecurityLevelMembers
      parameters:
        - description: The ID of the issue security scheme.
          in: path
          name: schemeId
          required: true
          schema:
            type: string
        - description: The ID of the issue security level.
          in: path
          name: levelId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              members:
                - type: reporter
                - parameter: jira-administrators
                  type: group
            schema:
              $ref: "#/components/schemas/SecuritySchemeMembersRequest"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["some-wrong-string is not a valid value. The issue security scheme ID must be a positive integer."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is invalid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errors":{},"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"httpStatusCode":{"empty":false,"present":true}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errors":{},"errorMessages":["Issue security scheme with ID 10000 not found."],"httpStatusCode":{"empty":false,"present":true}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the security scheme isn't found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Add issue security level members
      tags:
        - Issue security schemes
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  "/rest/api/3/issuesecurityschemes/{schemeId}/level/{levelId}/member/{memberId}":
    delete:
      deprecated: false
      description: |-
        Removes an issue security level member from an issue security scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: removeMemberFromSecurityLevel
      parameters:
        - description: The ID of the issue security scheme.
          in: path
          name: schemeId
          required: true
          schema:
            type: string
        - description: The ID of the issue security level.
          in: path
          name: levelId
          required: true
          schema:
            type: string
        - description: The ID of the issue security level member to be removed.
          in: path
          name: memberId
          required: true
          schema:
            type: string
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is invalid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errors":{},"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"httpStatusCode":{"empty":false,"present":true}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errors":{},"errorMessages":["Issue security scheme with ID 10000 not found."],"httpStatusCode":{"empty":false,"present":true}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the security scheme isn't found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Remove member from issue security level
      tags:
        - Issue security schemes
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  /rest/api/3/issuetype:
    get:
      deprecated: false
      description: |-
        Returns all issue types.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** Issue types are only returned as follows:

         *  if the user has the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), all issue types are returned.
         *  if the user has the *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, the issue types associated with the projects the user has permission to browse are returned.
      operationId: getIssueAllTypes
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/issueType/3","id":"3","description":"A task that needs to be done.","iconUrl":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\",","name":"Task","subtask":false,"avatarId":1,"hierarchyLevel":0},{"self":"https://your-domain.atlassian.net/rest/api/3/issueType/1","id":"1","description":"A problem with the software.","iconUrl":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\",","name":"Bug","subtask":false,"avatarId":10002,"entityId":"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2","hierarchyLevel":0,"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}}]'
              schema:
                items:
                  $ref: "#/components/schemas/IssueTypeDetails"
                type: array
          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: Get all issue types for user
      tags:
        - Issue types
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-type:jira
            - read:avatar:jira
            - read:project-category:jira
            - read:project:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates an issue type and adds it to the default issue type scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createIssueType
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              description: description
              name: name
              type: standard
            schema:
              $ref: "#/components/schemas/IssueTypeCreateBean"
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/IssueTypeDetails"
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if the request is invalid because:

             *  no content is sent.
             *  the issue type name exceeds 60 characters.
             *  a subtask issue type is requested on an instance where subtasks are disabled.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "409":
          description: Returned if the issue type name is in use.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
        - {}
      summary: Create issue type
      tags:
        - Issue types
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue-type:jira
            - read:avatar:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project:jira
          state: Beta
  /rest/api/3/issuetype/project:
    get:
      deprecated: false
      description: |-
        Returns issue types for a project.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) in the relevant project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getIssueTypesForProject
      parameters:
        - description: The ID of the project.
          in: query
          name: projectId
          required: true
          schema:
            format: int64
            type: integer
        - description: |-
            The level of the issue type to filter by. Use:

             *  `-1` for Subtask.
             *  `0` for Base.
             *  `1` for Epic.
          in: query
          name: level
          schema:
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/issueType/1","id":"1","description":"A problem with the software.","iconUrl":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\",","name":"Bug","subtask":false,"avatarId":10002,"entityId":"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2","hierarchyLevel":0,"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}},{"self":"https://your-domain.atlassian.net/rest/api/3/issueType/3","id":"3","description":"A task that needs to be done.","iconUrl":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\",","name":"Task","subtask":false,"avatarId":1,"hierarchyLevel":0,"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}}]'
              schema:
                items:
                  $ref: "#/components/schemas/IssueTypeDetails"
                type: array
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: |-
            Returned if:

             *  the project is not found.
             *  the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get issue types for project
      tags:
        - Issue types
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-type:jira
            - read:avatar:jira
            - read:project-category:jira
            - read:project:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/issuetype/{id}":
    delete:
      deprecated: false
      description: |-
        Deletes the issue type. If the issue type is in use, all uses are updated with the alternative issue type (`alternativeIssueTypeId`). A list of alternative issue types are obtained from the [Get alternative issue types](#api-rest-api-3-issuetype-id-alternatives-get) resource.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteIssueType
      parameters:
        - description: The ID of the issue type.
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: The ID of the replacement issue type.
          in: query
          name: alternativeIssueTypeId
          schema:
            type: string
      responses:
        "204":
          description: Returned if the request is successful.
        "400":
          description: Returned if any issues cannot be updated with the alternative issue type.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: |-
            Returned if:

             *  the issue type is in use and an alternative issue type is not specified.
             *  the issue type or alternative issue type is not found.
        "409":
          description: |-
            Returned if the issue type is in use and:

             *  also specified as the alternative issue type.
             *  is a *standard* issue type and the alternative issue type is a *subtask*.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
        - {}
      summary: Delete issue type
      tags:
        - Issue types
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:issue-type:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns an issue type.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) in a project the issue type is associated with or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getIssueType
      parameters:
        - description: The ID of the issue type.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/issueType/3","id":"3","description":"A task that needs to be done.","iconUrl":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\",","name":"Task","subtask":false,"avatarId":1,"hierarchyLevel":0}'
              schema:
                $ref: "#/components/schemas/IssueTypeDetails"
          description: Returned if the request is successful.
        "400":
          description: Returned if the issue type ID is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: |-
            Returned if:

             *  the issue type is not found.
             *  the user does not have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get issue type
      tags:
        - Issue types
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-type:jira
            - read:avatar:jira
            - read:project-category:jira
            - read:project:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Updates the issue type.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateIssueType
      parameters:
        - description: The ID of the issue type.
          in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              avatarId: 1
              description: description
              name: name
            schema:
              $ref: "#/components/schemas/IssueTypeUpdateBean"
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/IssueTypeDetails"
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if the request is invalid because:

             *  no content is sent.
             *  the issue type name exceeds 60 characters.
             *  the avatar is not associated with this issue type.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the issue type is not found.
        "409":
          description: Returned if the issue type name is in use.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
        - {}
      summary: Update issue type
      tags:
        - Issue types
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue-type:jira
            - read:avatar:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project:jira
          state: Beta
  "/rest/api/3/issuetype/{id}/alternatives":
    get:
      deprecated: false
      description: |-
        Returns a list of issue types that can be used to replace the issue type. The alternative issue types are those assigned to the same workflow scheme, field configuration scheme, and screen scheme.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None.
      operationId: getAlternativeIssueTypes
      parameters:
        - description: The ID of the issue type.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/issueType/3","id":"3","description":"A task that needs to be done.","iconUrl":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\",","name":"Task","subtask":false,"avatarId":1,"hierarchyLevel":0},{"self":"https://your-domain.atlassian.net/rest/api/3/issueType/1","id":"1","description":"A problem with the software.","iconUrl":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\",","name":"Bug","subtask":false,"avatarId":10002,"entityId":"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2","hierarchyLevel":0,"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}}]'
              schema:
                items:
                  $ref: "#/components/schemas/IssueTypeDetails"
                type: array
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: |-
            Returned if:

             *  the issue type is not found.
             *  the user does not have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get alternative issue types
      tags:
        - Issue types
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-type:jira
            - read:project-category:jira
            - read:project:jira
            - read:avatar:jira
          state: Beta
  "/rest/api/3/issuetype/{id}/avatar2":
    post:
      deprecated: false
      description: |-
        Loads an avatar for the issue type.

        Specify the avatar's local file location in the body of the request. Also, include the following headers:

         *  `X-Atlassian-Token: no-check` To prevent XSRF protection blocking the request, for more information see [Special Headers](#special-request-headers).
         *  `Content-Type: image/image type` Valid image types are JPEG, GIF, or PNG.

        For example:  
        `curl --request POST \ --user email@example.com:<api_token> \ --header 'X-Atlassian-Token: no-check' \ --header 'Content-Type: image/< image_type>' \ --data-binary "<@/path/to/file/with/your/avatar>" \ --url 'https://your-domain.atlassian.net/rest/api/3/issuetype/{issueTypeId}'This`

        The avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of the image. The length of the square's sides is set to the smaller of the height or width of the image.

        The cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.

        After creating the avatar, use [ Update issue type](#api-rest-api-3-issuetype-id-put) to set it as the issue type's displayed avatar.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createIssueTypeAvatar
      parameters:
        - description: The ID of the issue type.
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: The X coordinate of the top-left corner of the crop region.
          in: query
          name: x
          schema:
            default: 0
            format: int32
            type: integer
        - description: The Y coordinate of the top-left corner of the crop region.
          in: query
          name: y
          schema:
            default: 0
            format: int32
            type: integer
        - description: The length of each side of the crop region.
          in: query
          name: size
          required: true
          schema:
            format: int32
            type: integer
      requestBody:
        content:
          "*/*":
            schema: {}
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"id":"1000","isSystemAvatar":true,"isSelected":false,"isDeletable":false,"urls":{"16x16":"/secure/useravatar?size=xsmall&avatarId=10040&avatarType=project","24x24":"/secure/useravatar?size=small&avatarId=10040&avatarType=project","32x32":"/secure/useravatar?size=medium&avatarId=10040&avatarType=project","48x48":"/secure/useravatar?avatarId=10040&avatarType=project"}}'
              schema:
                $ref: "#/components/schemas/Avatar"
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if:

             *  an image isn't included in the request.
             *  the image type is unsupported.
             *  the crop parameters extend the crop area beyond the edge of the image.
             *  `cropSize` is missing.
             *  the issue type ID is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the issue type is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
        - {}
      summary: Load issue type avatar
      tags:
        - Issue types
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:avatar:jira
            - write:issue-type:jira
            - read:avatar:jira
          state: Beta
  "/rest/api/3/issuetype/{issueTypeId}/properties":
    get:
      deprecated: false
      description: |-
        Returns all the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties) keys of the issue type.

        This operation can be accessed anonymously.

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

         *  *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to get the property keys of any issue type.
         *  *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) to get the property keys of any issue types associated with the projects the user has permission to browse.
      operationId: getIssueTypePropertyKeys
      parameters:
        - description: The ID of the issue type.
          in: path
          name: issueTypeId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"keys":[{"self":"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support","key":"issue.support"}]}'
              schema:
                $ref: "#/components/schemas/PropertyKeys"
          description: Returned if the request is successful.
        "400":
          description: Returned if the issue type ID is invalid.
        "404":
          description: |-
            Returned if:

             *  the issue type is not found.
             *  the user does not have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get issue type property keys
      tags:
        - Issue type properties
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-type.property:jira
            - read:comment.property:jira
            - read:dashboard.property:jira
            - read:issue-worklog.property:jira
            - read:issue.property:jira
            - read:project.property:jira
            - read:user.property:jira
            - read:workflow.property:jira
          state: Beta
  "/rest/api/3/issuetype/{issueTypeId}/properties/{propertyKey}":
    delete:
      deprecated: false
      description: |-
        Deletes the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteIssueTypeProperty
      parameters:
        - description: The ID of the issue type.
          in: path
          name: issueTypeId
          required: true
          schema:
            type: string
        - description: The key of the property. Use [Get issue type property keys](#api-rest-api-3-issuetype-issueTypeId-properties-get) to get a list of all issue type property keys.
          in: path
          name: propertyKey
          required: true
          schema:
            type: string
      responses:
        "204":
          description: Returned if the issue type property is deleted.
        "400":
          description: Returned if the issue type ID is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the issue type or property is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
        - {}
      summary: Delete issue type property
      tags:
        - Issue type properties
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:issue-type.property:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns the key and value of the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).

        This operation can be accessed anonymously.

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

         *  *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to get the details of any issue type.
         *  *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) to get the details of any issue types associated with the projects the user has permission to browse.
      operationId: getIssueTypeProperty
      parameters:
        - description: The ID of the issue type.
          in: path
          name: issueTypeId
          required: true
          schema:
            type: string
        - description: The key of the property. Use [Get issue type property keys](#api-rest-api-3-issuetype-issueTypeId-properties-get) to get a list of all issue type property keys.
          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 issue type ID is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the issue type or property is not found or the user does not have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get issue type property
      tags:
        - Issue type properties
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-type.property:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Creates or updates the value of the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties). Use this resource to store and update data against an issue type.

        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.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: setIssueTypeProperty
      parameters:
        - description: The ID of the issue type.
          in: path
          name: issueTypeId
          required: true
          schema:
            type: string
        - description: The key of the issue type property. The maximum length is 255 characters.
          in: path
          name: propertyKey
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              number: 5
              string: string-value
            schema: {}
        required: true
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Returned if the issue type property is updated.
        "201":
          content:
            application/json:
              schema: {}
          description: Returned if the issue type property is created.
        "400":
          description: |-
            Returned if:

             *  the issue type ID is invalid.
             *  a property value is not provided.
             *  the property value JSON content is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have permission to modify the issue type.
        "404":
          description: |-
            Returned if:

             *  the issue type is not found.
             *  the user does not have the permission view the issue type.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
        - {}
      summary: Set issue type property
      tags:
        - Issue type properties
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue-type.property:jira
          state: Beta
  /rest/api/3/issuetypescheme:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of issue type schemes.

        Only issue type schemes used in classic projects are returned.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getAllIssueTypeSchemes
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: The list of issue type schemes IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.
          in: query
          name: id
          schema:
            items:
              format: int64
              type: integer
            type: array
            uniqueItems: true
        - description: |-
            [Order](#ordering) the results by a field:

             *  `name` Sorts by issue type scheme name.
             *  `id` Sorts by issue type scheme ID.
          in: query
          name: orderBy
          schema:
            default: id
            enum:
              - name
              - -name
              - +name
              - id
              - -id
              - +id
            type: string
        - description: |-
            Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `projects` For each issue type schemes, returns information about the projects the issue type scheme is assigned to.
             *  `issueTypes` For each issue type schemes, returns information about the issueTypes the issue type scheme have.
          in: query
          name: expand
          schema:
            default: ""
            type: string
        - description: String used to perform a case-insensitive partial match with issue type scheme name.
          in: query
          name: queryString
          schema:
            default: ""
            type: string
      responses:
        "200":
          content:
            application/json:
              example: "{\"maxResults\":100,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"id\":\"10000\",\"name\":\"Default Issue Type Scheme\",\"description\":\"Default issue type scheme is the list of global issue types. All newly created issue types will automatically be added to this scheme.\",\"defaultIssueTypeId\":\"10003\",\"isDefault\":true},{\"id\":\"10001\",\"name\":\"SUP: Kanban Issue Type Scheme\",\"description\":\"A collection of issue types suited to use in a kanban style project.\",\"projects\":{\"maxResults\":100,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"self\":\"project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"projectTypeKey\":\"ProjectTypeKey{key='software'}\",\"simplified\":false,\"avatarUrls\":{\"48x48\":\"secure/projectavatar?size=large&pid=10000\",\"24x24\":\"secure/projectavatar?size=small&pid=10000\",\"16x16\":\"secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"id\":\"10000\",\"description\":\"Project category description\",\"name\":\"A project category\"}}]}},{\"id\":\"10002\",\"name\":\"HR: Scrum issue type scheme\",\"description\":\"\",\"defaultIssueTypeId\":\"10004\",\"issueTypes\":{\"maxResults\":100,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"id\":\"1000L\",\"description\":\"Improvement Issue Type\",\"iconUrl\":\"www.example.com\",\"name\":\"Improvements\",\"subtask\":true,\"hierarchyLevel\":-1}]}}]}"
              schema:
                $ref: "#/components/schemas/PageBeanIssueTypeScheme"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get all issue type schemes
      tags:
        - Issue type schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-type-scheme:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates an issue type scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createIssueTypeScheme
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              defaultIssueTypeId: "10002"
              description: A collection of issue types suited to use in a kanban style project.
              issueTypeIds:
                - "10001"
                - "10002"
                - "10003"
              name: Kanban Issue Type Scheme
            schema:
              $ref: "#/components/schemas/IssueTypeSchemeDetails"
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"issueTypeSchemeId":"10010"}'
              schema:
                $ref: "#/components/schemas/IssueTypeSchemeID"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The default issue type ID has to be present in issue type IDs list."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access issue type schemes."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "409":
          content:
            application/json:
              example: '{"errorMessages":["The name is used by another scheme."],"errors":{}}'
          description: Returned if the scheme name is used by another scheme.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Create issue type scheme
      tags:
        - Issue type schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue-type-scheme:jira
          state: Beta
      x-experimental: true
  /rest/api/3/issuetypescheme/mapping:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of issue type scheme items.

        Only issue type scheme items used in classic projects are returned.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getIssueTypeSchemesMapping
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: The list of issue type scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `issueTypeSchemeId=10000&issueTypeSchemeId=10001`.
          in: query
          name: issueTypeSchemeId
          schema:
            items:
              format: int64
              type: integer
            type: array
            uniqueItems: true
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":100,"startAt":0,"total":4,"isLast":true,"values":[{"issueTypeSchemeId":"10000","issueTypeId":"10000"},{"issueTypeSchemeId":"10000","issueTypeId":"10001"},{"issueTypeSchemeId":"10000","issueTypeId":"10002"},{"issueTypeSchemeId":"10001","issueTypeId":"10000"}]}'
              schema:
                $ref: "#/components/schemas/PageBeanIssueTypeSchemeMapping"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get issue type scheme items
      tags:
        - Issue type schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-type-scheme:jira
          state: Beta
  /rest/api/3/issuetypescheme/project:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of issue type schemes and, for each issue type scheme, a list of the projects that use it.

        Only issue type schemes used in classic projects are returned.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getIssueTypeSchemeForProjects
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: The list of project IDs. To include multiple project IDs, provide an ampersand-separated list. For example, `projectId=10000&projectId=10001`.
          in: query
          name: projectId
          required: true
          schema:
            items:
              format: int64
              type: integer
            type: array
            uniqueItems: true
      responses:
        "200":
          content:
            application/json:
              example: "{\"maxResults\":100,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"issueTypeScheme\":{\"id\":\"10000\",\"name\":\"Default Issue Type Scheme\",\"description\":\"Default issue type scheme is the list of global issue types. All newly created issue types will automatically be added to this scheme.\",\"defaultIssueTypeId\":\"10003\",\"isDefault\":true},\"projectIds\":[\"10000\",\"10001\"]},{\"issueTypeScheme\":{\"id\":\"10001\",\"name\":\"SUP: Kanban Issue Type Scheme\",\"description\":\"A collection of issue types suited to use in a kanban style project.\",\"projects\":{\"maxResults\":100,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"self\":\"project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"projectTypeKey\":\"ProjectTypeKey{key='software'}\",\"simplified\":false,\"avatarUrls\":{\"48x48\":\"secure/projectavatar?size=large&pid=10000\",\"24x24\":\"secure/projectavatar?size=small&pid=10000\",\"16x16\":\"secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"id\":\"10000\",\"description\":\"Project category description\",\"name\":\"A project category\"}}]}},\"projectIds\":[\"10002\"]},{\"issueTypeScheme\":{\"id\":\"10002\",\"name\":\"HR: Scrum issue type scheme\",\"description\":\"\",\"defaultIssueTypeId\":\"10004\",\"issueTypes\":{\"maxResults\":100,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"id\":\"1000L\",\"description\":\"Improvement Issue Type\",\"iconUrl\":\"www.example.com\",\"name\":\"Improvements\",\"subtask\":true,\"hierarchyLevel\":-1}]}},\"projectIds\":[\"10003\",\"10004\",\"10005\"]}]}"
              schema:
                $ref: "#/components/schemas/PageBeanIssueTypeSchemeProjects"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get issue type schemes for projects
      tags:
        - Issue type schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-type-scheme:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Assigns an issue type scheme to a project.

        If any issues in the project are assigned issue types not present in the new scheme, the operation will fail. To complete the assignment those issues must be updated to use issue types in the new scheme.

        Issue type schemes can only be assigned to classic projects.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: assignIssueTypeSchemeToProject
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              issueTypeSchemeId: "10000"
              projectId: "10000"
            schema:
              $ref: "#/components/schemas/IssueTypeSchemeProjectAssociation"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: "{\"errorMessages\":[\"This issue type scheme can't be assigned to the project. This is because some issues in this project use issue types not present in the scheme. Before assigning the scheme to the project, update the issue types on these issues: 7\"],\"errors\":{}}"
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access issue type schemes."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The issue type scheme was not found."],"errors":{}}'
          description: Returned if the issue type scheme or the project is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Assign issue type scheme to project
      tags:
        - Issue type schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue-type-scheme:jira
            - write:project:jira
          state: Beta
  "/rest/api/3/issuetypescheme/{issueTypeSchemeId}":
    delete:
      deprecated: false
      description: |-
        Deletes an issue type scheme.

        Only issue type schemes used in classic projects can be deleted.

        Any projects assigned to the scheme are reassigned to the default issue type scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteIssueTypeScheme
      parameters:
        - description: The ID of the issue type scheme.
          in: path
          name: issueTypeSchemeId
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the issue type scheme is deleted.
        "400":
          content:
            application/json:
              example: "{\"errorMessages\":[\"The default issue type scheme can't be removed.\"],\"errors\":{}}"
          description: Returned if the request is to delete the default issue type scheme.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access issue type schemes."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The issue type scheme was not found."],"errors":{}}'
          description: Returned if the issue type scheme is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete issue type scheme
      tags:
        - Issue type schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:issue-type-scheme:jira
            - write:project:jira
          state: Beta
      x-experimental: true
    put:
      deprecated: false
      description: |-
        Updates an issue type scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateIssueTypeScheme
      parameters:
        - description: The ID of the issue type scheme.
          in: path
          name: issueTypeSchemeId
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              defaultIssueTypeId: "10002"
              description: A collection of issue types suited to use in a kanban style project.
              name: Kanban Issue Type Scheme
            schema:
              $ref: "#/components/schemas/IssueTypeSchemeUpdateDetails"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The default issue type has to be one of the issue types of the scheme."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access issue type schemes."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The issue type scheme was not found."],"errors":{}}'
          description: Returned if the issue type scheme is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update issue type scheme
      tags:
        - Issue type schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue-type-scheme:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/issuetypescheme/{issueTypeSchemeId}/issuetype":
    put:
      deprecated: false
      description: |-
        Adds issue types to an issue type scheme.

        The added issue types are appended to the issue types list.

        If any of the issue types exist in the issue type scheme, the operation fails and no issue types are added.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: addIssueTypesToIssueTypeScheme
      parameters:
        - description: The ID of the issue type scheme.
          in: path
          name: issueTypeSchemeId
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              issueTypeIds:
                - "10000"
                - "10002"
                - "10003"
            schema:
              $ref: "#/components/schemas/IssueTypeIds"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["These issue types were not added because they are already present in the issue type scheme: 10002, 10003"],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access issue type schemes."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["These issue types were not found: 10000, 10002"],"errors":{}}'
          description: Returned if the issue type or the issue type scheme is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Add issue types to issue type scheme
      tags:
        - Issue type schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue-type-scheme:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/issuetypescheme/{issueTypeSchemeId}/issuetype/move":
    put:
      deprecated: false
      description: |-
        Changes the order of issue types in an issue type scheme.

        The request body parameters must meet the following requirements:

         *  all of the issue types must belong to the issue type scheme.
         *  either `after` or `position` must be provided.
         *  the issue type in `after` must not be in the issue type list.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: reorderIssueTypesInIssueTypeScheme
      parameters:
        - description: The ID of the issue type scheme.
          in: path
          name: issueTypeSchemeId
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              after: "10008"
              issueTypeIds:
                - "10001"
                - "10004"
                - "10002"
            schema:
              $ref: "#/components/schemas/OrderOfIssueTypes"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The issue type scheme does not include some of the specified issue types. Issue type IDs missing from the scheme are:  10007, 10008"],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access issue type schemes."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The issue type scheme was not found."],"errors":{}}'
          description: Returned if the issue type scheme is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Change order of issue types
      tags:
        - Issue type schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue-type-scheme:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/issuetypescheme/{issueTypeSchemeId}/issuetype/{issueTypeId}":
    delete:
      deprecated: false
      description: |-
        Removes an issue type from an issue type scheme.

        This operation cannot remove:

         *  any issue type used by issues.
         *  any issue types from the default issue type scheme.
         *  the last standard issue type from an issue type scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: removeIssueTypeFromIssueTypeScheme
      parameters:
        - description: The ID of the issue type scheme.
          in: path
          name: issueTypeSchemeId
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the issue type.
          in: path
          name: issueTypeId
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: "{\"errorMessages\":[\"Can't remove the last standard issue type from the issue type scheme.\"],\"errors\":{}}"
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access issue type schemes."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The issue type was not found in the issue type scheme."],"errors":{}}'
          description: Returned if the issue type scheme is missing or the issue type is not found in the issue type scheme.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Remove issue type from issue type scheme
      tags:
        - Issue type schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue-type-scheme:jira
          state: Beta
      x-experimental: true
  /rest/api/3/issuetypescreenscheme:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of issue type screen schemes.

        Only issue type screen schemes used in classic projects are returned.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getIssueTypeScreenSchemes
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: The list of issue type screen scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.
          in: query
          name: id
          schema:
            items:
              format: int64
              type: integer
            type: array
            uniqueItems: true
        - description: String used to perform a case-insensitive partial match with issue type screen scheme name.
          in: query
          name: queryString
          schema:
            default: ""
            type: string
        - description: |-
            [Order](#ordering) the results by a field:

             *  `name` Sorts by issue type screen scheme name.
             *  `id` Sorts by issue type screen scheme ID.
          in: query
          name: orderBy
          schema:
            default: id
            enum:
              - name
              - -name
              - +name
              - id
              - -id
              - +id
            type: string
        - description: Use [expand](#expansion) to include additional information in the response. This parameter accepts `projects` that, for each issue type screen schemes, returns information about the projects the issue type screen scheme is assigned to.
          in: query
          name: expand
          schema:
            default: ""
            type: string
      responses:
        "200":
          content:
            application/json:
              example: "{\"maxResults\":100,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":\"1\",\"name\":\"Default Issue Type Screen Scheme\",\"description\":\"The default issue type screen scheme\"},{\"id\":\"10000\",\"name\":\"Office issue type screen scheme\",\"description\":\"Managing office projects\",\"projects\":{\"maxResults\":100,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"self\":\"project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"projectTypeKey\":\"ProjectTypeKey{key='software'}\",\"simplified\":false,\"avatarUrls\":{\"48x48\":\"secure/projectavatar?size=large&pid=10000\",\"24x24\":\"secure/projectavatar?size=small&pid=10000\",\"16x16\":\"secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"id\":\"10000\",\"description\":\"Project category description\",\"name\":\"A project category\"}}]}}]}"
              schema:
                $ref: "#/components/schemas/PageBeanIssueTypeScreenScheme"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get issue type screen schemes
      tags:
        - Issue type screen schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-type-screen-scheme:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates an issue type screen scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createIssueTypeScreenScheme
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              issueTypeMappings:
                - issueTypeId: default
                  screenSchemeId: "10001"
                - issueTypeId: "10001"
                  screenSchemeId: "10002"
                - issueTypeId: "10002"
                  screenSchemeId: "10002"
              name: Scrum issue type screen scheme
            schema:
              $ref: "#/components/schemas/IssueTypeScreenSchemeDetails"
        description: An issue type screen scheme bean.
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"id":"10001"}'
              schema:
                $ref: "#/components/schemas/IssueTypeScreenSchemeId"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["One or more issue type IDs are repeated, an issue type ID can only be specified once."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access issue type screen schemes."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["One or more issue type IDs were not found."],"errors":{}}'
          description: Returned if the issue type or screen scheme is not found.
        "409":
          content:
            application/json:
              example: '{"errorMessages":["Sub-tasks are disabled in Jira. At least one of the issue types is a sub-task."],"errors":{}}'
          description: Returned if the issue type is a sub-task, but sub-tasks are disabled in Jira settings.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Create issue type screen scheme
      tags:
        - Issue type screen schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue-type-screen-scheme:jira
          state: Beta
      x-experimental: true
  /rest/api/3/issuetypescreenscheme/mapping:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of issue type screen scheme items.

        Only issue type screen schemes used in classic projects are returned.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getIssueTypeScreenSchemeMappings
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: "The list of issue type screen scheme IDs. To include multiple issue type screen schemes, separate IDs with ampersand: `issueTypeScreenSchemeId=10000&issueTypeScreenSchemeId=10001`."
          in: query
          name: issueTypeScreenSchemeId
          schema:
            items:
              format: int64
              type: integer
            type: array
            uniqueItems: true
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":100,"startAt":0,"total":4,"isLast":true,"values":[{"issueTypeScreenSchemeId":"10020","issueTypeId":"10000","screenSchemeId":"10010"},{"issueTypeScreenSchemeId":"10021","issueTypeId":"10001","screenSchemeId":"10010"},{"issueTypeScreenSchemeId":"10022","issueTypeId":"10002","screenSchemeId":"10010"},{"issueTypeScreenSchemeId":"10023","issueTypeId":"default","screenSchemeId":"10011"}]}'
              schema:
                $ref: "#/components/schemas/PageBeanIssueTypeScreenSchemeItem"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get issue type screen scheme items
      tags:
        - Issue type screen schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-type-screen-scheme:jira
          state: Beta
  /rest/api/3/issuetypescreenscheme/project:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of issue type screen schemes and, for each issue type screen scheme, a list of the projects that use it.

        Only issue type screen schemes used in classic projects are returned.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getIssueTypeScreenSchemeProjectAssociations
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: "The list of project IDs. To include multiple projects, separate IDs with ampersand: `projectId=10000&projectId=10001`."
          in: query
          name: projectId
          required: true
          schema:
            items:
              format: int64
              type: integer
            type: array
            uniqueItems: true
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":100,"startAt":0,"total":1,"isLast":true,"values":[{"issueTypeScreenScheme":{"id":"1","name":"Default Issue Type Screen Scheme","description":"The default issue type screen scheme"},"projectIds":["10000","10001"]}]}'
              schema:
                $ref: "#/components/schemas/PageBeanIssueTypeScreenSchemesProjects"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get issue type screen schemes for projects
      tags:
        - Issue type screen schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-type-screen-scheme:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Assigns an issue type screen scheme to a project.

        Issue type screen schemes can only be assigned to classic projects.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: assignIssueTypeScreenSchemeToProject
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              issueTypeScreenSchemeId: "10001"
              projectId: "10002"
            schema:
              $ref: "#/components/schemas/IssueTypeScreenSchemeProjectAssociation"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["Only classic projects can have issue type screen schemes assigned."],"errors":{}}'
          description: |-
            Returned if:

             *  project is not found.
             *  issue type screen scheme is not found.
             *  the project is not a classic project.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access issue type screen schemes."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The issue type screen scheme was not found."],"errors":{}}'
          description: Returned if the issue type screen scheme or the project are missing.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Assign issue type screen scheme to project
      tags:
        - Issue type screen schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue-type-screen-scheme:jira
            - write:project:jira
          state: Beta
  "/rest/api/3/issuetypescreenscheme/{issueTypeScreenSchemeId}":
    delete:
      deprecated: false
      description: |-
        Deletes an issue type screen scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteIssueTypeScreenScheme
      parameters:
        - description: The ID of the issue type screen scheme.
          in: path
          name: issueTypeScreenSchemeId
          required: true
          schema:
            type: string
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the issue type screen scheme is deleted.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The issue type screen scheme cannot be deleted because it is assigned to one or more projects."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The issue type screen scheme was not found."],"errors":{}}'
          description: Returned if the issue type screen scheme is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete issue type screen scheme
      tags:
        - Issue type screen schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:issue-type-screen-scheme:jira
          state: Beta
      x-experimental: true
    put:
      deprecated: false
      description: |-
        Updates an issue type screen scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateIssueTypeScreenScheme
      parameters:
        - description: The ID of the issue type screen scheme.
          in: path
          name: issueTypeScreenSchemeId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              description: Screens for scrum issue types.
              name: Scrum scheme
            schema:
              $ref: "#/components/schemas/IssueTypeScreenSchemeUpdateDetails"
        description: The issue type screen scheme update details.
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The issue type screen scheme name is in use."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access issue type screen schemes."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The issue type screen scheme was not found."],"errors":{}}'
          description: Returned if the issue type screen scheme is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update issue type screen scheme
      tags:
        - Issue type screen schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue-type-screen-scheme:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/issuetypescreenscheme/{issueTypeScreenSchemeId}/mapping":
    put:
      deprecated: false
      description: |-
        Appends issue type to screen scheme mappings to an issue type screen scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: appendMappingsForIssueTypeScreenScheme
      parameters:
        - description: The ID of the issue type screen scheme.
          in: path
          name: issueTypeScreenSchemeId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              issueTypeMappings:
                - issueTypeId: "10000"
                  screenSchemeId: "10001"
                - issueTypeId: "10001"
                  screenSchemeId: "10002"
                - issueTypeId: "10002"
                  screenSchemeId: "10002"
            schema:
              $ref: "#/components/schemas/IssueTypeScreenSchemeMappingDetails"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["A default mapping cannot be added."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The issue type screen scheme was not found."],"errors":{}}'
          description: Returned if the issue type screen scheme, issue type, or screen scheme is not found.
        "409":
          content:
            application/json:
              example: '{"errorMessages":["Sub-tasks are disabled in Jira. At least one of the issue types is a sub-task."],"errors":{}}'
          description: Returned if the issue type is a sub-task, but sub-tasks are disabled in Jira settings.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Append mappings to issue type screen scheme
      tags:
        - Issue type screen schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue-type-screen-scheme:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/issuetypescreenscheme/{issueTypeScreenSchemeId}/mapping/default":
    put:
      deprecated: false
      description: |-
        Updates the default screen scheme of an issue type screen scheme. The default screen scheme is used for all unmapped issue types.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateDefaultScreenScheme
      parameters:
        - description: The ID of the issue type screen scheme.
          in: path
          name: issueTypeScreenSchemeId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              screenSchemeId: "10010"
            schema:
              $ref: "#/components/schemas/UpdateDefaultScreenScheme"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The screenSchemeId has to be provided."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access issue type screen schemes."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The issue type screen scheme was not found."],"errors":{}}'
          description: Returned if the issue type screen scheme or the screen screen is not found, or the screen scheme isn't used in classic projects.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update issue type screen scheme default screen scheme
      tags:
        - Issue type screen schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue-type-screen-scheme:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/issuetypescreenscheme/{issueTypeScreenSchemeId}/mapping/remove":
    post:
      deprecated: false
      description: |-
        Removes issue type to screen scheme mappings from an issue type screen scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: removeMappingsFromIssueTypeScreenScheme
      parameters:
        - description: The ID of the issue type screen scheme.
          in: path
          name: issueTypeScreenSchemeId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              issueTypeIds:
                - "10000"
                - "10001"
                - "10004"
            schema:
              $ref: "#/components/schemas/IssueTypeIds"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the screen scheme mappings are removed from the issue type screen scheme.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The issueTypeIds must not contain duplicates."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access issue type screen schemes."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The issue type screen scheme was not found."],"errors":{}}'
          description: Returned if the issue type screen scheme or one or more issue type mappings are not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Remove mappings from issue type screen scheme
      tags:
        - Issue type screen schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:issue-type-screen-scheme:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/issuetypescreenscheme/{issueTypeScreenSchemeId}/project":
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of projects associated with an issue type screen scheme.

        Only company-managed projects associated with an issue type screen scheme are returned.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getProjectsForIssueTypeScreenScheme
      parameters:
        - description: The ID of the issue type screen scheme.
          in: path
          name: issueTypeScreenSchemeId
          required: true
          schema:
            format: int64
            type: integer
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - in: query
          name: query
          schema:
            default: ""
            type: string
      responses:
        "200":
          content:
            application/json:
              example: "{\"maxResults\":100,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"self\":\"project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"projectTypeKey\":\"ProjectTypeKey{key='software'}\",\"simplified\":false,\"avatarUrls\":{\"48x48\":\"secure/projectavatar?size=large&pid=10000\",\"24x24\":\"secure/projectavatar?size=small&pid=10000\",\"16x16\":\"secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"id\":\"10000\",\"description\":\"Project category description\",\"name\":\"A project category\"}}]}"
              schema:
                $ref: "#/components/schemas/PageBeanProjectDetails"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get issue type screen scheme projects
      tags:
        - Issue type screen schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project:jira
            - read:avatar:jira
            - read:project-category:jira
          state: Beta
      x-experimental: true
  /rest/api/3/jql/autocompletedata:
    get:
      deprecated: false
      description: |-
        Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom query builder.

        To filter visible field details by project or collapse non-unique fields by field type then [Get field reference data (POST)](#api-rest-api-3-jql-autocompletedata-post) can be used.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None.
      operationId: getAutoComplete
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '{"visibleFieldNames":[{"value":"summary","displayName":"summary","orderable":"true","searchable":"true","operators":["~","!~","is","is not"],"types":["java.lang.String"]},{"value":"Sprint","displayName":"Sprint - cf[10880]","orderable":"true","searchable":"true","auto":"true","cfid":"cf[10880]","operators":["=","!=","in","not in","is","is not"],"types":["com.atlassian.greenhopper.service.sprint.Sprint"]}],"visibleFunctionNames":[{"value":"standardIssueTypes()","displayName":"standardIssueTypes()","isList":"true","types":["com.atlassian.jira.issue.issuetype.IssueType"]}],"jqlReservedWords":["empty","and","or","in","distinct"]}'
              schema:
                $ref: "#/components/schemas/JQLReferenceData"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get field reference data (GET)
      tags:
        - JQL
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom query builder.

        This operation can filter the custom fields returned by project. Invalid project IDs in `projectIds` are ignored. System fields are always returned.

        It can also return the collapsed field for custom fields. Collapsed fields enable searches to be performed across all fields with the same name and of the same field type. For example, the collapsed field `Component - Component[Dropdown]` enables dropdown fields `Component - cf[10061]` and `Component - cf[10062]` to be searched simultaneously.

        **[Permissions](#permissions) required:** None.
      operationId: getAutoCompletePost
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              includeCollapsedFields: true
              projectIds:
                - 10000
                - 10001
                - 10002
            schema:
              $ref: "#/components/schemas/SearchAutoCompleteFilter"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"visibleFieldNames":[{"value":"summary","displayName":"summary","orderable":"true","searchable":"true","operators":["~","!~","is","is not"],"types":["java.lang.String"]},{"value":"cf[10061]","displayName":"Component - cf[10061]","orderable":"true","auto":"true","cfid":"cf[10061]","operators":["=","!=","in","not in","is","is not"],"types":["com.atlassian.jira.issue.customfields.option.Option"]},{"value":"cf[10062]","displayName":"Component - cf[10062]","orderable":"true","auto":"true","cfid":"cf[10062]","operators":["=","!=","in","not in","is","is not"],"types":["com.atlassian.jira.issue.customfields.option.Option"]},{"value":"\"Component[Dropdown]\"","displayName":"Component - Component[Dropdown]","searchable":"true","auto":"true","operators":["=","!=","in","not in","is","is not"],"types":["com.atlassian.jira.issue.customfields.option.Option"]}],"visibleFunctionNames":[{"value":"standardIssueTypes()","displayName":"standardIssueTypes()","isList":"true","types":["com.atlassian.jira.issue.issuetype.IssueType"]}],"jqlReservedWords":["empty","and","or","in","distinct"]}'
              schema:
                $ref: "#/components/schemas/JQLReferenceData"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get field reference data (POST)
      tags:
        - JQL
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field:jira
          state: Beta
  /rest/api/3/jql/autocompletedata/suggestions:
    get:
      deprecated: false
      description: |-
        Returns the JQL search auto complete suggestions for a field.

        Suggestions can be obtained by providing:

         *  `fieldName` to get a list of all values for the field.
         *  `fieldName` and `fieldValue` to get a list of values containing the text in `fieldValue`.
         *  `fieldName` and `predicateName` to get a list of all predicate values for the field.
         *  `fieldName`, `predicateName`, and `predicateValue` to get a list of predicate values containing the text in `predicateValue`.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None.
      operationId: getFieldAutoCompleteForQueryString
      parameters:
        - description: The name of the field.
          in: query
          name: fieldName
          schema:
            example: reporter
            type: string
          x-showInExample: "true"
        - description: The partial field item name entered by the user.
          in: query
          name: fieldValue
          schema:
            type: string
        - description: The name of the [ CHANGED operator predicate](https://confluence.atlassian.com/x/hQORLQ#Advancedsearching-operatorsreference-CHANGEDCHANGED) for which the suggestions are generated. The valid predicate operators are *by*, *from*, and *to*.
          in: query
          name: predicateName
          schema:
            type: string
        - description: The partial predicate item name entered by the user.
          in: query
          name: predicateValue
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"results":[{"value":"ActiveObjects","displayName":"<b>Ac</b>tiveObjects (AO)"},{"value":"Atlassian Connect","displayName":"Atlassian Connect (<b>AC</b>)"},{"value":"Atlassian Connect in Jira","displayName":"Atlassian Connect in Jira (<b>AC</b>JIRA)"}]}'
              schema:
                $ref: "#/components/schemas/AutoCompleteSuggestions"
          description: Returned if the request is successful.
        "400":
          description: Returned if an invalid combination of parameters is passed.
        "401":
          description: Returned if the authentication credentials are incorrect.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get field auto complete suggestions
      tags:
        - JQL
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-details:jira
          state: Beta
  /rest/api/3/jql/function/computation:
    get:
      deprecated: false
      description: |-
        Returns the list of a function's precomputations along with information about when they were created, updated, and last used. Each precomputation has a `value` \- the JQL fragment to replace the custom function clause with.

        **[Permissions](#permissions) required:** This API is only accessible to apps and apps can only inspect their own functions.
      operationId: getPrecomputations
      parameters:
        - description: |-
            The function key in format:

             *  Forge: `ari:cloud:ecosystem::extension/[App ID]/[Environment ID]/static/[Function key from manifest]`.
             *  Connect: `[App key]__[Module key]`.
          in: query
          name: functionKey
          schema:
            items:
              type: string
            type: array
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 100
            format: int32
            type: integer
        - description: Not supported yet.
          in: query
          name: orderBy
          schema:
            type: string
        - description: Not supported yet.
          in: query
          name: filter
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":100,"startAt":0,"total":1,"isLast":true,"values":[{"id":"10000","value":"issue in (TEST-1, TEST-2, TEST-3)","functionKey":"ari:cloud:ecosystem::extension/00000000-1111-2222-3333-4444444/111111-2222-3333-4444-55555/static/issuesWithText","field":"issue","operator":"in","functionName":"issuesWithText","arguments":["Test"],"created":"2023-04-21T12:39:34.882+0000","updated":"2023-04-21T12:39:34.882+0000","used":"2023-04-21T12:39:34.882+0000"}]}'
              schema:
                $ref: "#/components/schemas/PageBeanJqlFunctionPrecomputationBean"
          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 request is not authenticated as the app that provided the function.
        "404":
          description: Returned if the function is not found.
      security:
        - basicAuth: []
        - OAuth2: []
      summary: Get precomputations (apps)
      tags:
        - JQL functions (apps)
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes: []
          state: Current
        - scheme: OAuth2
          scopes: []
          state: Beta
      x-experimental: true
    post:
      deprecated: false
      description: |-
        Update the precomputation value of a function created by a Forge/Connect app.

        **[Permissions](#permissions) required:** An API for apps to update their own precomputations.
      operationId: updatePrecomputations
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              values:
                - id: 10000
                  value: issue in (TEST-1, TEST-2, TEST-3)
            schema:
              $ref: "#/components/schemas/JqlFunctionPrecomputationUpdateRequestBean"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is invalid.
        "403":
          description: Returned if the request is not authenticated as the app that provided the function.
        "404":
          description: Returned if the function is not found.
      security:
        - basicAuth: []
        - OAuth2: []
      summary: Update precomputations (apps)
      tags:
        - JQL functions (apps)
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes: []
          state: Current
        - scheme: OAuth2
          scopes: []
          state: Beta
      x-experimental: true
  /rest/api/3/jql/match:
    post:
      deprecated: false
      description: |-
        Checks whether one or more issues would be returned by one or more JQL queries.

        **[Permissions](#permissions) required:** None, however, issues are only matched against JQL queries 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.
      operationId: matchIssues
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              issueIds:
                - 10001
                - 1000
                - 10042
              jqls:
                - project = FOO
                - issuetype = Bug
                - summary ~ "some text" AND project in (FOO, BAR)
            schema:
              $ref: "#/components/schemas/IssuesAndJQLQueries"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"matches":[{"matchedIssues":[10000,10004],"errors":[]},{"matchedIssues":[100134,10025,10236],"errors":[]},{"matchedIssues":[],"errors":[]},{"matchedIssues":[],"errors":["Invalid JQL: broken = value"]}]}'
              schema:
                $ref: "#/components/schemas/IssueMatches"
          description: Returned if the request is successful.
        "400":
          description: Returned if `jqls` exceeds the maximum number of JQL queries or `issueIds` exceeds the maximum number of issue IDs.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
      summary: Check issues against JQL
      tags:
        - Issue search
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-details:jira
          state: Beta
  /rest/api/3/jql/parse:
    post:
      deprecated: false
      description: |-
        Parses and validates JQL queries.

        Validation is performed in context of the current user.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None.
      operationId: parseJqlQueries
      parameters:
        - description: |-
            How to validate the JQL query and treat the validation results. Validation options include:

             *  `strict` Returns all errors. If validation fails, the query structure is not returned.
             *  `warn` Returns all errors. If validation fails but the JQL query is correctly formed, the query structure is returned.
             *  `none` No validation is performed. If JQL query is correctly formed, the query structure is returned.
          in: query
          name: validation
          schema:
            default: strict
            enum:
              - strict
              - warn
              - none
            type: string
      requestBody:
        content:
          application/json:
            example:
              queries:
                - summary ~ test AND (labels in (urgent, blocker) OR lastCommentedBy = currentUser()) AND status CHANGED AFTER startOfMonth(-1M) ORDER BY updated DESC
                - issue.property["spaces here"].value in ("Service requests", Incidents)
                - invalid query
                - summary = test
                - summary in test
                - project = INVALID
                - universe = 42
            schema:
              $ref: "#/components/schemas/JqlQueriesToParse"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: "{\"queries\":[{\"query\":\"summary ~ test AND (labels in (urgent, blocker) OR lastCommentedBy = currentUser()) AND status CHANGED AFTER -5d ORDER BY updated DESC\",\"structure\":{\"where\":{\"clauses\":[{\"field\":{\"name\":\"summary\",\"encodedName\":\"summary\"},\"operator\":\"~\",\"operand\":{\"value\":\"test\",\"encodedValue\":\"test\"}},{\"clauses\":[{\"field\":{\"name\":\"labels\",\"encodedName\":\"labels\"},\"operator\":\"in\",\"operand\":{\"values\":[{\"value\":\"urgent\",\"encodedValue\":\"urgent\"},{\"value\":\"blocker\",\"encodedValue\":\"blocker\"}],\"encodedOperand\":\"urgent, blocker)\"}},{\"field\":{\"name\":\"lastCommentedBy\",\"encodedName\":\"lastCommentedBy\",\"property\":[{\"entity\":\"issue\",\"key\":\"propertyKey\",\"path\":\"path.in.property\",\"type\":\"user\"}]},\"operator\":\"=\",\"operand\":{\"function\":\"currentUser\",\"arguments\":[],\"encodedOperand\":\"currentUser()\"}}],\"operator\":\"or\"},{\"field\":{\"name\":\"status\",\"encodedName\":\"status\"},\"operator\":\"changed\",\"predicates\":[{\"operator\":\"after\",\"operand\":{\"function\":\"startOfMonth\",\"arguments\":[\"-1M\"],\"encodedOperand\":\"startOfMonth(-1M)\"}}]}],\"operator\":\"and\"},\"orderBy\":{\"fields\":[{\"field\":{\"name\":\"updated\",\"encodedName\":\"updated\"},\"direction\":\"desc\"}]}}},{\"query\":\"issue.property[\\\"spaces here\\\"].value in (\\\"Service requests\\\", Incidents)\",\"structure\":{\"where\":{\"field\":{\"name\":\"issue.property[spaces here].value\",\"encodedName\":\"issue.property[\\\"spaces here\\\"].value\",\"property\":[{\"entity\":\"issue\",\"key\":\"spaces here\",\"path\":\"value\"}]},\"operator\":\"in\",\"operand\":{\"values\":[{\"value\":\"Service requests\",\"encodedValue\":\"\\\"Service requests\\\"\"},{\"value\":\"Incidents\",\"encodedValue\":\"Incidents\"}],\"encodedOperand\":\"(\\\"Service requests\\\", Incidents)\"}}}},{\"query\":\"invalid query\",\"errors\":[\"Error in the JQL Query: Expecting operator but got 'query'. The valid operators are '=', '!=', '<', '>', '<=', '>=', '~', '!~', 'IN', 'NOT IN', 'IS' and 'IS NOT'. (line 1, character 9)\"]},{\"query\":\"summary = test\",\"errors\":[\"The operator '=' is not supported by the 'summary' field.\"]},{\"query\":\"summary in test\",\"errors\":[\"Operator 'in' does not support the non-list value '\\\"test\\\"' for field 'summary'.\"]},{\"query\":\"project = INVALID\",\"errors\":[\"The value 'INVALID' does not exist for the field 'project'.\"]},{\"query\":\"universe = 42\",\"errors\":[\"Field 'universe' does not exist or you do not have permission to view it.\"]}]}"
              schema:
                $ref: "#/components/schemas/ParsedJqlQueries"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Parse JQL query
      tags:
        - JQL
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field:jira
            - validate:jql:jira
            - read:jql:jira
          state: Beta
      x-experimental: true
  /rest/api/3/jql/pdcleaner:
    post:
      deprecated: false
      description: |-
        Converts one or more JQL queries with user identifiers (username or user key) to equivalent JQL queries with account IDs.

        You may wish to use this operation if your system stores JQL queries and you want to make them GDPR-compliant. For more information about GDPR-related changes, see the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/).

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: migrateQueries
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              queryStrings:
                - assignee = mia
                - issuetype = Bug AND assignee in (mia) AND reporter in (alana) order by lastViewed DESC
            schema:
              $ref: "#/components/schemas/JQLPersonalDataMigrationRequest"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"queryStrings":["issuetype = Bug AND assignee in (abcde-12345) AND reporter in (abc551-c4e99) order by lastViewed DESC"],"queriesWithUnknownUsers":[{"originalQuery":"assignee = mia","convertedQuery":"assignee = unknown"}]}'
              schema:
                $ref: "#/components/schemas/ConvertedJQLQueries"
          description: Returned if the request is successful. Note that the JQL queries are returned in the same order that they were passed.
        "400":
          description: Returned if at least one of the queries cannot be converted. For example, the JQL has invalid operators or invalid keywords, or the users in the query cannot be found.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
      summary: Convert user identifiers to account IDs in JQL queries
      tags:
        - JQL
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:user:jira
            - read:jql:jira
            - validate:jql:jira
          state: Beta
  /rest/api/3/jql/sanitize:
    post:
      deprecated: false
      description: |-
        Sanitizes one or more JQL queries by converting readable details into IDs where a user doesn't have permission to view the entity.

        For example, if the query contains the clause *project = 'Secret project'*, and a user does not have browse permission for the project "Secret project", the sanitized query replaces the clause with *project = 12345"* (where 12345 is the ID of the project). If a user has the required permission, the clause is not sanitized. If the account ID is null, sanitizing is performed for an anonymous user.

        Note that sanitization doesn't make the queries GDPR-compliant, because it doesn't remove user identifiers (username or user key). If you need to make queries GDPR-compliant, use [Convert user identifiers to account IDs in JQL queries](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-jql/#api-rest-api-3-jql-sanitize-post).

        Before sanitization each JQL query is parsed. The queries are returned in the same order that they were passed.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: sanitiseJqlQueries
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              queries:
                - query: project = 'Sample project'
                - accountId: 5b10ac8d82e05b22cc7d4ef5
                  query: project = 'Sample project'
                - accountId: cda2aa1395ac195d951b3387
                  query: project = 'Sample project'
                - accountId: 5b10ac8d82e05b22cc7d4ef5
                  query: invalid query
            schema:
              $ref: "#/components/schemas/JqlQueriesToSanitize"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: "{\"queries\":[{\"initialQuery\":\"project = 'Sample project'\",\"sanitizedQuery\":\"project = 12345\"},{\"initialQuery\":\"project = 'Sample project'\",\"sanitizedQuery\":\"project = 'Sample project'\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\"},{\"initialQuery\":\"project = 'Sample project'\",\"sanitizedQuery\":\"project = 12345\",\"accountId\":\"cda2aa1395ac195d951b3387\"},{\"initialQuery\":\"non-parsable query\",\"errors\":{\"errorMessages\":[\"Error in the JQL Query: Expecting operator but got 'query'. The valid operators are '=', '!=', '<', '>', '<=', '>=', '~', '!~', 'IN', 'NOT IN', 'IS' and 'IS NOT'. (line 1, character 9)\"],\"errors\":{}},\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\"}]}"
              schema:
                $ref: "#/components/schemas/SanitizedJqlQueries"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The queries has to be provided."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is invalid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Sanitize JQL queries
      tags:
        - JQL
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:jql:jira
          state: Beta
      x-experimental: true
  /rest/api/3/label:
    get:
      deprecated: false
      description: Returns a [paginated](#pagination) list of labels.
      operationId: getAllLabels
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 1000
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":2,"startAt":0,"total":100,"isLast":false,"values":["performance","security"]}'
              schema:
                $ref: "#/components/schemas/PageBeanString"
          description: Returned if the request is successful.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
      summary: Get all labels
      tags:
        - Labels
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:label:jira
          state: Beta
  /rest/api/3/license/approximateLicenseCount:
    get:
      deprecated: false
      description: |-
        Returns the total approximate user account across all jira licenced application keys. Please note this information is cached with a 7-day lifecycle and could be stale at the time of call.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getApproximateLicenseCount
      parameters: []
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LicenseMetric"
          description: 200 response
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have permission to complete this request.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get approximate license count
      tags:
        - License metrics
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:license:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/license/approximateLicenseCount/product/{applicationKey}":
    get:
      deprecated: false
      description: |-
        Returns the total approximate user account for a specific `jira licence application key`. Please note this information is cached with a 7-day lifecycle and could be stale at the time of call.

        #### Application Key ####

        An application key represents a specific version of Jira. See \{@link ApplicationKey\} for details

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getApproximateApplicationLicenseCount
      parameters:
        - in: path
          name: applicationKey
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/LicenseMetric"
          description: 200 response
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have permission to complete this request.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get approximate application license count
      tags:
        - License metrics
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:license:jira
          state: Beta
      x-experimental: true
  /rest/api/3/mypermissions:
    get:
      deprecated: false
      description: |-
        Returns a list of permissions indicating which permissions the user has. Details of the user's permissions can be obtained in a global, project, issue or comment context.

        The user is reported as having a project permission:

         *  in the global context, if the user has the project permission in any project.
         *  for a project, where the project permission is determined using issue data, if the user meets the permission's criteria for any issue in the project. Otherwise, if the user has the project permission in the project.
         *  for an issue, where a project permission is determined using issue data, if the user has the permission in the issue. Otherwise, if the user has the project permission in the project containing the issue.
         *  for a comment, where the user has both the permission to browse the comment and the project permission for the comment's parent issue. Only the BROWSE\_PROJECTS permission is supported. If a `commentId` is provided whose `permissions` does not equal BROWSE\_PROJECTS, a 400 error will be returned.

        This means that users may be shown as having an issue permission (such as EDIT\_ISSUES) in the global context or a project context but may not have the permission for any or all issues. For example, if Reporters have the EDIT\_ISSUES permission a user would be shown as having this permission in the global context or the context of a project, because any user can be a reporter. However, if they are not the user who reported the issue queried they would not have EDIT\_ISSUES permission for that issue.

        Global permissions are unaffected by context.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None.
      operationId: getMyPermissions
      parameters:
        - description: The key of project. Ignored if `projectId` is provided.
          in: query
          name: projectKey
          schema:
            type: string
        - description: The ID of project.
          in: query
          name: projectId
          schema:
            type: string
        - description: The key of the issue. Ignored if `issueId` is provided.
          in: query
          name: issueKey
          schema:
            type: string
        - description: The ID of the issue.
          in: query
          name: issueId
          schema:
            type: string
        - description: A list of permission keys. (Required) This parameter accepts a comma-separated list. To get the list of available permissions, use [Get all permissions](#api-rest-api-3-permissions-get).
          in: query
          name: permissions
          schema:
            example: BROWSE_PROJECTS,EDIT_ISSUES
            type: string
          x-changes:
            - announced: 2018-08-01
              details: https://developer.atlassian.com/cloud/jira/platform/change-notice-get-my-permissions-requires-permissions-query-parameter/
              effective: 2019-02-01
              type: required
          x-showInExample: "true"
        - in: query
          name: projectUuid
          schema:
            type: string
        - in: query
          name: projectConfigurationUuid
          schema:
            type: string
        - description: The ID of the comment.
          in: query
          name: commentId
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"permissions":{"EDIT_ISSUES":{"id":"12","key":"EDIT_ISSUES","name":"Edit Issues","type":"PROJECT","description":"Ability to edit issues.","havePermission":true}}}'
              schema:
                $ref: "#/components/schemas/Permissions"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if `permissions` is empty, contains an invalid key, or does not equal BROWSE\_PROJECTS when commentId is provided.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the project or issue is not found or the user does not have permission to view the project or issue.
      security:
        - basicAuth: []
        - OAuth2: []
        - {}
      summary: Get my permissions
      tags:
        - Permissions
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes: []
          state: Current
        - scheme: OAuth2
          scopes:
            - read:permission:jira
          state: Beta
  /rest/api/3/mypreferences:
    delete:
      deprecated: false
      description: |-
        Deletes a preference of the user, which restores the default value of system defined settings.

        Note that these keys are deprecated:

         *  *jira.user.locale* The locale of the user. By default, not set. The user takes the instance locale.
         *  *jira.user.timezone* The time zone of the user. By default, not set. The user takes the instance timezone.

        Use [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API to manage timezone and locale instead.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: removePreference
      parameters:
        - description: The key of the preference.
          in: query
          name: key
          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 key is not provided or not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete preference
      tags:
        - Myself
      x-atlassian-connect-scope: ACT_AS_USER
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:user-configuration:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns the value of a preference of the current user.

        Note that these keys are deprecated:

         *  *jira.user.locale* The locale of the user. By default this is not set and the user takes the locale of the instance.
         *  *jira.user.timezone* The time zone of the user. By default this is not set and the user takes the timezone of the instance.

        Use [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API to manage timezone and locale instead.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: getPreference
      parameters:
        - description: The key of the preference.
          in: query
          name: key
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                type: string
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the key is not provided or not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get preference
      tags:
        - Myself
      x-atlassian-connect-scope: ACT_AS_USER
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:user-configuration:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Creates a preference for the user or updates a preference's value by sending a plain text string. For example, `false`. An arbitrary preference can be created with the value containing up to 255 characters. In addition, the following keys define system preferences that can be set or created:

         *  *user.notifications.mimetype* The mime type used in notifications sent to the user. Defaults to `html`.
         *  *user.notify.own.changes* Whether the user gets notified of their own changes. Defaults to `false`.
         *  *user.default.share.private* Whether new [ filters](https://confluence.atlassian.com/x/eQiiLQ) are set to private. Defaults to `true`.
         *  *user.keyboard.shortcuts.disabled* Whether keyboard shortcuts are disabled. Defaults to `false`.
         *  *user.autowatch.disabled* Whether the user automatically watches issues they create or add a comment to. By default, not set: the user takes the instance autowatch setting.

        Note that these keys are deprecated:

         *  *jira.user.locale* The locale of the user. By default, not set. The user takes the instance locale.
         *  *jira.user.timezone* The time zone of the user. By default, not set. The user takes the instance timezone.

        Use [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API to manage timezone and locale instead.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: setPreference
      parameters:
        - description: The key of the preference. The maximum length is 255 characters.
          in: query
          name: key
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: string
          text/plain:
            schema:
              type: string
        description: The value of the preference as a plain text string. The maximum length is 255 characters.
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the key or value is not provided or invalid.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Set preference
      tags:
        - Myself
      x-atlassian-connect-scope: ACT_AS_USER
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:user-configuration:jira
          state: Beta
  /rest/api/3/mypreferences/locale:
    delete:
      deprecated: true
      description: |-
        Deprecated, use [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API instead.

        Deletes the locale of the user, which restores the default setting.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: deleteLocale
      parameters: []
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
      summary: Delete locale
      tags:
        - Myself
      x-atlassian-connect-scope: INACCESSIBLE
    get:
      deprecated: false
      description: |-
        Returns the locale for the user.

        If the user has no language preference set (which is the default setting) or this resource is accessed anonymous, the browser locale detected by Jira is returned. Jira detects the browser locale using the *Accept-Language* header in the request. However, if this doesn't match a locale available Jira, the site default locale is returned.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None.
      operationId: getLocale
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '{"locale":"en_US"}'
              schema:
                $ref: "#/components/schemas/Locale"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
        - {}
      summary: Get locale
      tags:
        - Myself
      x-atlassian-connect-scope: ACT_AS_USER
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:user-configuration:jira
          state: Beta
    put:
      deprecated: true
      description: |-
        Deprecated, use [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API instead.

        Sets the locale of the user. The locale must be one supported by the instance of Jira.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: setLocale
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              locale: en_US
            schema:
              $ref: "#/components/schemas/Locale"
        description: The locale defined in a LocaleBean.
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          description: Returned if request is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
      summary: Set locale
      tags:
        - Myself
      x-atlassian-connect-scope: INACCESSIBLE
  /rest/api/3/myself:
    get:
      deprecated: false
      description: |-
        Returns details for the current user.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: getCurrentUser
      parameters:
        - description: |-
            Use [expand](#expansion) to include additional information about user in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `groups` Returns all groups, including nested groups, the user belongs to.
             *  `applicationRoles` Returns the application roles the user is assigned to.
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","emailAddress":"mia@example.com","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":true,"timeZone":"Australia/Sydney","groups":{"size":3,"items":[]},"applicationRoles":{"size":1,"items":[]}}'
              schema:
                $ref: "#/components/schemas/User"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
      summary: Get current user
      tags:
        - Myself
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:application-role:jira
            - read:group:jira
            - read:user:jira
            - read:avatar:jira
          state: Beta
  /rest/api/3/notificationscheme:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of [notification schemes](https://confluence.atlassian.com/x/8YdKLg) ordered by the display name.

        *Note that you should allow for events without recipients to appear in responses.*

        **[Permissions](#permissions) required:** Permission to access Jira, however, the user must have permission to administer at least one project associated with a notification scheme for it to be returned.
      operationId: getNotificationSchemes
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: "0"
            type: string
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: "50"
            type: string
        - description: The list of notification schemes IDs to be filtered by
          in: query
          name: id
          schema:
            items:
              type: string
            type: array
            uniqueItems: true
        - description: The list of projects IDs to be filtered by
          in: query
          name: projectId
          schema:
            items:
              type: string
            type: array
            uniqueItems: true
        - description: When set to true, returns only the default notification scheme. If you provide project IDs not associated with the default, returns an empty page. The default value is false.
          in: query
          name: onlyDefault
          schema:
            default: false
            type: boolean
        - description: |-
            Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `all` Returns all expandable information
             *  `field` Returns information about any custom fields assigned to receive an event
             *  `group` Returns information about any groups assigned to receive an event
             *  `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable information
             *  `projectRole` Returns information about any project roles assigned to receive an event
             *  `user` Returns information about any users assigned to receive an event
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":6,"startAt":1,"total":5,"isLast":false,"values":[{"expand":"notificationSchemeEvents,user,group,projectRole,field,all","id":10100,"self":"https://your-domain.atlassian.net/rest/api/3/notificationscheme","name":"notification scheme name","description":"description","notificationSchemeEvents":[{"event":{"id":1,"name":"Issue created","description":"Event published when an issue is created"},"notifications":[{"id":1,"notificationType":"Group","parameter":"jira-administrators","recipient":"276f955c-63d7-42c8-9520-92d01dca0625","group":{"name":"jira-administrators","groupId":"276f955c-63d7-42c8-9520-92d01dca0625","self":"https://your-domain.atlassian.net/rest/api/3/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625"},"expand":"group"},{"id":2,"notificationType":"CurrentAssignee"},{"id":3,"notificationType":"ProjectRole","parameter":"10360","recipient":"10360","projectRole":{"self":"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers","actorGroup":{"name":"jira-developers","displayName":"jira-developers","groupId":"952d12c3-5b5b-4d04-bb32-44d383afc4b2"}},{"id":10241,"displayName":"Mia Krystof","type":"atlassian-user-role-actor","actorUser":{"accountId":"5b10a2844c20165700ede21g"}}],"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}},"expand":"projectRole"},{"id":4,"notificationType":"EmailAddress","parameter":"rest-developer@atlassian.com","recipient":"rest-developer@atlassian.com","emailAddress":"rest-developer@atlassian.com"},{"id":5,"notificationType":"User","parameter":"5b10a2844c20165700ede21g","recipient":"5b10a2844c20165700ede21g","user":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"expand":"user"},{"id":6,"notificationType":"GroupCustomField","parameter":"customfield_10101","recipient":"customfield_10101","field":{"id":"customfield_10101","key":"customfield_10101","name":"New custom field","untranslatedName":"New custom field","custom":true,"orderable":true,"navigable":true,"searchable":true,"clauseNames":["cf[10101]","New custom field"],"schema":{"type":"project","custom":"com.atlassian.jira.plugin.system.customfieldtypes:project","customId":10101}},"expand":"field"}]},{"event":{"id":20,"name":"Custom event","description":"Custom event that is published together with an issue created event","templateEvent":{"id":1,"name":"Issue created","description":"Event published when an issue is created"}},"notifications":[{"id":1,"notificationType":"Group","parameter":"jira-administrators","recipient":"276f955c-63d7-42c8-9520-92d01dca0625","group":{"name":"jira-administrators","groupId":"276f955c-63d7-42c8-9520-92d01dca0625","self":"https://your-domain.atlassian.net/rest/api/3/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625"},"expand":"group"},{"id":2,"notificationType":"CurrentAssignee"},{"id":3,"notificationType":"ProjectRole","parameter":"10360","recipient":"10360","projectRole":{"self":"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers","actorGroup":{"name":"jira-developers","displayName":"jira-developers","groupId":"952d12c3-5b5b-4d04-bb32-44d383afc4b2"}},{"id":10241,"displayName":"Mia Krystof","type":"atlassian-user-role-actor","actorUser":{"accountId":"5b10a2844c20165700ede21g"}}],"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}},"expand":"projectRole"},{"id":4,"notificationType":"EmailAddress","parameter":"rest-developer@atlassian.com","recipient":"rest-developer@atlassian.com","emailAddress":"rest-developer@atlassian.com"},{"id":5,"notificationType":"User","parameter":"5b10a2844c20165700ede21g","recipient":"5b10a2844c20165700ede21g","user":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"expand":"user"},{"id":6,"notificationType":"GroupCustomField","parameter":"customfield_10101","recipient":"customfield_10101","field":{"id":"customfield_10101","key":"customfield_10101","name":"New custom field","untranslatedName":"New custom field","custom":true,"orderable":true,"navigable":true,"searchable":true,"clauseNames":["cf[10101]","New custom field"],"schema":{"type":"project","custom":"com.atlassian.jira.plugin.system.customfieldtypes:project","customId":10101}},"expand":"field"}]}],"projects":[10001,10002]}]}'
              schema:
                $ref: "#/components/schemas/PageBeanNotificationScheme"
          description: Returned if the request is successful. Only returns notification schemes that the user has permission to access. An empty list is returned if the user lacks permission to access all notification schemes.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["%20. is not a valid value. id must be zero or a positive integer."],"errors":{}}'
          description: Returned if the request isn't valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get notification schemes paginated
      tags:
        - Issue notification schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field:jira
            - read:notification-scheme:jira
            - read:project:jira
            - read:project-role:jira
            - read:user:jira
            - read:avatar:jira
            - read:group:jira
            - read:project-category:jira
            - read:field-configuration:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates a notification scheme with notifications. You can create up to 1000 notifications per request.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createNotificationScheme
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              description: My new scheme description
              name: My new notification scheme
              notificationSchemeEvents:
                - event:
                    id: "1"
                  notifications:
                    - notificationType: Group
                      parameter: jira-administrators
            schema:
              $ref: "#/components/schemas/CreateNotificationSchemeDetails"
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"id":"10001"}'
              schema:
                $ref: "#/components/schemas/NotificationSchemeId"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The length of the description must not exceed 4000 characters."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request isn't valid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Create notification scheme
      tags:
        - Issue notification schemes
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  /rest/api/3/notificationscheme/project:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) mapping of project that have notification scheme assigned. You can provide either one or multiple notification scheme IDs or project IDs to filter by. If you don't provide any, this will return a list of all mappings. Note that only company-managed (classic) projects are supported. This is because team-managed projects don't have a concept of a default notification scheme. The mappings are ordered by projectId.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: getNotificationSchemeToProjectMappings
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: "0"
            type: string
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: "50"
            type: string
        - description: The list of notifications scheme IDs to be filtered out
          in: query
          name: notificationSchemeId
          schema:
            items:
              type: string
            type: array
            uniqueItems: true
        - description: The list of project IDs to be filtered out
          in: query
          name: projectId
          schema:
            items:
              type: string
            type: array
            uniqueItems: true
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":50,"startAt":0,"total":4,"isLast":true,"values":[{"notificationSchemeId":"10001","projectId":"100001"}]}'
              schema:
                $ref: "#/components/schemas/PageBeanNotificationSchemeAndProjectMappingJsonBean"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if search criteria are invalid, strings vs numbers for projectId, notificationSchemeId, startAt and maxResult
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get projects using notification schemes paginated
      tags:
        - Issue notification schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:notification-scheme:jira
            - read:project:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/notificationscheme/{id}":
    get:
      deprecated: false
      description: |-
        Returns a [notification scheme](https://confluence.atlassian.com/x/8YdKLg), including the list of events and the recipients who will receive notifications for those events.

        **[Permissions](#permissions) required:** Permission to access Jira, however, the user must have permission to administer at least one project associated with the notification scheme.
      operationId: getNotificationScheme
      parameters:
        - description: The ID of the notification scheme. Use [Get notification schemes paginated](#api-rest-api-3-notificationscheme-get) to get a list of notification scheme IDs.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: |-
            Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `all` Returns all expandable information
             *  `field` Returns information about any custom fields assigned to receive an event
             *  `group` Returns information about any groups assigned to receive an event
             *  `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable information
             *  `projectRole` Returns information about any project roles assigned to receive an event
             *  `user` Returns information about any users assigned to receive an event
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"expand":"notificationSchemeEvents,user,group,projectRole,field,all","id":10100,"self":"https://your-domain.atlassian.net/rest/api/3/notificationscheme","name":"notification scheme name","description":"description","notificationSchemeEvents":[{"event":{"id":1,"name":"Issue created","description":"Event published when an issue is created"},"notifications":[{"id":1,"notificationType":"Group","parameter":"jira-administrators","recipient":"276f955c-63d7-42c8-9520-92d01dca0625","group":{"name":"jira-administrators","groupId":"276f955c-63d7-42c8-9520-92d01dca0625","self":"https://your-domain.atlassian.net/rest/api/3/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625"},"expand":"group"},{"id":2,"notificationType":"CurrentAssignee"},{"id":3,"notificationType":"ProjectRole","parameter":"10360","recipient":"10360","projectRole":{"self":"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers","actorGroup":{"name":"jira-developers","displayName":"jira-developers","groupId":"952d12c3-5b5b-4d04-bb32-44d383afc4b2"}},{"id":10241,"displayName":"Mia Krystof","type":"atlassian-user-role-actor","actorUser":{"accountId":"5b10a2844c20165700ede21g"}}],"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}},"expand":"projectRole"},{"id":4,"notificationType":"EmailAddress","parameter":"rest-developer@atlassian.com","recipient":"rest-developer@atlassian.com","emailAddress":"rest-developer@atlassian.com"},{"id":5,"notificationType":"User","parameter":"5b10a2844c20165700ede21g","recipient":"5b10a2844c20165700ede21g","user":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"expand":"user"},{"id":6,"notificationType":"GroupCustomField","parameter":"customfield_10101","recipient":"customfield_10101","field":{"id":"customfield_10101","key":"customfield_10101","name":"New custom field","untranslatedName":"New custom field","custom":true,"orderable":true,"navigable":true,"searchable":true,"clauseNames":["cf[10101]","New custom field"],"schema":{"type":"project","custom":"com.atlassian.jira.plugin.system.customfieldtypes:project","customId":10101}},"expand":"field"}]},{"event":{"id":20,"name":"Custom event","description":"Custom event that is published together with an issue created event","templateEvent":{"id":1,"name":"Issue created","description":"Event published when an issue is created"}},"notifications":[{"id":1,"notificationType":"Group","parameter":"jira-administrators","recipient":"276f955c-63d7-42c8-9520-92d01dca0625","group":{"name":"jira-administrators","groupId":"276f955c-63d7-42c8-9520-92d01dca0625","self":"https://your-domain.atlassian.net/rest/api/3/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625"},"expand":"group"},{"id":2,"notificationType":"CurrentAssignee"},{"id":3,"notificationType":"ProjectRole","parameter":"10360","recipient":"10360","projectRole":{"self":"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers","actorGroup":{"name":"jira-developers","displayName":"jira-developers","groupId":"952d12c3-5b5b-4d04-bb32-44d383afc4b2"}},{"id":10241,"displayName":"Mia Krystof","type":"atlassian-user-role-actor","actorUser":{"accountId":"5b10a2844c20165700ede21g"}}],"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}},"expand":"projectRole"},{"id":4,"notificationType":"EmailAddress","parameter":"rest-developer@atlassian.com","recipient":"rest-developer@atlassian.com","emailAddress":"rest-developer@atlassian.com"},{"id":5,"notificationType":"User","parameter":"5b10a2844c20165700ede21g","recipient":"5b10a2844c20165700ede21g","user":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"expand":"user"},{"id":6,"notificationType":"GroupCustomField","parameter":"customfield_10101","recipient":"customfield_10101","field":{"id":"customfield_10101","key":"customfield_10101","name":"New custom field","untranslatedName":"New custom field","custom":true,"orderable":true,"navigable":true,"searchable":true,"clauseNames":["cf[10101]","New custom field"],"schema":{"type":"project","custom":"com.atlassian.jira.plugin.system.customfieldtypes:project","customId":10101}},"expand":"field"}]}],"projects":[10001,10002]}'
              schema:
                $ref: "#/components/schemas/NotificationScheme"
          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 the notification scheme is not found or the user does not have permission to view it.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get notification scheme
      tags:
        - Issue notification schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field:jira
            - read:notification-scheme:jira
            - read:project:jira
            - read:project-role:jira
            - read:user:jira
            - read:avatar:jira
            - read:field-configuration:jira
            - read:group:jira
            - read:project-category:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Updates a notification scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateNotificationScheme
      parameters:
        - description: The ID of the notification scheme.
          in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              description: My updated notification scheme description
              name: My updated notification scheme
            schema:
              $ref: "#/components/schemas/UpdateNotificationSchemeDetails"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The length of the description must not exceed 4000 characters."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request isn't valid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["Notification scheme with ID 10000 not found."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the notification scheme isn't found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update notification scheme
      tags:
        - Issue notification schemes
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  "/rest/api/3/notificationscheme/{id}/notification":
    put:
      deprecated: false
      description: |-
        Adds notifications to a notification scheme. You can add up to 1000 notifications per request.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: addNotifications
      parameters:
        - description: The ID of the notification scheme.
          in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              notificationSchemeEvents:
                - event:
                    id: "1"
                  notifications:
                    - notificationType: Group
                      parameter: jira-administrators
            schema:
              $ref: "#/components/schemas/AddNotificationsDetails"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["Event type with ID 2 not found."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request isn't valid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["Notification scheme with ID 10001 not found."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the notification scheme isn't found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Add notifications to notification scheme
      tags:
        - Issue notification schemes
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  "/rest/api/3/notificationscheme/{notificationSchemeId}":
    delete:
      deprecated: false
      description: |-
        Deletes a notification scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteNotificationScheme
      parameters:
        - description: The ID of the notification scheme.
          in: path
          name: notificationSchemeId
          required: true
          schema:
            type: string
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["You can’t delete the default notification scheme."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request isn't valid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["Notification scheme with ID 10000 not found."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the notification scheme isn't found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete notification scheme
      tags:
        - Issue notification schemes
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  "/rest/api/3/notificationscheme/{notificationSchemeId}/notification/{notificationId}":
    delete:
      deprecated: false
      description: |-
        Removes a notification from a notification scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: removeNotificationFromNotificationScheme
      parameters:
        - description: The ID of the notification scheme.
          in: path
          name: notificationSchemeId
          required: true
          schema:
            type: string
        - description: The ID of the notification.
          in: path
          name: notificationId
          required: true
          schema:
            type: string
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request isn't valid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["Notification scheme with ID 10000 not found."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if either the notification scheme or notification isn't found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Remove notification from notification scheme
      tags:
        - Issue notification schemes
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  /rest/api/3/permissions:
    get:
      deprecated: false
      description: |-
        Returns all permissions, including:

         *  global permissions.
         *  project permissions.
         *  global permissions added by plugins.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getAllPermissions
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '{"permissions":{"BULK_CHANGE":{"key":"BULK_CHANGE","name":"Bulk Change","type":"GLOBAL","description":"Ability to modify a collection of issues at once. For example, resolve multiple issues in one step."}}}'
              schema:
                $ref: "#/components/schemas/Permissions"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get all permissions
      tags:
        - Permissions
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:permission:jira
          state: Beta
  /rest/api/3/permissions/check:
    post:
      deprecated: false
      description: |-
        Returns:

         *  for a list of global permissions, the global permissions granted to a user.
         *  for a list of project permissions and lists of projects and issues, for each project permission a list of the projects and issues a user can access or manipulate.

        If no account ID is provided, the operation returns details for the logged in user.

        Note that:

         *  Invalid project and issue IDs are ignored.
         *  A maximum of 1000 projects and 1000 issues can be checked.
         *  Null values in `globalPermissions`, `projectPermissions`, `projectPermissions.projects`, and `projectPermissions.issues` are ignored.
         *  Empty strings in `projectPermissions.permissions` are ignored.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to check the permissions for other users, otherwise none. However, Connect apps can make a call from the app server to the product to obtain permission details for any user, without admin permission. This Connect app ability doesn't apply to calls made using AP.request() in a browser.
      operationId: getBulkPermissions
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              accountId: 5b10a2844c20165700ede21g
              globalPermissions:
                - ADMINISTER
              projectPermissions:
                - issues:
                    - 10010
                    - 10011
                    - 10012
                    - 10013
                    - 10014
                  permissions:
                    - EDIT_ISSUES
                  projects:
                    - 10001
            schema:
              $ref: "#/components/schemas/BulkPermissionsRequestBean"
        description: Details of the permissions to check.
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"projectPermissions":[{"permission":"EDIT_ISSUES","issues":[10010,10013,10014],"projects":[10001]}],"globalPermissions":["ADMINISTER"]}'
              schema:
                $ref: "#/components/schemas/BulkPermissionGrants"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":[],"errors":{"PERMISSION_123":"Unrecognized permission"}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: |-
            Returned if:

             *  `projectPermissions` is provided without at least one project permission being provided.
             *  an invalid global permission is provided in the global permissions list.
             *  an invalid project permission is provided in the project permissions list.
             *  more than 1000 valid project IDs or more than 1000 valid issue IDs are provided.
             *  an invalid account ID is provided.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can perform this operation."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2: []
        - {}
      summary: Get bulk permissions
      tags:
        - Permissions
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes: []
          state: Current
        - scheme: OAuth2
          scopes:
            - read:permission:jira
          state: Beta
  /rest/api/3/permissions/project:
    post:
      deprecated: false
      description: |-
        Returns all the projects where the user is granted a list of project permissions.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None.
      operationId: getPermittedProjects
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PermissionsKeysBean"
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PermittedProjects"
          description: Returned if the request is successful.
        "400":
          content:
            application/json: {}
          description: Returned if a project permission is not found.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2: []
        - {}
      summary: Get permitted projects
      tags:
        - Permissions
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes: []
          state: Current
        - scheme: OAuth2
          scopes:
            - read:permission:jira
            - read:project:jira
          state: Beta
  /rest/api/3/permissionscheme:
    get:
      deprecated: false
      description: |-
        Returns all permission schemes.

        ### About permission schemes and grants ###

        A permission scheme is a collection of permission grants. A permission grant consists of a `holder` and a `permission`.

        #### Holder object ####

        The `holder` object contains information about the user or group being granted the permission. For example, the *Administer projects* permission is granted to a group named *Teams in space administrators*. In this case, the type is `"type": "group"`, and the parameter is the group name, `"parameter": "Teams in space administrators"` and the value is group ID, `"value": "ca85fac0-d974-40ca-a615-7af99c48d24f"`. The `holder` object is defined by the following properties:

         *  `type` Identifies the user or group (see the list of types below).
         *  `parameter` As a group's name can change, use of `value` is recommended. The value of this property depends on the `type`. For example, if the `type` is a group, then you need to specify the group name.
         *  `value` The value of this property depends on the `type`. If the `type` is a group, then you need to specify the group ID. For other `type` it has the same value as `parameter`

        The following `types` are available. The expected values for `parameter` and `value` are given in parentheses (some types may not have a `parameter` or `value`):

         *  `anyone` Grant for anonymous users.
         *  `applicationRole` Grant for users with access to the specified application (application name, application name). See [Update product access settings](https://confluence.atlassian.com/x/3YxjL) for more information.
         *  `assignee` Grant for the user currently assigned to an issue.
         *  `group` Grant for the specified group (`parameter` : group name, `value` : group ID).
         *  `groupCustomField` Grant for a user in the group selected in the specified custom field (`parameter` : custom field ID, `value` : custom field ID).
         *  `projectLead` Grant for a project lead.
         *  `projectRole` Grant for the specified project role (`parameter` :project role ID, `value` : project role ID).
         *  `reporter` Grant for the user who reported the issue.
         *  `sd.customer.portal.only` Jira Service Desk only. Grants customers permission to access the customer portal but not Jira. See [Customizing Jira Service Desk permissions](https://confluence.atlassian.com/x/24dKLg) for more information.
         *  `user` Grant for the specified user (`parameter` : user ID - historically this was the userkey but that is deprecated and the account ID should be used, `value` : user ID).
         *  `userCustomField` Grant for a user selected in the specified custom field (`parameter` : custom field ID, `value` : custom field ID).

        #### Built-in permissions ####

        The [built-in Jira permissions](https://confluence.atlassian.com/x/yodKLg) are listed below. Apps can also define custom permissions. See the [project permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation for more information.

        **Project permissions**

         *  `ADMINISTER_PROJECTS`
         *  `BROWSE_PROJECTS`
         *  `MANAGE_SPRINTS_PERMISSION` (Jira Software only)
         *  `SERVICEDESK_AGENT` (Jira Service Desk only)
         *  `VIEW_DEV_TOOLS` (Jira Software only)
         *  `VIEW_READONLY_WORKFLOW`

        **Issue permissions**

         *  `ASSIGNABLE_USER`
         *  `ASSIGN_ISSUES`
         *  `CLOSE_ISSUES`
         *  `CREATE_ISSUES`
         *  `DELETE_ISSUES`
         *  `EDIT_ISSUES`
         *  `LINK_ISSUES`
         *  `MODIFY_REPORTER`
         *  `MOVE_ISSUES`
         *  `RESOLVE_ISSUES`
         *  `SCHEDULE_ISSUES`
         *  `SET_ISSUE_SECURITY`
         *  `TRANSITION_ISSUES`

        **Voters and watchers permissions**

         *  `MANAGE_WATCHERS`
         *  `VIEW_VOTERS_AND_WATCHERS`

        **Comments permissions**

         *  `ADD_COMMENTS`
         *  `DELETE_ALL_COMMENTS`
         *  `DELETE_OWN_COMMENTS`
         *  `EDIT_ALL_COMMENTS`
         *  `EDIT_OWN_COMMENTS`

        **Attachments permissions**

         *  `CREATE_ATTACHMENTS`
         *  `DELETE_ALL_ATTACHMENTS`
         *  `DELETE_OWN_ATTACHMENTS`

        **Time tracking permissions**

         *  `DELETE_ALL_WORKLOGS`
         *  `DELETE_OWN_WORKLOGS`
         *  `EDIT_ALL_WORKLOGS`
         *  `EDIT_OWN_WORKLOGS`
         *  `WORK_ON_ISSUES`

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: getAllPermissionSchemes
      parameters:
        - description: |-
            Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:

             *  `all` Returns all expandable information.
             *  `field` Returns information about the custom field granted the permission.
             *  `group` Returns information about the group that is granted the permission.
             *  `permissions` Returns all permission grants for each permission scheme.
             *  `projectRole` Returns information about the project role granted the permission.
             *  `user` Returns information about the user who is granted the permission.
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"permissionSchemes":[{"id":10000,"self":"https://your-domain.atlassian.net/rest/api/3/permissionscheme/10000","name":"Example permission scheme","description":"description"}]}'
              schema:
                $ref: "#/components/schemas/PermissionSchemes"
          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: Get all permission schemes
      tags:
        - Permission schemes
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:application-role:jira
            - read:field:jira
            - read:group:jira
            - read:permission-scheme:jira
            - read:permission:jira
            - read:project-role:jira
            - read:user:jira
            - read:avatar:jira
            - read:project-category:jira
            - read:project:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates a new permission scheme. You can create a permission scheme with or without defining a set of permission grants.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createPermissionScheme
      parameters:
        - description: |-
            Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:

             *  `all` Returns all expandable information.
             *  `field` Returns information about the custom field granted the permission.
             *  `group` Returns information about the group that is granted the permission.
             *  `permissions` Returns all permission grants for each permission scheme.
             *  `projectRole` Returns information about the project role granted the permission.
             *  `user` Returns information about the user who is granted the permission.
          in: query
          name: expand
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              description: description
              name: Example permission scheme
              permissions:
                - holder:
                    parameter: jira-core-users
                    type: group
                    value: ca85fac0-d974-40ca-a615-7af99c48d24f
                  permission: ADMINISTER_PROJECTS
            schema:
              $ref: "#/components/schemas/PermissionScheme"
        description: The permission scheme to create.
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"id":10000,"self":"https://your-domain.atlassian.net/rest/api/3/permissionscheme/10000","name":"Example permission scheme","description":"description","permissions":[{"id":10000,"self":"https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000","holder":{"type":"group","parameter":"jira-core-users","value":"ca85fac0-d974-40ca-a615-7af99c48d24f","expand":"group"},"permission":"ADMINISTER_PROJECTS"}]}'
              schema:
                $ref: "#/components/schemas/PermissionScheme"
          description: Returned if the permission scheme 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 the necessary permission or the feature is not available in the Jira plan.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Create permission scheme
      tags:
        - Permission schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:permission-scheme:jira
            - read:application-role:jira
            - read:field:jira
            - read:group:jira
            - read:permission-scheme:jira
            - read:permission:jira
            - read:project-role:jira
            - read:user:jira
            - read:avatar:jira
            - read:project-category:jira
            - read:project:jira
          state: Beta
  "/rest/api/3/permissionscheme/{schemeId}":
    delete:
      deprecated: false
      description: |-
        Deletes a permission scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deletePermissionScheme
      parameters:
        - description: The ID of the permission scheme being deleted.
          in: path
          name: schemeId
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          description: Returned if the permission scheme is deleted.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the permission scheme is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete permission scheme
      tags:
        - Permission schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:permission-scheme:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns a permission scheme.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: getPermissionScheme
      parameters:
        - description: The ID of the permission scheme to return.
          in: path
          name: schemeId
          required: true
          schema:
            format: int64
            type: integer
        - description: |-
            Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:

             *  `all` Returns all expandable information.
             *  `field` Returns information about the custom field granted the permission.
             *  `group` Returns information about the group that is granted the permission.
             *  `permissions` Returns all permission grants for each permission scheme.
             *  `projectRole` Returns information about the project role granted the permission.
             *  `user` Returns information about the user who is granted the permission.
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"id":10000,"self":"https://your-domain.atlassian.net/rest/api/3/permissionscheme/10000","name":"Example permission scheme","description":"description","permissions":[{"id":10000,"self":"https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000","holder":{"type":"group","parameter":"jira-core-users","value":"ca85fac0-d974-40ca-a615-7af99c48d24f","expand":"group"},"permission":"ADMINISTER_PROJECTS"}]}'
              schema:
                $ref: "#/components/schemas/PermissionScheme"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the permission scheme is not found or the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
      summary: Get permission scheme
      tags:
        - Permission schemes
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:application-role:jira
            - read:field:jira
            - read:group:jira
            - read:permission-scheme:jira
            - read:permission:jira
            - read:project-role:jira
            - read:user:jira
            - read:avatar:jira
            - read:project-category:jira
            - read:project:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Updates a permission scheme. Below are some important things to note when using this resource:

         *  If a permissions list is present in the request, then it is set in the permission scheme, overwriting *all existing* grants.
         *  If you want to update only the name and description, then do not send a permissions list in the request.
         *  Sending an empty list will remove all permission grants from the permission scheme.

        If you want to add or delete a permission grant instead of updating the whole list, see [Create permission grant](#api-rest-api-3-permissionscheme-schemeId-permission-post) or [Delete permission scheme entity](#api-rest-api-3-permissionscheme-schemeId-permission-permissionId-delete).

        See [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more details.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updatePermissionScheme
      parameters:
        - description: The ID of the permission scheme to update.
          in: path
          name: schemeId
          required: true
          schema:
            format: int64
            type: integer
        - description: |-
            Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:

             *  `all` Returns all expandable information.
             *  `field` Returns information about the custom field granted the permission.
             *  `group` Returns information about the group that is granted the permission.
             *  `permissions` Returns all permission grants for each permission scheme.
             *  `projectRole` Returns information about the project role granted the permission.
             *  `user` Returns information about the user who is granted the permission.
          in: query
          name: expand
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              description: description
              name: Example permission scheme
              permissions:
                - holder:
                    parameter: jira-core-users
                    type: group
                    value: ca85fac0-d974-40ca-a615-7af99c48d24f
                  permission: ADMINISTER_PROJECTS
            schema:
              $ref: "#/components/schemas/PermissionScheme"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"id":10000,"self":"https://your-domain.atlassian.net/rest/api/3/permissionscheme/10000","name":"Example permission scheme","description":"description","permissions":[{"id":10000,"self":"https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000","holder":{"type":"group","parameter":"jira-core-users","value":"ca85fac0-d974-40ca-a615-7af99c48d24f","expand":"group"},"permission":"ADMINISTER_PROJECTS"}]}'
              schema:
                $ref: "#/components/schemas/PermissionScheme"
          description: Returned if the scheme is updated.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: |-
            Returned if:

             *  the user does not have the necessary permission to update permission schemes.
             *  the Jira instance is Jira Core Free or Jira Software Free. Permission schemes cannot be updated on free plans.
        "404":
          description: Returned if the permission scheme is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update permission scheme
      tags:
        - Permission schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:permission-scheme:jira
            - read:application-role:jira
            - read:field:jira
            - read:group:jira
            - read:permission-scheme:jira
            - read:permission:jira
            - read:project-role:jira
            - read:user:jira
            - read:avatar:jira
            - read:project-category:jira
            - read:project:jira
          state: Beta
  "/rest/api/3/permissionscheme/{schemeId}/permission":
    get:
      deprecated: false
      description: |-
        Returns all permission grants for a permission scheme.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: getPermissionSchemeGrants
      parameters:
        - description: The ID of the permission scheme.
          in: path
          name: schemeId
          required: true
          schema:
            format: int64
            type: integer
        - description: |-
            Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:

             *  `permissions` Returns all permission grants for each permission scheme.
             *  `user` Returns information about the user who is granted the permission.
             *  `group` Returns information about the group that is granted the permission.
             *  `projectRole` Returns information about the project role granted the permission.
             *  `field` Returns information about the custom field granted the permission.
             *  `all` Returns all expandable information.
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"permissions":[{"id":10000,"self":"https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000","holder":{"type":"group","parameter":"jira-core-users","value":"ca85fac0-d974-40ca-a615-7af99c48d24f","expand":"group"},"permission":"ADMINISTER_PROJECTS"}],"expand":"user,group,projectRole,field,all"}'
              schema:
                $ref: "#/components/schemas/PermissionGrants"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the permission schemes is not found or the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
      summary: Get permission scheme grants
      tags:
        - Permission schemes
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:application-role:jira
            - read:field:jira
            - read:group:jira
            - read:permission:jira
            - read:project-role:jira
            - read:user:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates a permission grant in a permission scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createPermissionGrant
      parameters:
        - description: The ID of the permission scheme in which to create a new permission grant.
          in: path
          name: schemeId
          required: true
          schema:
            format: int64
            type: integer
        - description: |-
            Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:

             *  `permissions` Returns all permission grants for each permission scheme.
             *  `user` Returns information about the user who is granted the permission.
             *  `group` Returns information about the group that is granted the permission.
             *  `projectRole` Returns information about the project role granted the permission.
             *  `field` Returns information about the custom field granted the permission.
             *  `all` Returns all expandable information.
          in: query
          name: expand
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              holder:
                parameter: jira-core-users
                type: group
                value: ca85fac0-d974-40ca-a615-7af99c48d24f
              permission: ADMINISTER_PROJECTS
            schema:
              $ref: "#/components/schemas/PermissionGrant"
        description: The permission grant to create.
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"id":10000,"self":"https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000","holder":{"type":"group","parameter":"jira-core-users","value":"ca85fac0-d974-40ca-a615-7af99c48d24f","expand":"group"},"permission":"ADMINISTER_PROJECTS"}'
              schema:
                $ref: "#/components/schemas/PermissionGrant"
          description: Returned if the scheme permission is created.
        "400":
          description: Returned if the value for expand is invalid or the same permission grant is present.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Create permission grant
      tags:
        - Permission schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:application-role:jira
            - read:field:jira
            - read:group:jira
            - read:permission:jira
            - read:project-role:jira
            - read:user:jira
            - write:permission:jira
          state: Beta
  "/rest/api/3/permissionscheme/{schemeId}/permission/{permissionId}":
    delete:
      deprecated: false
      description: |-
        Deletes a permission grant from a permission scheme. See [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more details.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deletePermissionSchemeEntity
      parameters:
        - description: The ID of the permission scheme to delete the permission grant from.
          in: path
          name: schemeId
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the permission grant to delete.
          in: path
          name: permissionId
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          description: Returned if the permission grant is deleted.
        "400":
          description: Returned if permission grant with the provided ID is not found.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete permission scheme grant
      tags:
        - Permission schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:permission:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns a permission grant.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: getPermissionSchemeGrant
      parameters:
        - description: The ID of the permission scheme.
          in: path
          name: schemeId
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the permission grant.
          in: path
          name: permissionId
          required: true
          schema:
            format: int64
            type: integer
        - description: |-
            Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:

             *  `all` Returns all expandable information.
             *  `field` Returns information about the custom field granted the permission.
             *  `group` Returns information about the group that is granted the permission.
             *  `permissions` Returns all permission grants for each permission scheme.
             *  `projectRole` Returns information about the project role granted the permission.
             *  `user` Returns information about the user who is granted the permission.
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"id":10000,"self":"https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000","holder":{"type":"group","parameter":"jira-core-users","value":"ca85fac0-d974-40ca-a615-7af99c48d24f","expand":"group"},"permission":"ADMINISTER_PROJECTS"}'
              schema:
                $ref: "#/components/schemas/PermissionGrant"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the permission scheme or permission grant is not found or the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
      summary: Get permission scheme grant
      tags:
        - Permission schemes
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:application-role:jira
            - read:field:jira
            - read:group:jira
            - read:permission:jira
            - read:project-role:jira
            - read:user:jira
          state: Beta
  /rest/api/3/priority:
    get:
      deprecated: true
      description: |-
        Returns the list of all issue priorities.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: getPriorities
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/priority/3","statusColor":"#009900","description":"Major loss of function.","iconUrl":"https://your-domain.atlassian.net/images/icons/priorities/major.png","name":"Major","id":"1"},{"self":"https://your-domain.atlassian.net/rest/api/3/priority/5","statusColor":"#cfcfcf","description":"Very little impact.","iconUrl":"https://your-domain.atlassian.net/images/icons/priorities/trivial.png","name":"Trivial","id":"2"}]'
              schema:
                items:
                  $ref: "#/components/schemas/Priority"
                type: array
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get priorities
      tags:
        - Issue priorities
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:priority:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates an issue priority.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createPriority
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              description: My priority description
              iconUrl: images/icons/priorities/major.png
              name: My new priority
              statusColor: "#ABCDEF"
            schema:
              $ref: "#/components/schemas/CreatePriorityDetails"
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"id":"10001"}'
              schema:
                $ref: "#/components/schemas/PriorityId"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The length of the description must not exceed 255 characters."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request isn't valid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access issue type screen schemes."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Create priority
      tags:
        - Issue priorities
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  /rest/api/3/priority/default:
    put:
      deprecated: false
      description: |-
        Sets default issue priority.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: setDefaultPriority
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              id: "3"
            schema:
              $ref: "#/components/schemas/SetDefaultPriorityRequest"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The id has to be provided."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request isn't valid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["Priority with ID 10000 not found."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the issue priority isn't found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Set default priority
      tags:
        - Issue priorities
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  /rest/api/3/priority/move:
    put:
      deprecated: false
      description: |-
        Changes the order of issue priorities.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: movePriorities
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              after: "10003"
              ids:
                - "10004"
                - "10005"
            schema:
              $ref: "#/components/schemas/ReorderIssuePriorities"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The ids must contain no more than 1,000 items."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request isn't valid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["Priority with ID 10000 not found."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the issue priority isn't found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Move priorities
      tags:
        - Issue priorities
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  /rest/api/3/priority/search:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of priorities. The list can contain all priorities or a subset determined by any combination of these criteria:

         *  a list of priority IDs. Any invalid priority IDs are ignored.
         *  whether the field configuration is a default. This returns priorities from company-managed (classic) projects only, as there is no concept of default priorities in team-managed projects.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: searchPriorities
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: "0"
            type: string
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: "50"
            type: string
        - description: The list of priority IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=2&id=3`.
          in: query
          name: id
          schema:
            items:
              type: string
            type: array
        - description: Whether only the default priority is returned.
          in: query
          name: onlyDefault
          schema:
            default: false
            type: boolean
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":50,"startAt":0,"total":2,"isLast":true,"values":[{"self":"https://your-domain.atlassian.net/rest/api/3/priority/3","statusColor":"#009900","description":"Major loss of function.","iconUrl":"https://your-domain.atlassian.net/images/icons/priorities/major.png","name":"Major","id":"1","isDefault":true},{"self":"https://your-domain.atlassian.net/rest/api/3/priority/5","statusColor":"#cfcfcf","description":"Very little impact.","iconUrl":"https://your-domain.atlassian.net/images/icons/priorities/trivial.png","name":"Trivial","id":"2","isDefault":false}]}'
              schema:
                $ref: "#/components/schemas/PageBeanPriority"
          description: Returned if the request is successful.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Search priorities
      tags:
        - Issue priorities
      x-atlassian-connect-scope: READ
      x-experimental: true
  "/rest/api/3/priority/{id}":
    delete:
      deprecated: false
      description: |-
        Deletes an issue priority.

        This operation is [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deletePriority
      parameters:
        - description: The ID of the issue priority.
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: The ID of the issue priority that will replace the currently selected resolution.
          in: query
          name: replaceWith
          required: true
          schema:
            type: string
      responses:
        "303":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TaskProgressBeanObject"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The newPriority has to be provided."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request isn't valid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["Priority with ID 10000 not found."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the issue priority isn't found.
        "409":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if a task to delete the issue priority is already running.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete priority
      tags:
        - Issue priorities
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
    get:
      deprecated: false
      description: |-
        Returns an issue priority.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: getPriority
      parameters:
        - description: The ID of the issue priority.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/priority/3","statusColor":"#009900","description":"Major loss of function.","iconUrl":"https://your-domain.atlassian.net/images/icons/priorities/major.png","name":"Major","id":"1"}'
              schema:
                $ref: "#/components/schemas/Priority"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect.
        "404":
          description: Returned if the issue priority isn't found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get priority
      tags:
        - Issue priorities
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:priority:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Updates an issue priority.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updatePriority
      parameters:
        - description: The ID of the issue priority.
          in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              description: My updated priority description
              iconUrl: images/icons/priorities/minor.png
              name: My updated priority
              statusColor: "#123456"
            schema:
              $ref: "#/components/schemas/UpdatePriorityDetails"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The length of the description must not exceed 255 characters."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request isn't valid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["Priority with ID 10000 not found."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the issue priority isn't found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update priority
      tags:
        - Issue priorities
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  /rest/api/3/project:
    get:
      deprecated: true
      description: |-
        Returns all projects visible to the user. Deprecated, use [ Get projects paginated](#api-rest-api-3-project-search-get) that supports search and pagination.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** Projects are returned only where the user has *Browse Projects* or *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
      operationId: getAllProjects
      parameters:
        - description: |-
            Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expanded options include:

             *  `description` Returns the project description.
             *  `issueTypes` Returns all issue types associated with the project.
             *  `lead` Returns information about the project lead.
             *  `projectKeys` Returns all project keys associated with the project.
          in: query
          name: expand
          schema:
            type: string
        - description: Returns the user's most recently accessed projects. You may specify the number of results to return up to a maximum of 20. If access is anonymous, then the recently accessed projects are based on the current HTTP session.
          in: query
          name: recent
          schema:
            format: int32
            type: integer
        - description: A list of project properties to return for the project. This parameter accepts a comma-separated list.
          in: query
          name: properties
          schema:
            items:
              type: string
            type: array
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000","24x24":"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000","16x16":"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000","32x32":"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"},"simplified":false,"style":"classic","insight":{"totalIssueCount":100,"lastIssueUpdateTime":"2023-04-21T12:39:27.599+0000"}},{"self":"https://your-domain.atlassian.net/rest/api/3/project/ABC","id":"10001","key":"ABC","name":"Alphabetical","avatarUrls":{"48x48":"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10001","24x24":"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10001","16x16":"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10001","32x32":"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10001"},"projectCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"},"simplified":false,"style":"classic","insight":{"totalIssueCount":100,"lastIssueUpdateTime":"2023-04-21T12:39:27.599+0000"}}]'
              schema:
                items:
                  $ref: "#/components/schemas/Project"
                type: array
          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: Get all projects
      tags:
        - Projects
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-type:jira
            - read:project:jira
            - read:project.property:jira
            - read:user:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:issue-type-hierarchy:jira
            - read:project-category:jira
            - read:project-version:jira
            - read:project.component:jira
          state: Beta
      x-changes:
        - announced: 2018-10-19
          details: https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-removal-of-get-filters-and-get-all-projects/
          effective: 2019-04-19
          type: removed
    post:
      deprecated: false
      description: |-
        Creates a project based on a project type template, as shown in the following table:

        | Project Type Key | Project Template Key |  
        |--|--|  
        | `business` | `com.atlassian.jira-core-project-templates:jira-core-simplified-content-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval`, `com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking`, `com.atlassian.jira-core-project-templates:jira-core-simplified-process-control`, `com.atlassian.jira-core-project-templates:jira-core-simplified-procurement`, `com.atlassian.jira-core-project-templates:jira-core-simplified-project-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment`, `com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking` |  
        | `service_desk` | `com.atlassian.servicedesk:simplified-it-service-management`, `com.atlassian.servicedesk:simplified-general-service-desk-it`, `com.atlassian.servicedesk:simplified-general-service-desk-business`, `com.atlassian.servicedesk:simplified-internal-service-desk`, `com.atlassian.servicedesk:simplified-external-service-desk`, `com.atlassian.servicedesk:simplified-hr-service-desk`, `com.atlassian.servicedesk:simplified-facilities-service-desk`, `com.atlassian.servicedesk:simplified-legal-service-desk`, `com.atlassian.servicedesk:simplified-analytics-service-desk`, `com.atlassian.servicedesk:simplified-marketing-service-desk`, `com.atlassian.servicedesk:simplified-design-service-desk`, `com.atlassian.servicedesk:simplified-sales-service-desk`, `com.atlassian.servicedesk:simplified-finance-service-desk` |  
        | `software` | `com.pyxis.greenhopper.jira:gh-simplified-agility-kanban`, `com.pyxis.greenhopper.jira:gh-simplified-agility-scrum`, `com.pyxis.greenhopper.jira:gh-simplified-basic`, `com.pyxis.greenhopper.jira:gh-simplified-kanban-classic`, `com.pyxis.greenhopper.jira:gh-simplified-scrum-classic` |  
        The project types are available according to the installed Jira features as follows:

         *  Jira Core, the default, enables `business` projects.
         *  Jira Service Management enables `service_desk` projects.
         *  Jira Software enables `software` projects.

        To determine which features are installed, go to **Jira settings** > **Apps** > **Manage apps** and review the System Apps list. To add Jira Software or Jira Service Management into a JIRA instance, use **Jira settings** > **Apps** > **Finding new apps**. For more information, see [ Managing add-ons](https://confluence.atlassian.com/x/S31NLg).

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createProject
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              assigneeType: PROJECT_LEAD
              avatarId: 10200
              categoryId: 10120
              description: Cloud migration initiative
              issueSecurityScheme: 10001
              key: EX
              leadAccountId: 5b10a0effa615349cb016cd8
              name: Example
              notificationScheme: 10021
              permissionScheme: 10011
              projectTemplateKey: com.atlassian.jira-core-project-templates:jira-core-simplified-process-control
              projectTypeKey: business
              url: http://atlassian.com
            schema:
              $ref: "#/components/schemas/CreateProjectDetails"
        description: The JSON representation of the project being created.
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/jira/rest/api/3/project/10042","id":10010,"key":"EX"}'
              schema:
                $ref: "#/components/schemas/ProjectIdentifiers"
          description: Returned if the project is created.
        "400":
          description: Returned if the request is not valid and the project could not be created.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have permission to create projects.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
        - {}
      summary: Create project
      tags:
        - Projects
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:project:jira
            - read:project:jira
          state: Beta
  /rest/api/3/project/recent:
    get:
      deprecated: false
      description: |-
        Returns a list of up to 20 projects recently viewed by the user that are still visible to the user.

        This operation can be accessed anonymously.

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

         *  *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
         *  *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
         *  *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getRecent
      parameters:
        - description: |-
            Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expanded options include:

             *  `description` Returns the project description.
             *  `projectKeys` Returns all project keys associated with a project.
             *  `lead` Returns information about the project lead.
             *  `issueTypes` Returns all issue types associated with the project.
             *  `url` Returns the URL associated with the project.
             *  `permissions` Returns the permissions associated with the project.
             *  `insight` EXPERIMENTAL. Returns the insight details of total issue count and last issue update time for the project.
             *  `*` Returns the project with all available expand options.
          in: query
          name: expand
          schema:
            type: string
        - description: EXPERIMENTAL. A list of project properties to return for the project. This parameter accepts a comma-separated list. Invalid property names are ignored.
          in: query
          name: properties
          schema:
            items:
              $ref: "#/components/schemas/StringList"
            type: array
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000","24x24":"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000","16x16":"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000","32x32":"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"},"simplified":false,"style":"classic","insight":{"totalIssueCount":100,"lastIssueUpdateTime":"2023-04-21T12:39:27.599+0000"}},{"self":"https://your-domain.atlassian.net/rest/api/3/project/ABC","id":"10001","key":"ABC","name":"Alphabetical","avatarUrls":{"48x48":"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10001","24x24":"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10001","16x16":"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10001","32x32":"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10001"},"projectCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"},"simplified":false,"style":"classic","insight":{"totalIssueCount":100,"lastIssueUpdateTime":"2023-04-21T12:39:27.599+0000"}}]'
              schema:
                items:
                  $ref: "#/components/schemas/Project"
                type: array
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get recent projects
      tags:
        - Projects
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-type:jira
            - read:project:jira
            - read:project.property:jira
            - read:user:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:issue-type-hierarchy:jira
            - read:project-category:jira
            - read:project-version:jira
            - read:project.component:jira
          state: Beta
      x-experimental: true
  /rest/api/3/project/search:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of projects visible to the user.

        This operation can be accessed anonymously.

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

         *  *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
         *  *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
         *  *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: searchProjects
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: |-
            [Order](#ordering) the results by a field.

             *  `category` Sorts by project category. A complete list of category IDs is found using [Get all project categories](#api-rest-api-3-projectCategory-get).
             *  `issueCount` Sorts by the total number of issues in each project.
             *  `key` Sorts by project key.
             *  `lastIssueUpdatedTime` Sorts by the last issue update time.
             *  `name` Sorts by project name.
             *  `owner` Sorts by project lead.
             *  `archivedDate` EXPERIMENTAL. Sorts by project archived date.
             *  `deletedDate` EXPERIMENTAL. Sorts by project deleted date.
          in: query
          name: orderBy
          schema:
            default: key
            enum:
              - category
              - -category
              - +category
              - key
              - -key
              - +key
              - name
              - -name
              - +name
              - owner
              - -owner
              - +owner
              - issueCount
              - -issueCount
              - +issueCount
              - lastIssueUpdatedDate
              - -lastIssueUpdatedDate
              - +lastIssueUpdatedDate
              - archivedDate
              - +archivedDate
              - -archivedDate
              - deletedDate
              - +deletedDate
              - -deletedDate
            type: string
        - description: The project IDs to filter the results by. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`. Up to 50 project IDs can be provided.
          in: query
          name: id
          schema:
            items:
              format: int64
              type: integer
            type: array
            uniqueItems: true
        - description: The project keys to filter the results by. To include multiple keys, provide an ampersand-separated list. For example, `keys=PA&keys=PB`. Up to 50 project keys can be provided.
          in: query
          name: keys
          schema:
            items:
              type: string
            type: array
            uniqueItems: true
        - description: Filter the results using a literal string. Projects with a matching `key` or `name` are returned (case insensitive).
          in: query
          name: query
          schema:
            type: string
        - description: Orders results by the [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes). This parameter accepts a comma-separated list. Valid values are `business`, `service_desk`, and `software`.
          in: query
          name: typeKey
          schema:
            type: string
        - description: The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-3-projectCategory-get) operation.
          in: query
          name: categoryId
          schema:
            format: int64
            type: integer
        - description: |-
            Filter results by projects for which the user can:

             *  `view` the project, meaning that they have one of the following permissions:
                
                 *  *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
                 *  *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
                 *  *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
             *  `browse` the project, meaning that they have the *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
             *  `edit` the project, meaning that they have one of the following permissions:
                
                 *  *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
                 *  *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
          in: query
          name: action
          schema:
            default: view
            enum:
              - view
              - browse
              - edit
            type: string
        - description: |-
            Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expanded options include:

             *  `description` Returns the project description.
             *  `projectKeys` Returns all project keys associated with a project.
             *  `lead` Returns information about the project lead.
             *  `issueTypes` Returns all issue types associated with the project.
             *  `url` Returns the URL associated with the project.
             *  `insight` EXPERIMENTAL. Returns the insight details of total issue count and last issue update time for the project.
          in: query
          name: expand
          schema:
            type: string
        - description: |-
            EXPERIMENTAL. Filter results by project status:

             *  `live` Search live projects.
             *  `archived` Search archived projects.
             *  `deleted` Search deleted projects, those in the recycle bin.
          in: query
          name: status
          schema:
            items:
              default: live
              enum:
                - live
                - archived
                - deleted
              type: string
            type: array
        - description: EXPERIMENTAL. A list of project properties to return for the project. This parameter accepts a comma-separated list.
          in: query
          name: properties
          schema:
            items:
              $ref: "#/components/schemas/StringList"
            type: array
        - description: EXPERIMENTAL. A query string used to search properties. The query string cannot be specified using a JSON object. For example, to search for the value of `nested` from `{"something":{"nested":1,"other":2}}` use `[thepropertykey].something.nested=1`. Note that the propertyQuery key is enclosed in square brackets to enable searching where the propertyQuery key includes dot (.) or equals (=) characters. Note that `thepropertykey` is only returned when included in `properties`.
          in: query
          name: propertyQuery
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/project/search?startAt=0&maxResults=2","nextPage":"https://your-domain.atlassian.net/rest/api/3/project/search?startAt=2&maxResults=2","maxResults":2,"startAt":0,"total":7,"isLast":false,"values":[{"self":"https://your-domain.atlassian.net/rest/api/3/project/EX","id":"10000","key":"EX","name":"Example","avatarUrls":{"48x48":"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000","24x24":"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000","16x16":"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000","32x32":"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"},"simplified":false,"style":"classic","insight":{"totalIssueCount":100,"lastIssueUpdateTime":"2023-04-21T12:39:27.599+0000"}},{"self":"https://your-domain.atlassian.net/rest/api/3/project/ABC","id":"10001","key":"ABC","name":"Alphabetical","avatarUrls":{"48x48":"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10001","24x24":"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10001","16x16":"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10001","32x32":"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10001"},"projectCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"},"simplified":false,"style":"classic","insight":{"totalIssueCount":100,"lastIssueUpdateTime":"2023-04-21T12:39:27.599+0000"}}]}'
              schema:
                $ref: "#/components/schemas/PageBeanProject"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if no projects matching the search criteria are found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get projects paginated
      tags:
        - Projects
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-type:jira
            - read:project:jira
            - read:project.property:jira
            - read:user:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:issue-type-hierarchy:jira
            - read:project-category:jira
            - read:project-version:jira
            - read:project.component:jira
          state: Beta
  /rest/api/3/project/type:
    get:
      deprecated: false
      description: |-
        Returns all [project types](https://confluence.atlassian.com/x/Var1Nw), whether or not the instance has a valid license for each type.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None.
      operationId: getAllProjectTypes
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '[{"key":"business","formattedKey":"Business","descriptionI18nKey":"jira.project.type.business.description","icon":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+","color":"#FFFFFF"},{"key":"software","formattedKey":"Software","descriptionI18nKey":"jira.project.type.software.description","icon":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+","color":"#AAAAAA"}]'
              schema:
                items:
                  $ref: "#/components/schemas/ProjectType"
                type: array
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get all project types
      tags:
        - Project types
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project-type:jira
          state: Beta
  /rest/api/3/project/type/accessible:
    get:
      deprecated: false
      description: Returns all [project types](https://confluence.atlassian.com/x/Var1Nw) with a valid license.
      operationId: getAllAccessibleProjectTypes
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '[{"key":"business","formattedKey":"Business","descriptionI18nKey":"jira.project.type.business.description","icon":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+","color":"#FFFFFF"},{"key":"software","formattedKey":"Software","descriptionI18nKey":"jira.project.type.software.description","icon":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+","color":"#AAAAAA"}]'
              schema:
                items:
                  $ref: "#/components/schemas/ProjectType"
                type: array
          description: Returned if the request is successful.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get licensed project types
      tags:
        - Project types
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project-type:jira
          state: Beta
  "/rest/api/3/project/type/{projectTypeKey}":
    get:
      deprecated: false
      description: |-
        Returns a [project type](https://confluence.atlassian.com/x/Var1Nw).

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None.
      operationId: getProjectTypeByKey
      parameters:
        - description: The key of the project type.
          in: path
          name: projectTypeKey
          required: true
          schema:
            enum:
              - software
              - service_desk
              - business
              - product_discovery
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"key":"business","formattedKey":"Business","descriptionI18nKey":"jira.project.type.business.description","icon":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+","color":"#FFFFFF"}'
              schema:
                $ref: "#/components/schemas/ProjectType"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect.
        "404":
          description: Returned if the project type is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get project type by key
      tags:
        - Project types
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project-type:jira
          state: Beta
  "/rest/api/3/project/type/{projectTypeKey}/accessible":
    get:
      deprecated: false
      description: |-
        Returns a [project type](https://confluence.atlassian.com/x/Var1Nw) if it is accessible to the user.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: getAccessibleProjectTypeByKey
      parameters:
        - description: The key of the project type.
          in: path
          name: projectTypeKey
          required: true
          schema:
            enum:
              - software
              - service_desk
              - business
              - product_discovery
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"key":"business","formattedKey":"Business","descriptionI18nKey":"jira.project.type.business.description","icon":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+","color":"#FFFFFF"}'
              schema:
                $ref: "#/components/schemas/ProjectType"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the project type is not accessible to the user.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get accessible project type by key
      tags:
        - Project types
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project-type:jira
          state: Beta
  "/rest/api/3/project/{projectIdOrKey}":
    delete:
      deprecated: false
      description: |-
        Deletes a project.

        You can't delete a project if it's archived. To delete an archived project, restore the project and then delete it. To restore a project, use the Jira UI.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteProject
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
        - description: Whether this project is placed in the Jira recycle bin where it will be available for restoration.
          in: query
          name: enableUndo
          schema:
            default: false
            type: boolean
      responses:
        "204":
          description: Returned if the project is deleted.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the project is not found or the user does not have permission to delete it.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
        - {}
      summary: Delete project
      tags:
        - Projects
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:project:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns the [project details](https://confluence.atlassian.com/x/ahLpNw) for a project.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
      operationId: getProject
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
        - description: |-
            Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that the project description, issue types, and project lead are included in all responses by default. Expand options include:

             *  `description` The project description.
             *  `issueTypes` The issue types associated with the project.
             *  `lead` The project lead.
             *  `projectKeys` All project keys associated with the project.
             *  `issueTypeHierarchy` The project issue type hierarchy.
          in: query
          name: expand
          schema:
            type: string
        - description: A list of project properties to return for the project. This parameter accepts a comma-separated list.
          in: query
          name: properties
          schema:
            items:
              type: string
            type: array
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/project/EX","id":"10000","key":"EX","description":"This project was created as an example for REST.","lead":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"components":[{"self":"https://your-domain.atlassian.net/rest/api/3/component/10000","id":"10000","name":"Component 1","description":"This is a Jira component","lead":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"assigneeType":"PROJECT_LEAD","assignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"realAssigneeType":"PROJECT_LEAD","realAssignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"isAssigneeTypeValid":false,"project":"HSP","projectId":10000}],"issueTypes":[{"self":"https://your-domain.atlassian.net/rest/api/3/issueType/3","id":"3","description":"A task that needs to be done.","iconUrl":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\",","name":"Task","subtask":false,"avatarId":1,"hierarchyLevel":0},{"self":"https://your-domain.atlassian.net/rest/api/3/issueType/1","id":"1","description":"A problem with the software.","iconUrl":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\",","name":"Bug","subtask":false,"avatarId":10002,"entityId":"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2","hierarchyLevel":0,"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}}],"url":"https://www.example.com","email":"from-jira@example.com","assigneeType":"PROJECT_LEAD","versions":[],"name":"Example","roles":{"Developers":"https://your-domain.atlassian.net/rest/api/3/project/EX/role/10000"},"avatarUrls":{"48x48":"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000","24x24":"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000","16x16":"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000","32x32":"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"},"simplified":false,"style":"classic","properties":{"propertyKey":"propertyValue"},"insight":{"totalIssueCount":100,"lastIssueUpdateTime":"2023-04-21T12:39:27.599+0000"}}'
              schema:
                $ref: "#/components/schemas/Project"
          description: Returned if successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the project is not found or the user does not have permission to view it.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get project
      tags:
        - Projects
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-type:jira
            - read:project:jira
            - read:project.property:jira
            - read:user:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:issue-type-hierarchy:jira
            - read:project-category:jira
            - read:project-version:jira
            - read:project.component:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Updates the [project details](https://confluence.atlassian.com/x/ahLpNw) of a project.

        All parameters are optional in the body of the request.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateProject
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
        - description: |-
            Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that the project description, issue types, and project lead are included in all responses by default. Expand options include:

             *  `description` The project description.
             *  `issueTypes` The issue types associated with the project.
             *  `lead` The project lead.
             *  `projectKeys` All project keys associated with the project.
          in: query
          name: expand
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              assigneeType: PROJECT_LEAD
              avatarId: 10200
              categoryId: 10120
              description: Cloud migration initiative
              issueSecurityScheme: 10001
              key: EX
              leadAccountId: 5b10a0effa615349cb016cd8
              name: Example
              notificationScheme: 10021
              permissionScheme: 10011
              url: http://atlassian.com
            schema:
              $ref: "#/components/schemas/UpdateProjectDetails"
        description: The project details to be updated.
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/project/EX","id":"10000","key":"EX","description":"This project was created as an example for REST.","lead":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"components":[{"self":"https://your-domain.atlassian.net/rest/api/3/component/10000","id":"10000","name":"Component 1","description":"This is a Jira component","lead":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"assigneeType":"PROJECT_LEAD","assignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"realAssigneeType":"PROJECT_LEAD","realAssignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"isAssigneeTypeValid":false,"project":"HSP","projectId":10000}],"issueTypes":[{"self":"https://your-domain.atlassian.net/rest/api/3/issueType/3","id":"3","description":"A task that needs to be done.","iconUrl":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\",","name":"Task","subtask":false,"avatarId":1,"hierarchyLevel":0},{"self":"https://your-domain.atlassian.net/rest/api/3/issueType/1","id":"1","description":"A problem with the software.","iconUrl":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\",","name":"Bug","subtask":false,"avatarId":10002,"entityId":"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2","hierarchyLevel":0,"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}}],"url":"https://www.example.com","email":"from-jira@example.com","assigneeType":"PROJECT_LEAD","versions":[],"name":"Example","roles":{"Developers":"https://your-domain.atlassian.net/rest/api/3/project/EX/role/10000"},"avatarUrls":{"48x48":"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000","24x24":"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000","16x16":"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000","32x32":"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"},"simplified":false,"style":"classic","properties":{"propertyKey":"propertyValue"},"insight":{"totalIssueCount":100,"lastIssueUpdateTime":"2023-04-21T12:39:27.599+0000"}}'
              schema:
                $ref: "#/components/schemas/Project"
          description: Returned if the project is updated.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: |-
            Returned if:

             *  the user does not have the necessary permission to update project details.
             *  the permission scheme is being changed and the Jira instance is Jira Core Free or Jira Software Free. Permission schemes cannot be changed on free plans.
        "404":
          description: Returned if the project is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Update project
      tags:
        - Projects
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-type:jira
            - read:project:jira
            - read:project.property:jira
            - read:user:jira
            - write:project:jira
            - write:project.avatar:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:issue-type-hierarchy:jira
            - read:project-category:jira
            - read:project-version:jira
            - read:project.component:jira
          state: Beta
  "/rest/api/3/project/{projectIdOrKey}/archive":
    post:
      deprecated: false
      description: |-
        Archives a project. You can't delete a project if it's archived. To delete an archived project, restore the project and then delete it. To restore a project, use the Jira UI.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: archiveProject
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectIdOrKey
          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 not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permissions.
        "404":
          description: Returned if the project is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Archive project
      tags:
        - Projects
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - write:project:jira
          state: Beta
  "/rest/api/3/project/{projectIdOrKey}/avatar":
    put:
      deprecated: false
      description: |-
        Sets the avatar displayed for a project.

        Use [Load project avatar](#api-rest-api-3-project-projectIdOrKey-avatar2-post) to store avatars against the project, before using this operation to set the displayed avatar.

        **[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).
      operationId: updateProjectAvatar
      parameters:
        - description: The ID or (case-sensitive) key of the project.
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              id: "10010"
            schema:
              $ref: "#/components/schemas/Avatar"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have permission to administer the project.
        "404":
          description: Returned if the project or avatar is not found or the user does not have permission to view the project.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Set project avatar
      tags:
        - Project avatars
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - write:project.avatar:jira
          state: Beta
  "/rest/api/3/project/{projectIdOrKey}/avatar/{id}":
    delete:
      deprecated: false
      description: |-
        Deletes a custom avatar from a project. Note that system avatars cannot be deleted.

        **[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).
      operationId: deleteProjectAvatar
      parameters:
        - description: The project ID or (case-sensitive) key.
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
        - description: The ID of the avatar.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the avatar is a system avatar or the user does not have permission to administer the project.
        "404":
          description: Returned if the project or avatar is not found or the user does not have permission to view the project.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Delete project avatar
      tags:
        - Project avatars
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:project.avatar:jira
          state: Beta
  "/rest/api/3/project/{projectIdOrKey}/avatar2":
    post:
      deprecated: false
      description: |-
        Loads an avatar for a project.

        Specify the avatar's local file location in the body of the request. Also, include the following headers:

         *  `X-Atlassian-Token: no-check` To prevent XSRF protection blocking the request, for more information see [Special Headers](#special-request-headers).
         *  `Content-Type: image/image type` Valid image types are JPEG, GIF, or PNG.

        For example:  
        `curl --request POST `

        `--user email@example.com:<api_token> `

        `--header 'X-Atlassian-Token: no-check' `

        `--header 'Content-Type: image/< image_type>' `

        `--data-binary "<@/path/to/file/with/your/avatar>" `

        `--url 'https://your-domain.atlassian.net/rest/api/3/project/{projectIdOrKey}/avatar2'`

        The avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of the image. The length of the square's sides is set to the smaller of the height or width of the image.

        The cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.

        After creating the avatar use [Set project avatar](#api-rest-api-3-project-projectIdOrKey-avatar-put) to set it as the project's displayed avatar.

        **[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).
      operationId: createProjectAvatar
      parameters:
        - description: The ID or (case-sensitive) key of the project.
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
        - description: The X coordinate of the top-left corner of the crop region.
          in: query
          name: x
          schema:
            default: 0
            format: int32
            type: integer
        - description: The Y coordinate of the top-left corner of the crop region.
          in: query
          name: y
          schema:
            default: 0
            format: int32
            type: integer
        - description: The length of each side of the crop region.
          in: query
          name: size
          schema:
            format: int32
            type: integer
      requestBody:
        content:
          "*/*":
            schema: {}
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"id":"1010","isSystemAvatar":false,"isSelected":false,"isDeletable":true}'
              schema:
                $ref: "#/components/schemas/Avatar"
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if:

             *  an image isn't included in the request.
             *  the image type is unsupported.
             *  the crop parameters extend the crop area beyond the edge of the image.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have permission to administer the project or an anonymous call is made to the operation.
        "404":
          description: Returned if the project is not found or the user does not have permission to view the project.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Load project avatar
      tags:
        - Project avatars
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - write:project.avatar:jira
            - read:avatar:jira
          state: Beta
  "/rest/api/3/project/{projectIdOrKey}/avatars":
    get:
      deprecated: false
      description: |-
        Returns all project avatars, grouped by system and custom avatars.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
      operationId: getAllProjectAvatars
      parameters:
        - description: The ID or (case-sensitive) key of the project.
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"system":[{"id":"1000","isSystemAvatar":true,"isSelected":false,"isDeletable":false,"urls":{"16x16":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10040&avatarType=project","24x24":"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10040&avatarType=project","32x32":"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10040&avatarType=project","48x48":"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10040&avatarType=project"}}],"custom":[{"id":"1010","isSystemAvatar":false,"isSelected":false,"isDeletable":true,"urls":{"16x16":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10080&avatarType=project","24x24":"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10080&avatarType=project","32x32":"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10080&avatarType=project","48x48":"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10080&avatarType=project"}}]}'
              schema:
                $ref: "#/components/schemas/ProjectAvatars"
          description: Returned if request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the project is not found or the user does not have permission to view the project.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get all project avatars
      tags:
        - Project avatars
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project.avatar:jira
            - read:avatar:jira
          state: Beta
  "/rest/api/3/project/{projectIdOrKey}/component":
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of all components in a project. See the [Get project components](#api-rest-api-3-project-projectIdOrKey-components-get) resource if you want to get a full list of versions without pagination.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
      operationId: getProjectComponentsPaginated
      parameters:
        - description: The project ID or project key (case sensitive).
          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: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: |-
            [Order](#ordering) the results by a field:

             *  `description` Sorts by the component description.
             *  `issueCount` Sorts by the count of issues associated with the component.
             *  `lead` Sorts by the user key of the component's project lead.
             *  `name` Sorts by component name.
          in: query
          name: orderBy
          schema:
            enum:
              - description
              - -description
              - +description
              - issueCount
              - -issueCount
              - +issueCount
              - lead
              - -lead
              - +lead
              - name
              - -name
              - +name
            type: string
        - description: Filter the results using a literal string. Components with a matching `name` or `description` are returned (case insensitive).
          in: query
          name: query
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/project/PR/component?startAt=0&maxResults=2","nextPage":"https://your-domain.atlassian.net/rest/api/3/project/PR/component?startAt=2&maxResults=2","maxResults":2,"startAt":0,"total":7,"isLast":false,"values":[{"componentBean":{"self":"https://your-domain.atlassian.net/rest/api/3/component/10000","id":"10000","name":"Component 1","description":"This is a Jira component","lead":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"assigneeType":"PROJECT_LEAD","assignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"realAssigneeType":"PROJECT_LEAD","realAssignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"isAssigneeTypeValid":false,"project":"HSP","projectId":10000},"issueCount":1,"name":"Component 1","id":"10000","description":"This is a Jira component","project":"HSP","self":"https://your-domain.atlassian.net/rest/api/3/component/10000","realAssignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"isAssigneeTypeValid":false,"realAssigneeType":"PROJECT_LEAD","projectId":10000,"assignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"lead":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"assigneeType":"PROJECT_LEAD"},{"componentBean":{"self":"https://your-domain.atlassian.net/rest/api/3/component/10000","id":"10050","name":"PXA","description":"This is a another Jira component","lead":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"assigneeType":"PROJECT_LEAD","assignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"realAssigneeType":"PROJECT_LEAD","realAssignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"isAssigneeTypeValid":false,"project":"PROJECTKEY","projectId":10000},"issueCount":5,"name":"PXA","id":"10050","description":"This is a another Jira component","project":"PROJECTKEY","self":"https://your-domain.atlassian.net/rest/api/3/component/10000","realAssignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"isAssigneeTypeValid":false,"realAssigneeType":"PROJECT_LEAD","projectId":10000,"assignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"lead":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"assigneeType":"PROJECT_LEAD"}]}'
              schema:
                $ref: "#/components/schemas/PageBeanComponentWithIssueCount"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the project is not found or the user does not have permission to view it.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get project components paginated
      tags:
        - Project components
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project:jira
            - read:project.component:jira
            - read:user:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
          state: Beta
  "/rest/api/3/project/{projectIdOrKey}/components":
    get:
      deprecated: false
      description: |-
        Returns all components in a project. See the [Get project components paginated](#api-rest-api-3-project-projectIdOrKey-component-get) resource if you want to get a full list of components with pagination.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
      operationId: getProjectComponents
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/component/10000","id":"10000","name":"Component 1","description":"This is a Jira component","lead":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"assigneeType":"PROJECT_LEAD","assignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"realAssigneeType":"PROJECT_LEAD","realAssignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"isAssigneeTypeValid":false,"project":"HSP","projectId":10000},{"self":"https://your-domain.atlassian.net/rest/api/3/component/10000","id":"10050","name":"PXA","description":"This is a another Jira component","lead":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"assigneeType":"PROJECT_LEAD","assignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"realAssigneeType":"PROJECT_LEAD","realAssignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"isAssigneeTypeValid":false,"project":"PROJECTKEY","projectId":10000}]'
              schema:
                items:
                  $ref: "#/components/schemas/ProjectComponent"
                type: array
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the project is not found or the user does not have permission to view it.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get project components
      tags:
        - Project components
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project:jira
            - read:project.component:jira
            - read:user:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
          state: Beta
  "/rest/api/3/project/{projectIdOrKey}/delete":
    post:
      deprecated: false
      description: |-
        Deletes a project asynchronously.

        This operation is:

         *  transactional, that is, if part of the delete fails the project is not 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:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteProjectAsynchronously
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
      responses:
        "303":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TaskProgressBeanObject"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the project is not found or the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
        - {}
      summary: Delete project asynchronously
      tags:
        - Projects
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:project:jira
            - write:project.property:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/project/{projectIdOrKey}/features":
    get:
      deprecated: false
      description: Returns the list of features for a project.
      operationId: getFeaturesForProject
      parameters:
        - description: The ID or (case-sensitive) key of the project.
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"features":[{"projectId":10001,"state":"ENABLED","toggleLocked":true,"feature":"jsw.classic.roadmap","prerequisites":[],"localisedName":"Roadmap","localisedDescription":"Your roadmap is an optimized location to create and manage your epics.","imageUri":"https://jira.atlassian.com/s/sb53l8/b/3/ab8a7691e4738b4f147e293f0864adfd5b8d3c85/_/download/resources/com.atlassian.jira.rest:classic-project-features/simple-roadmap-feature.svg"},{"projectId":10001,"state":"ENABLED","toggleLocked":true,"feature":"jsw.classic.backlog","prerequisites":[],"localisedName":"Backlog","localisedDescription":"Plan and prioritize work in a dedicated space. To enable and configure the backlog for each board, go to board settings.","imageUri":"https://jira.atlassian.com/s/sb53l8/b/3/ab8a7691e4738b4f147e293f0864adfd5b8d3c85/_/download/resources/com.atlassian.jira.rest:classic-project-features/simple-backlog-feature.svg"}]}'
              schema:
                $ref: "#/components/schemas/ContainerForProjectFeatures"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the required permissions.
        "404":
          description: Returned if the project is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
      summary: Get project features
      tags:
        - Project features
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project.feature:jira
          state: Beta
  "/rest/api/3/project/{projectIdOrKey}/features/{featureKey}":
    put:
      deprecated: false
      description: Sets the state of a project feature.
      operationId: toggleFeatureForProject
      parameters:
        - description: The ID or (case-sensitive) key of the project.
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
        - description: The key of the feature.
          in: path
          name: featureKey
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              state: ENABLED
            schema:
              $ref: "#/components/schemas/ProjectFeatureState"
        description: Details of the feature state change.
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"features":[{"projectId":10001,"state":"ENABLED","toggleLocked":true,"feature":"jsw.classic.roadmap","prerequisites":[],"localisedName":"Roadmap","localisedDescription":"Your roadmap is an optimized location to create and manage your epics.","imageUri":"https://jira.atlassian.com/s/sb53l8/b/3/ab8a7691e4738b4f147e293f0864adfd5b8d3c85/_/download/resources/com.atlassian.jira.rest:classic-project-features/simple-roadmap-feature.svg"},{"projectId":10001,"state":"ENABLED","toggleLocked":true,"feature":"jsw.classic.backlog","prerequisites":[],"localisedName":"Backlog","localisedDescription":"Plan and prioritize work in a dedicated space. To enable and configure the backlog for each board, go to board settings.","imageUri":"https://jira.atlassian.com/s/sb53l8/b/3/ab8a7691e4738b4f147e293f0864adfd5b8d3c85/_/download/resources/com.atlassian.jira.rest:classic-project-features/simple-backlog-feature.svg"}]}'
              schema:
                $ref: "#/components/schemas/ContainerForProjectFeatures"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the required permissions.
        "404":
          description: Returned if the project or project feature is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
      summary: Set project feature state
      tags:
        - Project features
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - write:project.feature:jira
            - read:project.feature:jira
          state: Beta
  "/rest/api/3/project/{projectIdOrKey}/properties":
    get:
      deprecated: false
      description: |-
        Returns all [project property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties) keys for the project.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
      operationId: getProjectPropertyKeys
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"keys":[{"self":"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support","key":"issue.support"}]}'
              schema:
                $ref: "#/components/schemas/PropertyKeys"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect.
        "403":
          description: Returned if the user does not have permission to view the project.
        "404":
          description: Returned if the project is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get project property keys
      tags:
        - Project properties
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project.property:jira
            - read:comment.property:jira
            - read:dashboard.property:jira
            - read:issue-type.property:jira
            - read:issue-worklog.property:jira
            - read:issue.property:jira
            - read:user.property:jira
            - read:workflow.property:jira
          state: Beta
  "/rest/api/3/project/{projectIdOrKey}/properties/{propertyKey}":
    delete:
      deprecated: false
      description: |-
        Deletes the [property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties) from a project.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the property.
      operationId: deleteProjectProperty
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
        - description: The project property key. Use [Get project property keys](#api-rest-api-3-project-projectIdOrKey-properties-get) to get a list of all project property keys.
          in: path
          name: propertyKey
          required: true
          schema:
            type: string
      responses:
        "204":
          description: Returned if the project property is deleted.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect.
        "403":
          description: Returned if the user does not have permission to administer the project.
        "404":
          description: Returned if the project or property is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Delete project property
      tags:
        - Project properties
      x-atlassian-connect-scope: DELETE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:project.property:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns the value of a [project property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the property.
      operationId: getProjectProperty
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
        - description: The project property key. Use [Get project property keys](#api-rest-api-3-project-projectIdOrKey-properties-get) to get a list of all project property keys.
          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 request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect.
        "403":
          description: Returned if the user does not have permission to view the project.
        "404":
          description: Returned if the project or property is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get project property
      tags:
        - Project properties
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project.property:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Sets the value of the [project property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties). You can use project properties to store custom data against the project.

        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:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the property is created.
      operationId: setProjectProperty
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
        - description: The key of the project property. The maximum length is 255 characters.
          in: path
          name: propertyKey
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              number: 5
              string: string-value
            schema: {}
        required: true
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Returned if the project property is updated.
        "201":
          content:
            application/json:
              schema: {}
          description: Returned if the project property is created.
        "400":
          description: Returned if the project key or id is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect.
        "403":
          description: Returned if the user does not have permission to administer the project.
        "404":
          description: Returned if the project is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Set project property
      tags:
        - Project properties
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - write:project.property:jira
          state: Beta
  "/rest/api/3/project/{projectIdOrKey}/restore":
    post:
      deprecated: false
      description: |-
        Restores a project that has been archived or placed in the Jira recycle bin.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: restore
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/project/EX","id":"10000","key":"EX","description":"This project was created as an example for REST.","lead":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"components":[{"self":"https://your-domain.atlassian.net/rest/api/3/component/10000","id":"10000","name":"Component 1","description":"This is a Jira component","lead":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"assigneeType":"PROJECT_LEAD","assignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"realAssigneeType":"PROJECT_LEAD","realAssignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"isAssigneeTypeValid":false,"project":"HSP","projectId":10000}],"issueTypes":[{"self":"https://your-domain.atlassian.net/rest/api/3/issueType/3","id":"3","description":"A task that needs to be done.","iconUrl":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\",","name":"Task","subtask":false,"avatarId":1,"hierarchyLevel":0},{"self":"https://your-domain.atlassian.net/rest/api/3/issueType/1","id":"1","description":"A problem with the software.","iconUrl":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\",","name":"Bug","subtask":false,"avatarId":10002,"entityId":"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2","hierarchyLevel":0,"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}}],"url":"https://www.example.com","email":"from-jira@example.com","assigneeType":"PROJECT_LEAD","versions":[],"name":"Example","roles":{"Developers":"https://your-domain.atlassian.net/rest/api/3/project/EX/role/10000"},"avatarUrls":{"48x48":"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000","24x24":"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000","16x16":"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000","32x32":"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"},"simplified":false,"style":"classic","properties":{"propertyKey":"propertyValue"},"insight":{"totalIssueCount":100,"lastIssueUpdateTime":"2023-04-21T12:39:27.599+0000"}}'
              schema:
                $ref: "#/components/schemas/Project"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the project is not found or the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
        - {}
      summary: Restore deleted or archived project
      tags:
        - Projects
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-type:jira
            - read:project:jira
            - read:project.property:jira
            - read:user:jira
            - write:project:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:issue-type-hierarchy:jira
            - read:project-category:jira
            - read:project-version:jira
            - read:project.component:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/project/{projectIdOrKey}/role":
    get:
      deprecated: false
      description: |-
        Returns a list of [project roles](https://confluence.atlassian.com/x/3odKLg) for the project returning the name and self URL for each role.

        Note that all project roles are shared with all projects in Jira Cloud. See [Get all project roles](#api-rest-api-3-role-get) for more information.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for any project on the site or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getProjectRoles
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"Administrators":"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10002","Users":"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10001","Developers":"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10000"}'
              schema:
                additionalProperties:
                  format: uri
                  type: string
                type: object
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing or if the user lacks administrative permissions for the project.
        "404":
          description: Returned if the project is not found or or if the user does not have administrative permissions for the project.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get project roles for project
      tags:
        - Project roles
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project-role:jira
          state: Beta
  "/rest/api/3/project/{projectIdOrKey}/role/{id}":
    delete:
      deprecated: false
      description: |-
        Deletes actors from a project role for the project.

        To remove default actors from the project role, use [Delete default actors from project role](#api-rest-api-3-role-id-actors-delete).

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteActor
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
        - description: The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: The user account ID of the user to remove from the project role.
          in: query
          name: user
          schema:
            example: 5b10ac8d82e05b22cc7d4ef5
            type: string
          x-showInExample: "true"
        - description: The name of the group to remove from the project role. This parameter cannot be used with the `groupId` parameter. As a group's name can change, use of `groupId` is recommended.
          in: query
          name: group
          schema:
            type: string
        - description: The ID of the group to remove from the project role. This parameter cannot be used with the `group` parameter.
          in: query
          name: groupId
          schema:
            type: string
      responses:
        "204":
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "404":
          description: |-
            Returned if:

             *  the project or project role is not found.
             *  the calling user does not have administrative permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Delete actors from project role
      tags:
        - Project role actors
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:project-role:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns a project role's details and actors associated with the project. The list of actors is sorted by display name.

        To check whether a user belongs to a role based on their group memberships, use [Get user](#api-rest-api-3-user-get) with the `groups` expand parameter selected. Then check whether the user keys and groups match with the actors returned for the project.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getProjectRole
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
        - description: The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: Exclude inactive users.
          in: query
          name: excludeInactiveUsers
          schema:
            default: false
            type: boolean
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers","actorGroup":{"name":"jira-developers","displayName":"jira-developers","groupId":"952d12c3-5b5b-4d04-bb32-44d383afc4b2"}},{"id":10241,"displayName":"Mia Krystof","type":"atlassian-user-role-actor","actorUser":{"accountId":"5b10a2844c20165700ede21g"}}],"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}}'
              schema:
                $ref: "#/components/schemas/ProjectRole"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: |-
            Returned if:

             *  the project or project role is not found.
             *  the user does not have administrative permission.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get project role for project
      tags:
        - Project roles
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:user:jira
            - read:group:jira
            - read:project-role:jira
            - read:project:jira
            - read:avatar:jira
            - read:project-category:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Adds actors to a project role for the project.

        To replace all actors for the project, use [Set actors for project role](#api-rest-api-3-project-projectIdOrKey-role-id-put).

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: addActorUsers
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
        - description: The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              groupId:
                - 952d12c3-5b5b-4d04-bb32-44d383afc4b2
            schema:
              $ref: "#/components/schemas/ActorsMap"
        description: The groups or users to associate with the project role for this project. Provide the user account ID, group name, or group ID. As a group's name can change, use of group ID is recommended.
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers","actorGroup":{"name":"jira-developers","displayName":"jira-developers","groupId":"952d12c3-5b5b-4d04-bb32-44d383afc4b2"}},{"id":10241,"displayName":"Mia Krystof","type":"atlassian-user-role-actor","actorUser":{"accountId":"5b10a2844c20165700ede21g"}}],"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}}'
              schema:
                $ref: "#/components/schemas/ProjectRole"
          description: |-
            Returned if the request is successful. The complete list of actors for the project is returned.

            For example, the cURL request above adds a group, *jira-developers*. For the response below to be returned as a result of that request, the user *Mia Krystof* would have previously been added as a `user` actor for this project.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing or if the calling user lacks administrative permissions for the project.
        "404":
          description: |-
            Returned if:

             *  the project is not found.
             *  the user or group is not found.
             *  the group or user is not active.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
        - {}
      summary: Add actors to project role
      tags:
        - Project role actors
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:user:jira
            - read:group:jira
            - read:project-role:jira
            - read:project:jira
            - write:project-role:jira
            - read:avatar:jira
            - read:project-category:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Sets the actors for a project role for a project, replacing all existing actors.

        To add actors to the project without overwriting the existing list, use [Add actors to project role](#api-rest-api-3-project-projectIdOrKey-role-id-post).

        **[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: setActors
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
        - description: The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              categorisedActors:
                atlassian-group-role-actor-id:
                  - 952d12c3-5b5b-4d04-bb32-44d383afc4b2
                atlassian-user-role-actor:
                  - 12345678-9abc-def1-2345-6789abcdef12
            schema:
              $ref: "#/components/schemas/ProjectRoleActorsUpdateBean"
        description: The groups or users to associate with the project role for this project. Provide the user account ID, group name, or group ID. As a group's name can change, use of group ID is recommended.
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers","actorGroup":{"name":"jira-developers","displayName":"jira-developers","groupId":"952d12c3-5b5b-4d04-bb32-44d383afc4b2"}},{"id":10241,"displayName":"Mia Krystof","type":"atlassian-user-role-actor","actorUser":{"accountId":"5b10a2844c20165700ede21g"}}],"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}}'
              schema:
                $ref: "#/components/schemas/ProjectRole"
          description: Returned if the request is successful. The complete list of actors for the project is returned.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing or if the calling user lacks administrative permissions for the project.
        "404":
          description: |-
            Returned if:

             *  the project is not found.
             *  a user or group is not found.
             *  a group or user is not active.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Set actors for project role
      tags:
        - Project role actors
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:user:jira
            - read:group:jira
            - read:project-role:jira
            - read:project:jira
            - write:project-role:jira
            - read:avatar:jira
            - read:project-category:jira
          state: Beta
  "/rest/api/3/project/{projectIdOrKey}/roledetails":
    get:
      deprecated: false
      description: |-
        Returns all [project roles](https://confluence.atlassian.com/x/3odKLg) and the details for each role. Note that the list of project roles is common to all projects.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
      operationId: getProjectRoleDetails
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
        - description: Whether the roles should be filtered to include only those the user is assigned to.
          in: query
          name: currentMember
          schema:
            default: false
            type: boolean
        - in: query
          name: excludeConnectAddons
          schema:
            default: false
            type: boolean
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","admin":false,"default":true,"roleConfigurable":true,"translatedName":"Developers"}]'
              schema:
                items:
                  $ref: "#/components/schemas/ProjectRoleDetails"
                type: array
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the project is not found or if the user does not have the necessary permissions for the project.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get project role details
      tags:
        - Project roles
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project-category:jira
            - read:project-role:jira
            - read:project:jira
            - read:avatar:jira
          state: Beta
  "/rest/api/3/project/{projectIdOrKey}/statuses":
    get:
      deprecated: false
      description: |-
        Returns the valid statuses for a project. The statuses are grouped by issue type, as each project has a set of valid issue types and each issue type has a set of valid statuses.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
      operationId: getAllStatuses
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/issueType/3","id":"3","name":"Task","subtask":false,"statuses":[{"self":"https://your-domain.atlassian.net/rest/api/3/status/10000","description":"The issue is currently being worked on.","iconUrl":"https://your-domain.atlassian.net/images/icons/progress.gif","name":"In Progress","id":"10000"},{"self":"https://your-domain.atlassian.net/rest/api/3/status/5","description":"The issue is closed.","iconUrl":"https://your-domain.atlassian.net/images/icons/closed.gif","name":"Closed","id":"5"}]}]'
              schema:
                items:
                  $ref: "#/components/schemas/IssueTypeWithStatus"
                type: array
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the project is not found or the user does not have permission to view it.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get all statuses for project
      tags:
        - Projects
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-status:jira
            - read:issue-type:jira
            - read:status:jira
          state: Beta
  "/rest/api/3/project/{projectIdOrKey}/type/{newProjectTypeKey}":
    put:
      deprecated: true
      description: |-
        Deprecated, this feature is no longer supported and no alternatives are available, see [Convert project to a different template or type](https://confluence.atlassian.com/x/yEKeOQ). Updates a [project type](https://confluence.atlassian.com/x/GwiiLQ). The project type can be updated for classic projects only, project type cannot be updated for next-gen projects.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateProjectType
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
        - description: The key of the new project type.
          in: path
          name: newProjectTypeKey
          required: true
          schema:
            enum:
              - software
              - service_desk
              - business
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/project/EX","id":"10000","key":"EX","description":"This project was created as an example for REST.","lead":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"components":[{"self":"https://your-domain.atlassian.net/rest/api/3/component/10000","id":"10000","name":"Component 1","description":"This is a Jira component","lead":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"assigneeType":"PROJECT_LEAD","assignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"realAssigneeType":"PROJECT_LEAD","realAssignee":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},"isAssigneeTypeValid":false,"project":"HSP","projectId":10000}],"issueTypes":[{"self":"https://your-domain.atlassian.net/rest/api/3/issueType/3","id":"3","description":"A task that needs to be done.","iconUrl":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\",","name":"Task","subtask":false,"avatarId":1,"hierarchyLevel":0},{"self":"https://your-domain.atlassian.net/rest/api/3/issueType/1","id":"1","description":"A problem with the software.","iconUrl":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\",","name":"Bug","subtask":false,"avatarId":10002,"entityId":"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2","hierarchyLevel":0,"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}}],"url":"https://www.example.com","email":"from-jira@example.com","assigneeType":"PROJECT_LEAD","versions":[],"name":"Example","roles":{"Developers":"https://your-domain.atlassian.net/rest/api/3/project/EX/role/10000"},"avatarUrls":{"48x48":"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000","24x24":"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000","16x16":"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000","32x32":"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000"},"projectCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"},"simplified":false,"style":"classic","properties":{"propertyKey":"propertyValue"},"insight":{"totalIssueCount":100,"lastIssueUpdateTime":"2023-04-21T12:39:27.599+0000"}}'
              schema:
                $ref: "#/components/schemas/Project"
          description: Returned if the project type is updated.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the project is not found or the user does not have permission to view it.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Update project type
      tags:
        - Projects
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-type:jira
            - read:project:jira
            - read:project.property:jira
            - read:user:jira
            - write:project:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:issue-type-hierarchy:jira
            - read:project-category:jira
            - read:project-version:jira
            - read:project.component:jira
          state: Beta
      x-changes:
        - announced: 2019-06-03
          details: https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-change-project-type-via-api//
          effective: 2019-12-03
          type: removed
  "/rest/api/3/project/{projectIdOrKey}/version":
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of all versions in a project. See the [Get project versions](#api-rest-api-3-project-projectIdOrKey-versions-get) resource if you want to get a full list of versions without pagination.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
      operationId: getProjectVersionsPaginated
      parameters:
        - description: The project ID or project key (case sensitive).
          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: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: |-
            [Order](#ordering) the results by a field:

             *  `description` Sorts by version description.
             *  `name` Sorts by version name.
             *  `releaseDate` Sorts by release date, starting with the oldest date. Versions with no release date are listed last.
             *  `sequence` Sorts by the order of appearance in the user interface.
             *  `startDate` Sorts by start date, starting with the oldest date. Versions with no start date are listed last.
          in: query
          name: orderBy
          schema:
            enum:
              - description
              - -description
              - +description
              - name
              - -name
              - +name
              - releaseDate
              - -releaseDate
              - +releaseDate
              - sequence
              - -sequence
              - +sequence
              - startDate
              - -startDate
              - +startDate
            type: string
        - description: Filter the results using a literal string. Versions with matching `name` or `description` are returned (case insensitive).
          in: query
          name: query
          schema:
            type: string
        - description: A list of status values used to filter the results by version status. This parameter accepts a comma-separated list. The status values are `released`, `unreleased`, and `archived`.
          in: query
          name: status
          schema:
            type: string
        - description: |-
            Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `issuesstatus` Returns the number of issues in each status category for each version.
             *  `operations` Returns actions that can be performed on the specified version.
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/project/PR/version?startAt=0&maxResults=2","nextPage":"https://your-domain.atlassian.net/rest/api/3/project/PR/version?startAt=2&maxResults=2","maxResults":2,"startAt":0,"total":7,"isLast":false,"values":[{"self":"https://your-domain.atlassian.net/rest/api/3/version/10000","id":"10000","description":"An excellent version","name":"New Version 1","archived":false,"released":true,"releaseDate":"2010-07-06","overdue":true,"userReleaseDate":"6/Jul/2010","projectId":10000},{"self":"https://your-domain.atlassian.net/rest/api/3/version/10010","id":"10010","description":"Minor Bugfix version","name":"Next Version","archived":false,"released":false,"overdue":false,"projectId":10000,"issuesStatusForFixVersion":{"unmapped":0,"toDo":10,"inProgress":20,"done":100}}]}'
              schema:
                $ref: "#/components/schemas/PageBeanVersion"
          description: Returned if the request is successful.
        "404":
          description: Returned if the project is not found or the user does not have permission to view it.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get project versions paginated
      tags:
        - Project versions
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project-version:jira
          state: Beta
  "/rest/api/3/project/{projectIdOrKey}/versions":
    get:
      deprecated: false
      description: |-
        Returns all versions in a project. The response is not paginated. Use [Get project versions paginated](#api-rest-api-3-project-projectIdOrKey-version-get) if you want to get the versions in a project with pagination.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
      operationId: getProjectVersions
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectIdOrKey
          required: true
          schema:
            type: string
        - description: Use [expand](#expansion) to include additional information in the response. This parameter accepts `operations`, which returns actions that can be performed on the version.
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/version/10000","id":"10000","description":"An excellent version","name":"New Version 1","archived":false,"released":true,"releaseDate":"2010-07-06","overdue":true,"userReleaseDate":"6/Jul/2010","projectId":10000},{"self":"https://your-domain.atlassian.net/rest/api/3/version/10010","id":"10010","description":"Minor Bugfix version","name":"Next Version","archived":false,"released":false,"overdue":false,"projectId":10000,"issuesStatusForFixVersion":{"unmapped":0,"toDo":10,"inProgress":20,"done":100}}]'
              schema:
                items:
                  $ref: "#/components/schemas/Version"
                type: array
          description: Returned if the request is successful.
        "404":
          description: Returned if the project is not found or the user does not have permission to view it.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get project versions
      tags:
        - Project versions
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project-version:jira
          state: Beta
  "/rest/api/3/project/{projectId}/email":
    get:
      deprecated: false
      description: |-
        Returns the [project's sender email address](https://confluence.atlassian.com/x/dolKLg).

        **[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
      operationId: getProjectEmail
      parameters:
        - description: The project ID.
          in: path
          name: projectId
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"emailAddress":"jira@example.customdomain.com","emailAddressStatus":["Email address or domain not verified."]}'
              schema:
                $ref: "#/components/schemas/ProjectEmailAddress"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have permission to read project.
        "404":
          description: Returned if the project or project's sender email address is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
      summary: Get project's sender email
      tags:
        - Project email
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project.email:jira
          state: Beta
      x-experimental: true
    put:
      deprecated: false
      description: |-
        Sets the [project's sender email address](https://confluence.atlassian.com/x/dolKLg).

        If `emailAddress` is an empty string, the default email address is restored.

        **[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
      operationId: updateProjectEmail
      parameters:
        - description: The project ID.
          in: path
          name: projectId
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              emailAddress: jira@example.atlassian.net
            schema:
              $ref: "#/components/schemas/ProjectEmailAddress"
        description: The project's sender email address to be set.
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the project's sender email address is successfully set.
        "400":
          description: Returned if the request is not valid, if the email address is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have permission to read project.
        "404":
          description: Returned if the project is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
      summary: Set project's sender email
      tags:
        - Project email
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - write:project.email:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/project/{projectId}/hierarchy":
    get:
      deprecated: true
      description: |-
        Get the issue type hierarchy for a next-gen project.

        The issue type hierarchy for a project consists of:

         *  *Epic* at level 1 (optional).
         *  One or more issue types at level 0 such as *Story*, *Task*, or *Bug*. Where the issue type *Epic* is defined, these issue types are used to break down the content of an epic.
         *  *Subtask* at level -1 (optional). This issue type enables level 0 issue types to be broken down into components. Issues based on a level -1 issue type must have a parent issue.

        **[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.
      operationId: getHierarchy
      parameters:
        - description: The ID of the project.
          in: path
          name: projectId
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"projectId":10030,"hierarchy":[{"entityId":"6d9ef380-5ad8-4f42-a0ab-6537bdfc214b","level":0,"name":"Base","issueTypes":[{"id":10008,"entityId":"fb718a88-42b6-4b14-abc9-1e4fb3cb6864","name":"Story","avatarId":10324},{"id":10001,"entityId":"fdd96ea7-8dcd-4867-a5f5-8987250a7b13","name":"Bug","avatarId":10324}]},{"entityId":"9f4724e1-d059-431e-ad69-192abdcc07aa","level":1,"name":"Epic","issueTypes":[{"id":10007,"entityId":"b56469fe-a5b1-49a0-9862-9d7f56caac5e","name":"Epic","avatarId":10179}]},{"entityId":"f07114e2-23e2-40bc-88b4-fa24d78d14f4","level":-1,"name":"Subtask","issueTypes":[{"id":10009,"entityId":"14394d75-e62f-4026-82d6-97d637800f20","name":"Subtask","avatarId":10573}]}]}'
              schema:
                $ref: "#/components/schemas/ProjectIssueTypeHierarchy"
          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 the project is not found or the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
      summary: Get project issue type hierarchy
      tags:
        - Projects
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-type:jira
            - read:issue-type-hierarchy:jira
          state: Beta
  "/rest/api/3/project/{projectKeyOrId}/issuesecuritylevelscheme":
    get:
      deprecated: false
      description: |-
        Returns the [issue security scheme](https://confluence.atlassian.com/x/J4lKLg) associated with the project.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or the *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg).
      operationId: getProjectIssueSecurityScheme
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectKeyOrId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/issuesecurityschemes/10000","id":10000,"name":"Default Issue Security Scheme","description":"Description for the default issue security scheme","defaultSecurityLevelId":10021,"levels":[{"self":"https://your-domain.atlassian.net/rest/api/3/securitylevel/10021","id":"10021","description":"Only the reporter and internal staff can see this issue.","name":"Reporter Only"}]}'
              schema:
                $ref: "#/components/schemas/SecurityScheme"
          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 project is visible to the user but the user doesn't have administrative permissions.
        "404":
          description: Returned if the project is not found or the user does not have permission to view it.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
      summary: Get project issue security scheme
      tags:
        - Project permission schemes
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-security-level:jira
            - read:issue-security-scheme:jira
          state: Beta
  "/rest/api/3/project/{projectKeyOrId}/notificationscheme":
    get:
      deprecated: true
      description: |-
        Gets a [notification scheme](https://confluence.atlassian.com/x/8YdKLg) associated with the project. Deprecated, use [Get notification schemes paginated](#api-rest-api-3-notificationscheme-get) supporting search and pagination.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg).
      operationId: getNotificationSchemeForProject
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectKeyOrId
          required: true
          schema:
            type: string
        - description: |-
            Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `all` Returns all expandable information
             *  `field` Returns information about any custom fields assigned to receive an event
             *  `group` Returns information about any groups assigned to receive an event
             *  `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable information
             *  `projectRole` Returns information about any project roles assigned to receive an event
             *  `user` Returns information about any users assigned to receive an event
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"expand":"notificationSchemeEvents,user,group,projectRole,field,all","id":10100,"self":"https://your-domain.atlassian.net/rest/api/3/notificationscheme","name":"notification scheme name","description":"description","notificationSchemeEvents":[{"event":{"id":1,"name":"Issue created","description":"Event published when an issue is created"},"notifications":[{"id":1,"notificationType":"Group","parameter":"jira-administrators","recipient":"276f955c-63d7-42c8-9520-92d01dca0625","group":{"name":"jira-administrators","groupId":"276f955c-63d7-42c8-9520-92d01dca0625","self":"https://your-domain.atlassian.net/rest/api/3/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625"},"expand":"group"},{"id":2,"notificationType":"CurrentAssignee"},{"id":3,"notificationType":"ProjectRole","parameter":"10360","recipient":"10360","projectRole":{"self":"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers","actorGroup":{"name":"jira-developers","displayName":"jira-developers","groupId":"952d12c3-5b5b-4d04-bb32-44d383afc4b2"}},{"id":10241,"displayName":"Mia Krystof","type":"atlassian-user-role-actor","actorUser":{"accountId":"5b10a2844c20165700ede21g"}}],"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}},"expand":"projectRole"},{"id":4,"notificationType":"EmailAddress","parameter":"rest-developer@atlassian.com","recipient":"rest-developer@atlassian.com","emailAddress":"rest-developer@atlassian.com"},{"id":5,"notificationType":"User","parameter":"5b10a2844c20165700ede21g","recipient":"5b10a2844c20165700ede21g","user":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"expand":"user"},{"id":6,"notificationType":"GroupCustomField","parameter":"customfield_10101","recipient":"customfield_10101","field":{"id":"customfield_10101","key":"customfield_10101","name":"New custom field","untranslatedName":"New custom field","custom":true,"orderable":true,"navigable":true,"searchable":true,"clauseNames":["cf[10101]","New custom field"],"schema":{"type":"project","custom":"com.atlassian.jira.plugin.system.customfieldtypes:project","customId":10101}},"expand":"field"}]},{"event":{"id":20,"name":"Custom event","description":"Custom event that is published together with an issue created event","templateEvent":{"id":1,"name":"Issue created","description":"Event published when an issue is created"}},"notifications":[{"id":1,"notificationType":"Group","parameter":"jira-administrators","recipient":"276f955c-63d7-42c8-9520-92d01dca0625","group":{"name":"jira-administrators","groupId":"276f955c-63d7-42c8-9520-92d01dca0625","self":"https://your-domain.atlassian.net/rest/api/3/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625"},"expand":"group"},{"id":2,"notificationType":"CurrentAssignee"},{"id":3,"notificationType":"ProjectRole","parameter":"10360","recipient":"10360","projectRole":{"self":"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers","actorGroup":{"name":"jira-developers","displayName":"jira-developers","groupId":"952d12c3-5b5b-4d04-bb32-44d383afc4b2"}},{"id":10241,"displayName":"Mia Krystof","type":"atlassian-user-role-actor","actorUser":{"accountId":"5b10a2844c20165700ede21g"}}],"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}},"expand":"projectRole"},{"id":4,"notificationType":"EmailAddress","parameter":"rest-developer@atlassian.com","recipient":"rest-developer@atlassian.com","emailAddress":"rest-developer@atlassian.com"},{"id":5,"notificationType":"User","parameter":"5b10a2844c20165700ede21g","recipient":"5b10a2844c20165700ede21g","user":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"expand":"user"},{"id":6,"notificationType":"GroupCustomField","parameter":"customfield_10101","recipient":"customfield_10101","field":{"id":"customfield_10101","key":"customfield_10101","name":"New custom field","untranslatedName":"New custom field","custom":true,"orderable":true,"navigable":true,"searchable":true,"clauseNames":["cf[10101]","New custom field"],"schema":{"type":"project","custom":"com.atlassian.jira.plugin.system.customfieldtypes:project","customId":10101}},"expand":"field"}]}],"projects":[10001,10002]}'
              schema:
                $ref: "#/components/schemas/NotificationScheme"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the project is not found or the user is not an administrator.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
      summary: Get project notification scheme
      tags:
        - Projects
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project-category:jira
            - read:project-role:jira
            - read:project:jira
            - read:user:jira
            - read:group:jira
            - read:field:jira
            - read:avatar:jira
            - read:field-configuration:jira
            - read:notification-scheme:jira
          state: Beta
  "/rest/api/3/project/{projectKeyOrId}/permissionscheme":
    get:
      deprecated: false
      description: |-
        Gets the [permission scheme](https://confluence.atlassian.com/x/yodKLg) associated with the project.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).
      operationId: getAssignedPermissionScheme
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectKeyOrId
          required: true
          schema:
            type: string
        - description: |-
            Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:

             *  `all` Returns all expandable information.
             *  `field` Returns information about the custom field granted the permission.
             *  `group` Returns information about the group that is granted the permission.
             *  `permissions` Returns all permission grants for each permission scheme.
             *  `projectRole` Returns information about the project role granted the permission.
             *  `user` Returns information about the user who is granted the permission.
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"id":10000,"self":"https://your-domain.atlassian.net/rest/api/3/permissionscheme/10000","name":"Example permission scheme","description":"description"}'
              schema:
                $ref: "#/components/schemas/PermissionScheme"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have permission to view the project's configuration.
        "404":
          description: Returned if the project is not found or the user does not have permission to view the project.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
      summary: Get assigned permission scheme
      tags:
        - Project permission schemes
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:application-role:jira
            - read:field:jira
            - read:group:jira
            - read:permission-scheme:jira
            - read:permission:jira
            - read:project-role:jira
            - read:user:jira
            - read:avatar:jira
            - read:project-category:jira
            - read:project:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Assigns a permission scheme with a project. See [Managing project permissions](https://confluence.atlassian.com/x/yodKLg) for more information about permission schemes.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)
      operationId: assignPermissionScheme
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectKeyOrId
          required: true
          schema:
            type: string
        - description: |-
            Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:

             *  `all` Returns all expandable information.
             *  `field` Returns information about the custom field granted the permission.
             *  `group` Returns information about the group that is granted the permission.
             *  `permissions` Returns all permission grants for each permission scheme.
             *  `projectRole` Returns information about the project role granted the permission.
             *  `user` Returns information about the user who is granted the permission.
          in: query
          name: expand
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              id: 10000
            schema:
              $ref: "#/components/schemas/IdBean"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"id":10000,"self":"https://your-domain.atlassian.net/rest/api/3/permissionscheme/10000","name":"Example permission scheme","description":"description"}'
              schema:
                $ref: "#/components/schemas/PermissionScheme"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: |-
            Returned if:

             *  the user does not have the necessary permission to edit the project's configuration.
             *  the Jira instance is Jira Core Free or Jira Software Free. Permission schemes cannot be assigned to projects on free plans.
        "404":
          description: Returned if the project or permission scheme is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
      summary: Assign permission scheme
      tags:
        - Project permission schemes
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:application-role:jira
            - read:field:jira
            - read:group:jira
            - read:permission-scheme:jira
            - read:permission:jira
            - read:project-role:jira
            - read:user:jira
            - write:project:jira
            - read:avatar:jira
            - read:project-category:jira
            - read:project:jira
          state: Beta
  "/rest/api/3/project/{projectKeyOrId}/securitylevel":
    get:
      deprecated: false
      description: |-
        Returns all [issue security](https://confluence.atlassian.com/x/J4lKLg) levels for the project that the user has access to.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse projects* [global permission](https://confluence.atlassian.com/x/x4dKLg) for the project, however, issue security levels are only returned for authenticated user with *Set Issue Security* [global permission](https://confluence.atlassian.com/x/x4dKLg) for the project.
      operationId: getSecurityLevelsForProject
      parameters:
        - description: The project ID or project key (case sensitive).
          in: path
          name: projectKeyOrId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"levels":[{"self":"https://your-domain.atlassian.net/rest/api/3/securitylevel/100000","id":"100000","description":"Only the reporter and internal staff can see this issue.","name":"Reporter Only"},{"self":"https://your-domain.atlassian.net/rest/api/3/securitylevel/100001","id":"100001","description":"Only internal staff can see this issue.","name":"Staff Only"}]}'
              schema:
                $ref: "#/components/schemas/ProjectIssueSecurityLevels"
          description: Returned if the request is successful.
        "404":
          description: Returned if the project is not found or the user does not have permission to view it.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get project issue security levels
      tags:
        - Project permission schemes
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-security-level:jira
          state: Beta
  /rest/api/3/projectCategory:
    get:
      deprecated: false
      description: |-
        Returns all project categories.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: getAllProjectCategories
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"},{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10001","id":"10001","name":"SECOND","description":"Second Project Category"}]'
              schema:
                items:
                  $ref: "#/components/schemas/ProjectCategory"
                type: array
          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: Get all project categories
      tags:
        - Project categories
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project-category:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates a project category.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createProjectCategory
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              description: Created Project Category
              name: CREATED
            schema:
              $ref: "#/components/schemas/ProjectCategory"
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10100","id":"10100","name":"CREATED","description":"Created Project Category"}'
              schema:
                $ref: "#/components/schemas/ProjectCategory"
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if:

             *  `name` is not provided or exceeds 255 characters.
             *  `description` exceeds 1000 characters.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "409":
          description: Returned if the project category name is in use.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
      summary: Create project category
      tags:
        - Project categories
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - write:project-category:jira
            - read:project-category:jira
          state: Beta
  "/rest/api/3/projectCategory/{id}":
    delete:
      deprecated: false
      description: |-
        Deletes a project category.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: removeProjectCategory
      parameters:
        - description: ID of the project category to delete.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the project category is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
      summary: Delete project category
      tags:
        - Project categories
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:project-category:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns a project category.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: getProjectCategoryById
      parameters:
        - description: The ID of the project category.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000","id":"10000","name":"FIRST","description":"First Project Category"}'
              schema:
                $ref: "#/components/schemas/ProjectCategory"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the project category is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
      summary: Get project category by ID
      tags:
        - Project categories
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project-category:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Updates a project category.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateProjectCategory
      parameters:
        - in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              description: Updated Project Category
              name: UPDATED
            schema:
              $ref: "#/components/schemas/ProjectCategory"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/projectCategory/10100","id":"10100","name":"UPDATED","description":"Updated Project Category"}'
              schema:
                $ref: "#/components/schemas/UpdatedProjectCategory"
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if:

             *  `name` has been modified and exceeds 255 characters.
             *  `description` has been modified and exceeds 1000 characters.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the project category is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
      summary: Update project category
      tags:
        - Project categories
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project-category:jira
            - write:project-category:jira
          state: Beta
  /rest/api/3/projectvalidate/key:
    get:
      deprecated: false
      description: |-
        Validates a project key by confirming the key is a valid string and not in use.

        **[Permissions](#permissions) required:** None.
      operationId: validateProjectKey
      parameters:
        - description: The project key.
          in: query
          name: key
          schema:
            example: HSP
            type: string
          x-showInExample: "true"
      responses:
        "200":
          content:
            application/json:
              example: '{"errorMessages":[],"errors":{"projectKey":"A project with that project key already exists."}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
      summary: Validate project key
      tags:
        - Project key and name validation
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project:jira
          state: Beta
  /rest/api/3/projectvalidate/validProjectKey:
    get:
      deprecated: false
      description: |-
        Validates a project key and, if the key is invalid or in use, generates a valid random string for the project key.

        **[Permissions](#permissions) required:** None.
      operationId: getValidProjectKey
      parameters:
        - description: The project key.
          in: query
          name: key
          schema:
            example: HSP
            type: string
          x-showInExample: "true"
      responses:
        "200":
          content:
            application/json:
              example: '"VPNE"'
              schema:
                type: string
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect.
      security:
        - basicAuth: []
      summary: Get valid project key
      tags:
        - Project key and name validation
      x-atlassian-connect-scope: READ
  /rest/api/3/projectvalidate/validProjectName:
    get:
      deprecated: false
      description: |-
        Checks that a project name isn't in use. If the name isn't in use, the passed string is returned. If the name is in use, this operation attempts to generate a valid project name based on the one supplied, usually by adding a sequence number. If a valid project name cannot be generated, a 404 response is returned.

        **[Permissions](#permissions) required:** None.
      operationId: getValidProjectName
      parameters:
        - description: The project name.
          in: query
          name: name
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '"Valid Project Name Example"'
              schema:
                type: string
          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 a valid project name cannot be generated.
      security:
        - basicAuth: []
      summary: Get valid project name
      tags:
        - Project key and name validation
      x-atlassian-connect-scope: READ
  /rest/api/3/resolution:
    get:
      deprecated: true
      description: |-
        Returns a list of all issue resolution values.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: getResolutions
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/resolution/1","id":"10000","description":"A fix for this issue is checked into the tree and tested.","name":"Fixed"},{"self":"https://your-domain.atlassian.net/rest/api/3/resolution/3","id":"10001","description":"This is what it is supposed to do.","name":"Works as designed"}]'
              schema:
                items:
                  $ref: "#/components/schemas/Resolution"
                type: array
          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: Get resolutions
      tags:
        - Issue resolutions
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:resolution:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates an issue resolution.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createResolution
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              description: My resolution description
              name: My new resolution
            schema:
              $ref: "#/components/schemas/CreateResolutionDetails"
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"id":"10001"}'
              schema:
                $ref: "#/components/schemas/ResolutionId"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The length of the description must not exceed 255 characters."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request isn't valid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Create resolution
      tags:
        - Issue resolutions
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  /rest/api/3/resolution/default:
    put:
      deprecated: false
      description: |-
        Sets default issue resolution.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: setDefaultResolution
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              id: "3"
            schema:
              $ref: "#/components/schemas/SetDefaultResolutionRequest"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The id has to be provided."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request isn't valid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["Priority with ID 10000 not found."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the issue resolution isn't found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Set default resolution
      tags:
        - Issue resolutions
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  /rest/api/3/resolution/move:
    put:
      deprecated: false
      description: |-
        Changes the order of issue resolutions.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: moveResolutions
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              after: "10002"
              ids:
                - "10000"
                - "10001"
            schema:
              $ref: "#/components/schemas/ReorderIssueResolutionsRequest"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The IDs must contain no more than 1,000 items."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request isn't valid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["Resolution with ID 10000 not found."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the issue resolution isn't found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Move resolutions
      tags:
        - Issue resolutions
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  /rest/api/3/resolution/search:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of resolutions. The list can contain all resolutions or a subset determined by any combination of these criteria:

         *  a list of resolutions IDs.
         *  whether the field configuration is a default. This returns resolutions from company-managed (classic) projects only, as there is no concept of default resolutions in team-managed projects.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: searchResolutions
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: "0"
            type: string
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: "50"
            type: string
        - description: The list of resolutions IDs to be filtered out
          in: query
          name: id
          schema:
            items:
              type: string
            type: array
        - description: When set to true, return default only, when IDs provided, if none of them is default, return empty page. Default value is false
          in: query
          name: onlyDefault
          schema:
            default: false
            type: boolean
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":50,"startAt":0,"total":1,"isLast":true,"values":[{"id":"10001","description":"This is what it is supposed to do.","name":"Works as designed","isDefault":true}]}'
              schema:
                $ref: "#/components/schemas/PageBeanResolutionJsonBean"
          description: Returned if the request is successful.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
      summary: Search resolutions
      tags:
        - Issue resolutions
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:resolution:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/resolution/{id}":
    delete:
      deprecated: false
      description: |-
        Deletes an issue resolution.

        This operation is [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteResolution
      parameters:
        - description: The ID of the issue resolution.
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: The ID of the issue resolution that will replace the currently selected resolution.
          in: query
          name: replaceWith
          required: true
          schema:
            type: string
      responses:
        "303":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TaskProgressBeanObject"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The id has to be provided."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request isn't valid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["Priority with ID 10000 not found."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the issue resolution isn't found.
        "409":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if a task to delete the issue resolution is already running.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete resolution
      tags:
        - Issue resolutions
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
    get:
      deprecated: false
      description: |-
        Returns an issue resolution value.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: getResolution
      parameters:
        - description: The ID of the issue resolution value.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/resolution/1","id":"10000","description":"A fix for this issue is checked into the tree and tested.","name":"Fixed"}'
              schema:
                $ref: "#/components/schemas/Resolution"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the issue resolution value is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get resolution
      tags:
        - Issue resolutions
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:resolution:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Updates an issue resolution.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateResolution
      parameters:
        - description: The ID of the issue resolution.
          in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              description: My updated resolution description
              name: My updated resolution
            schema:
              $ref: "#/components/schemas/UpdateResolutionDetails"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The length of the description must not exceed 255 characters."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request isn't valid.
        "401":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["You are not authorized to perform this action. Administrator privileges are required."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user doesn't have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["Resolution with ID 10000 not found."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the issue resolution isn't found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update resolution
      tags:
        - Issue resolutions
      x-atlassian-connect-scope: ADMIN
      x-experimental: true
  /rest/api/3/role:
    get:
      deprecated: false
      description: |-
        Gets a list of all project roles, complete with project role details and default actors.

        ### About project roles ###

        [Project roles](https://confluence.atlassian.com/x/3odKLg) are a flexible way to to associate users and groups with projects. In Jira Cloud, the list of project roles is shared globally with all projects, but each project can have a different set of actors associated with it (unlike groups, which have the same membership throughout all Jira applications).

        Project roles are used in [permission schemes](#api-rest-api-3-permissionscheme-get), [email notification schemes](#api-rest-api-3-notificationscheme-get), [issue security levels](#api-rest-api-3-issuesecurityschemes-get), [comment visibility](#api-rest-api-3-comment-list-post), and workflow conditions.

        #### Members and actors ####

        In the Jira REST API, a member of a project role is called an *actor*. An *actor* is a group or user associated with a project role.

        Actors may be set as [default members](https://confluence.atlassian.com/x/3odKLg#Managingprojectroles-Specifying'defaultmembers'foraprojectrole) of the project role or set at the project level:

         *  Default actors: Users and groups that are assigned to the project role for all newly created projects. The default actors can be removed at the project level later if desired.
         *  Actors: Users and groups that are associated with a project role for a project, which may differ from the default actors. This enables you to assign a user to different roles in different projects.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getAllProjectRoles
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers","actorGroup":{"name":"jira-developers","displayName":"jira-developers","groupId":"952d12c3-5b5b-4d04-bb32-44d383afc4b2"}},{"id":10241,"displayName":"Mia Krystof","type":"atlassian-user-role-actor","actorUser":{"accountId":"5b10a2844c20165700ede21g"}}],"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}}]'
              schema:
                items:
                  $ref: "#/components/schemas/ProjectRole"
                type: array
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have administrative permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get all project roles
      tags:
        - Project roles
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:user:jira
            - read:group:jira
            - read:project-role:jira
            - read:project:jira
            - read:avatar:jira
            - read:project-category:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates a new project role with no [default actors](#api-rest-api-3-resolution-get). You can use the [Add default actors to project role](#api-rest-api-3-role-id-actors-post) operation to add default actors to the project role after creating it.

        *Note that although a new project role is available to all projects upon creation, any default actors that are associated with the project role are not added to projects that existed prior to the role being created.*<

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createProjectRole
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              description: A project role that represents developers in a project
              name: Developers
            schema:
              $ref: "#/components/schemas/CreateUpdateRoleRequestBean"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project"}'
              schema:
                $ref: "#/components/schemas/ProjectRole"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid. The `name` cannot be empty or start or end with whitespace.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have administrative permissions.
        "409":
          description: Returned if a project role with the provided name already exists.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Create project role
      tags:
        - Project roles
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:user:jira
            - read:group:jira
            - read:project:jira
            - write:project-role:jira
            - read:avatar:jira
            - read:project-category:jira
            - read:project-role:jira
          state: Beta
  "/rest/api/3/role/{id}":
    delete:
      deprecated: false
      description: |-
        Deletes a project role. You must specify a replacement project role if you wish to delete a project role that is in use.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteProjectRole
      parameters:
        - description: The ID of the project role to delete. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the project role that will replace the one being deleted.
          in: query
          name: swap
          schema:
            format: int64
            type: integer
      responses:
        "204":
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is invalid or if the replacement project role is not found.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have administrative permissions.
        "404":
          description: Returned if the project role being deleted is not found.
        "409":
          description: Returned if the project role being deleted is in use and a replacement project role is not specified in the request.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete project role
      tags:
        - Project roles
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:project-role:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Gets the project role details and the default actors associated with the role. The list of default actors is sorted by display name.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getProjectRoleById
      parameters:
        - description: The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers","actorGroup":{"name":"jira-developers","displayName":"jira-developers","groupId":"952d12c3-5b5b-4d04-bb32-44d383afc4b2"}},{"id":10241,"displayName":"Mia Krystof","type":"atlassian-user-role-actor","actorUser":{"accountId":"5b10a2844c20165700ede21g"}}],"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}}'
              schema:
                $ref: "#/components/schemas/ProjectRole"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have administrative permissions.
        "404":
          description: Returned if the project role is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get project role by ID
      tags:
        - Project roles
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:user:jira
            - read:group:jira
            - read:project-role:jira
            - read:project:jira
            - read:avatar:jira
            - read:project-category:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Updates either the project role's name or its description.

        You cannot update both the name and description at the same time using this operation. If you send a request with a name and a description only the name is updated.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: partialUpdateProjectRole
      parameters:
        - description: The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              description: A project role that represents developers in a project
              name: Developers
            schema:
              $ref: "#/components/schemas/CreateUpdateRoleRequestBean"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers","actorGroup":{"name":"jira-developers","displayName":"jira-developers","groupId":"952d12c3-5b5b-4d04-bb32-44d383afc4b2"}},{"id":10241,"displayName":"Mia Krystof","type":"atlassian-user-role-actor","actorUser":{"accountId":"5b10a2844c20165700ede21g"}}],"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}}'
              schema:
                $ref: "#/components/schemas/ProjectRole"
          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 administrative permissions.
        "404":
          description: Returned if the project role is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Partial update project role
      tags:
        - Project roles
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:user:jira
            - read:group:jira
            - read:project:jira
            - write:project-role:jira
            - read:avatar:jira
            - read:project-category:jira
            - read:project-role:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Updates the project role's name and description. You must include both a name and a description in the request.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: fullyUpdateProjectRole
      parameters:
        - description: The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              description: A project role that represents developers in a project
              name: Developers
            schema:
              $ref: "#/components/schemas/CreateUpdateRoleRequestBean"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360","name":"Developers","id":10360,"description":"A project role that represents developers in a project","actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers","actorGroup":{"name":"jira-developers","displayName":"jira-developers","groupId":"952d12c3-5b5b-4d04-bb32-44d383afc4b2"}},{"id":10241,"displayName":"Mia Krystof","type":"atlassian-user-role-actor","actorUser":{"accountId":"5b10a2844c20165700ede21g"}}],"scope":{"type":"PROJECT","project":{"id":"10000","key":"KEY","name":"Next Gen Project"}}}'
              schema:
                $ref: "#/components/schemas/ProjectRole"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid. The `name` cannot be empty or start or end with whitespace.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have administrative permissions.
        "404":
          description: Returned if the project role is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Fully update project role
      tags:
        - Project roles
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:user:jira
            - read:group:jira
            - read:project:jira
            - write:project-role:jira
            - read:avatar:jira
            - read:project-category:jira
            - read:project-role:jira
          state: Beta
  "/rest/api/3/role/{id}/actors":
    delete:
      deprecated: false
      description: |-
        Deletes the [default actors](#api-rest-api-3-resolution-get) from a project role. You may delete a group or user, but you cannot delete a group and a user in the same request.

        Changing a project role's default actors does not affect project role members for projects already created.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteProjectRoleActorsFromRole
      parameters:
        - description: The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: The user account ID of the user to remove as a default actor.
          in: query
          name: user
          schema:
            example: 5b10ac8d82e05b22cc7d4ef5
            type: string
          x-showInExample: "true"
        - description: The group ID of the group to be removed as a default actor. This parameter cannot be used with the `group` parameter.
          in: query
          name: groupId
          schema:
            type: string
        - description: The group name of the group to be removed as a default actor.This parameter cannot be used with the `groupId` parameter. As a group's name can change, use of `groupId` is recommended.
          in: query
          name: group
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers","actorGroup":{"name":"jira-developers","displayName":"jira-developers","groupId":"952d12c3-5b5b-4d04-bb32-44d383afc4b2"}}]}'
              schema:
                $ref: "#/components/schemas/ProjectRole"
          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 administrative permissions.
        "404":
          description: Returned if the project role is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete default actors from project role
      tags:
        - Project role actors
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:project-role:jira
            - read:user:jira
            - read:group:jira
            - read:project-role:jira
            - read:project:jira
            - read:avatar:jira
            - read:project-category:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns the [default actors](#api-rest-api-3-resolution-get) for the project role.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getProjectRoleActorsForRole
      parameters:
        - description: The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers","actorGroup":{"name":"jira-developers","displayName":"jira-developers","groupId":"952d12c3-5b5b-4d04-bb32-44d383afc4b2"}}]}'
              schema:
                $ref: "#/components/schemas/ProjectRole"
          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 administrative permissions.
        "404":
          description: Returned if the project role is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get default actors for project role
      tags:
        - Project role actors
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:user:jira
            - read:group:jira
            - read:project-role:jira
            - read:project:jira
            - read:avatar:jira
            - read:project-category:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Adds [default actors](#api-rest-api-3-resolution-get) to a role. You may add groups or users, but you cannot add groups and users in the same request.

        Changing a project role's default actors does not affect project role members for projects already created.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: addProjectRoleActorsToRole
      parameters:
        - description: The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              user:
                - admin
            schema:
              $ref: "#/components/schemas/ActorInputBean"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"actors":[{"id":10240,"displayName":"jira-developers","type":"atlassian-group-role-actor","name":"jira-developers","actorGroup":{"name":"jira-developers","displayName":"jira-developers","groupId":"952d12c3-5b5b-4d04-bb32-44d383afc4b2"}}]}'
              schema:
                $ref: "#/components/schemas/ProjectRole"
          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 administrative permissions.
        "404":
          description: Returned if the project role is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Add default actors to project role
      tags:
        - Project role actors
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:user:jira
            - read:group:jira
            - read:project-role:jira
            - read:project:jira
            - write:project-role:jira
            - read:avatar:jira
            - read:project-category:jira
          state: Beta
  /rest/api/3/screens:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of all screens or those specified by one or more screen IDs.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getScreens
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 100
            format: int32
            type: integer
        - description: The list of screen IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.
          in: query
          name: id
          schema:
            items:
              format: int64
              type: integer
            type: array
            uniqueItems: true
        - description: String used to perform a case-insensitive partial match with screen name.
          in: query
          name: queryString
          schema:
            default: ""
            type: string
        - description: The scope filter string. To filter by multiple scope, provide an ampersand-separated list. For example, `scope=GLOBAL&scope=PROJECT`.
          in: query
          name: scope
          schema:
            items:
              enum:
                - GLOBAL
                - TEMPLATE
                - PROJECT
              type: string
            type: array
            uniqueItems: true
        - description: |-
            [Order](#ordering) the results by a field:

             *  `id` Sorts by screen ID.
             *  `name` Sorts by screen name.
          in: query
          name: orderBy
          schema:
            enum:
              - name
              - -name
              - +name
              - id
              - -id
              - +id
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/screens","maxResults":100,"startAt":0,"total":3,"isLast":true,"values":[{"id":1,"name":"Default Screen","description":"Provides for the update all system fields."},{"id":2,"name":"Workflow Screen","description":"This screen is used in the workflow and enables you to assign issues."},{"id":3,"name":"Resolve Issue Screen","description":"Offers the ability to set resolution, change fix versions, and assign an issue."}]}'
              schema:
                $ref: "#/components/schemas/PageBeanScreen"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
      summary: Get screens
      tags:
        - Screens
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project:jira
            - read:screen:jira
            - read:avatar:jira
            - read:project-category:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates a screen with a default field tab.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createScreen
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              description: Enables changes to resolution and linked issues.
              name: Resolve Security Issue Screen
            schema:
              $ref: "#/components/schemas/ScreenDetails"
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"id":10005,"name":"Resolve Security Issue Screen","description":"Enables changes to resolution and linked issues."}'
              schema:
                $ref: "#/components/schemas/Screen"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The name is used by another screen."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can manage screens."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
      summary: Create screen
      tags:
        - Screens
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project:jira
            - read:screen:jira
            - write:screen:jira
            - read:avatar:jira
            - read:project-category:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/screens/addToDefault/{fieldId}":
    post:
      deprecated: false
      description: |-
        Adds a field to the default tab of the default screen.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: addFieldToDefaultScreen
      parameters:
        - description: The ID of the field.
          in: path
          name: fieldId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the field it not found or the field is already present.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Add field to default screen
      tags:
        - Screens
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project:jira
            - read:screen:jira
            - write:screen:jira
          state: Beta
  "/rest/api/3/screens/{screenId}":
    delete:
      deprecated: false
      description: |-
        Deletes a screen. A screen cannot be deleted if it is used in a screen scheme, workflow, or workflow draft.

        Only screens used in classic projects can be deleted.
      operationId: deleteScreen
      parameters:
        - description: The ID of the screen.
          in: path
          name: screenId
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The screen is used in a screen scheme."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can manage screens."],"errors":{}}'
          description: Returned if the user does not have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The screen was not found."],"errors":{}}'
          description: Returned if the screen is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
      summary: Delete screen
      tags:
        - Screens
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:screen:jira
          state: Beta
      x-experimental: true
    put:
      deprecated: false
      description: |-
        Updates a screen. Only screens used in classic projects can be updated.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateScreen
      parameters:
        - description: The ID of the screen.
          in: path
          name: screenId
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              description: Enables changes to resolution and linked issues for accessibility related issues.
              name: Resolve Accessibility Issue Screen
            schema:
              $ref: "#/components/schemas/UpdateScreenDetails"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"id":10005,"name":"Resolve Security Issue Screen","description":"Enables changes to resolution and linked issues."}'
              schema:
                $ref: "#/components/schemas/Screen"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The name is used by another screen."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can manage screens."],"errors":{}}'
          description: Returned if the user does not have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The screen was not found."],"errors":{}}'
          description: Returned if the screen is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
      summary: Update screen
      tags:
        - Screens
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project:jira
            - read:screen:jira
            - write:screen:jira
            - read:avatar:jira
            - read:project-category:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/screens/{screenId}/availableFields":
    get:
      deprecated: false
      description: |-
        Returns the fields that can be added to a tab on a screen.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getAvailableScreenFields
      parameters:
        - description: The ID of the screen.
          in: path
          name: screenId
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/ScreenableField"
                type: array
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the screen is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Get available screen fields
      tags:
        - Screens
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:screen-field:jira
            - read:screenable-field:jira
          state: Beta
  "/rest/api/3/screens/{screenId}/tabs":
    get:
      deprecated: false
      description: |-
        Returns the list of tabs for a screen.

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

         *  *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
         *  *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) when the project key is specified, providing that the screen is associated with the project through a Screen Scheme and Issue Type Screen Scheme.
      operationId: getAllScreenTabs
      parameters:
        - description: The ID of the screen.
          in: path
          name: screenId
          required: true
          schema:
            format: int64
            type: integer
        - description: The key of the project.
          in: query
          name: projectKey
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/ScreenableTab"
                type: array
          description: Returned if the request is successful.
        "400":
          description: Returned if the screen ID is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the screen is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Get all screen tabs
      tags:
        - Screen tabs
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:screen-tab:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates a tab for a screen.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: addScreenTab
      parameters:
        - description: The ID of the screen.
          in: path
          name: screenId
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              name: Fields Tab
            schema:
              $ref: "#/components/schemas/ScreenableTab"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"id":10000,"name":"Fields Tab"}'
              schema:
                $ref: "#/components/schemas/ScreenableTab"
          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 necessary permission.
        "404":
          description: Returned if the screen is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Create screen tab
      tags:
        - Screen tabs
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:screen-tab:jira
            - write:screen-tab:jira
          state: Beta
  "/rest/api/3/screens/{screenId}/tabs/{tabId}":
    delete:
      deprecated: false
      description: |-
        Deletes a screen tab.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteScreenTab
      parameters:
        - description: The ID of the screen.
          in: path
          name: screenId
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the screen tab.
          in: path
          name: tabId
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the screen or screen tab is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Delete screen tab
      tags:
        - Screen tabs
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:screen-tab:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Updates the name of a screen tab.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: renameScreenTab
      parameters:
        - description: The ID of the screen.
          in: path
          name: screenId
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the screen tab.
          in: path
          name: tabId
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ScreenableTab"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"id":10000,"name":"Fields Tab"}'
              schema:
                $ref: "#/components/schemas/ScreenableTab"
          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 necessary permission.
        "404":
          description: Returned if the screen or screen tab is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Update screen tab
      tags:
        - Screen tabs
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:screen-tab:jira
            - write:screen-tab:jira
          state: Beta
  "/rest/api/3/screens/{screenId}/tabs/{tabId}/fields":
    get:
      deprecated: false
      description: |-
        Returns all fields for a screen tab.

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

         *  *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
         *  *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) when the project key is specified, providing that the screen is associated with the project through a Screen Scheme and Issue Type Screen Scheme.
      operationId: getAllScreenTabFields
      parameters:
        - description: The ID of the screen.
          in: path
          name: screenId
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the screen tab.
          in: path
          name: tabId
          required: true
          schema:
            format: int64
            type: integer
        - description: The key of the project.
          in: query
          name: projectKey
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/ScreenableField"
                type: array
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the screen or screen tab is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Get all screen tab fields
      tags:
        - Screen tab fields
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:screenable-field:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Adds a field to a screen tab.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: addScreenTabField
      parameters:
        - description: The ID of the screen.
          in: path
          name: screenId
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the screen tab.
          in: path
          name: tabId
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              fieldId: summary
            schema:
              $ref: "#/components/schemas/AddFieldBean"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"id":"summary","name":"Summary"}'
              schema:
                $ref: "#/components/schemas/ScreenableField"
          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 necessary permission.
        "404":
          description: Returned if the screen, screen tab, or field is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Add screen tab field
      tags:
        - Screen tab fields
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:screenable-field:jira
            - write:screenable-field:jira
          state: Beta
  "/rest/api/3/screens/{screenId}/tabs/{tabId}/fields/{id}":
    delete:
      deprecated: false
      description: |-
        Removes a field from a screen tab.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: removeScreenTabField
      parameters:
        - description: The ID of the screen.
          in: path
          name: screenId
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the screen tab.
          in: path
          name: tabId
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the field.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "204":
          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 necessary permission.
        "404":
          description: Returned if the screen, screen tab, or field is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Remove screen tab field
      tags:
        - Screen tab fields
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:screenable-field:jira
          state: Beta
  "/rest/api/3/screens/{screenId}/tabs/{tabId}/fields/{id}/move":
    post:
      deprecated: false
      description: |-
        Moves a screen tab field.

        If `after` and `position` are provided in the request, `position` is ignored.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: moveScreenTabField
      parameters:
        - description: The ID of the screen.
          in: path
          name: screenId
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the screen tab.
          in: path
          name: tabId
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the field.
          in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/MoveFieldBean"
        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 necessary permission.
        "404":
          description: Returned if the screen, screen tab, or field is not found or the field can't be moved to the requested position.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Move screen tab field
      tags:
        - Screen tab fields
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - write:screenable-field:jira
          state: Beta
  "/rest/api/3/screens/{screenId}/tabs/{tabId}/move/{pos}":
    post:
      deprecated: false
      description: |-
        Moves a screen tab.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: moveScreenTab
      parameters:
        - description: The ID of the screen.
          in: path
          name: screenId
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the screen tab.
          in: path
          name: tabId
          required: true
          schema:
            format: int64
            type: integer
        - description: The position of tab. The base index is 0.
          in: path
          name: pos
          required: true
          schema:
            format: int32
            type: integer
      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 necessary permission.
        "404":
          description: Returned if the screen or screen tab is not found or the position is invalid.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Move screen tab
      tags:
        - Screen tabs
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - write:screen:jira
          state: Beta
  /rest/api/3/screenscheme:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of screen schemes.

        Only screen schemes used in classic projects are returned.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getScreenSchemes
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 25
            format: int32
            type: integer
        - description: The list of screen scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.
          in: query
          name: id
          schema:
            items:
              format: int64
              type: integer
            type: array
            uniqueItems: true
        - description: Use [expand](#expansion) include additional information in the response. This parameter accepts `issueTypeScreenSchemes` that, for each screen schemes, returns information about the issue type screen scheme the screen scheme is assigned to.
          in: query
          name: expand
          schema:
            default: ""
            type: string
        - description: String used to perform a case-insensitive partial match with screen scheme name.
          in: query
          name: queryString
          schema:
            default: ""
            type: string
        - description: |-
            [Order](#ordering) the results by a field:

             *  `id` Sorts by screen scheme ID.
             *  `name` Sorts by screen scheme name.
          in: query
          name: orderBy
          schema:
            enum:
              - name
              - -name
              - +name
              - id
              - -id
              - +id
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/screenscheme?maxResults=25&startAt=0","maxResults":100,"startAt":0,"total":2,"isLast":true,"values":[{"id":10010,"name":"Employee screen scheme","description":"Manage employee data","screens":{"default":10017,"edit":10019,"create":10019,"view":10020},"issueTypeScreenSchemes":{"maxResults":100,"startAt":0,"total":1,"isLast":true,"values":[{"id":"10000","name":"Office issue type screen scheme","description":"Managing office projects"}]}},{"id":10032,"name":"Office screen scheme","description":"Manage office data","screens":{"default":10020}}]}'
              schema:
                $ref: "#/components/schemas/PageBeanScreenScheme"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
      summary: Get screen schemes
      tags:
        - Screen schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:screen-scheme:jira
            - read:issue-type-screen-scheme:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates a screen scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createScreenScheme
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              description: Manage employee data
              name: Employee screen scheme
              screens:
                default: 10017
                edit: 10019
                view: 10020
            schema:
              $ref: "#/components/schemas/ScreenSchemeDetails"
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"id":10001}'
              schema:
                $ref: "#/components/schemas/ScreenSchemeId"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The name is used by another scheme."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access screen schemes."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["One or more screens assigned to screen types was not found."],"errors":{}}'
          description: Returned if a screen used as one of the screen types in the screen scheme is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Create screen scheme
      tags:
        - Screen schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:screen-scheme:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/screenscheme/{screenSchemeId}":
    delete:
      deprecated: false
      description: |-
        Deletes a screen scheme. A screen scheme cannot be deleted if it is used in an issue type screen scheme.

        Only screens schemes used in classic projects can be deleted.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteScreenScheme
      parameters:
        - description: The ID of the screen scheme.
          in: path
          name: screenSchemeId
          required: true
          schema:
            type: string
      responses:
        "204":
          description: Returned if the screen scheme is deleted.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The screen scheme cannot be deleted as it is in use in an issue type screen scheme."],"errors":{}}'
          description: Returned if the screen scheme is used in an issue type screen scheme.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access screen schemes."],"errors":{}}'
          description: Returned if the user does not have the necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The screen scheme was not found."],"errors":{}}'
          description: Returned if the screen scheme is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
      summary: Delete screen scheme
      tags:
        - Screen schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:screen-scheme:jira
          state: Beta
      x-experimental: true
    put:
      deprecated: false
      description: |-
        Updates a screen scheme. Only screen schemes used in classic projects can be updated.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateScreenScheme
      parameters:
        - description: The ID of the screen scheme.
          in: path
          name: screenSchemeId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              name: Employee screen scheme v2
              screens:
                create: "10019"
                default: "10018"
            schema:
              $ref: "#/components/schemas/UpdateScreenSchemeDetails"
        description: The screen scheme update details.
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The name is used by another scheme."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access screen schemes."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The screen scheme was not found."],"errors":{}}'
          description: Returned if the screen scheme or a screen used as one of the screen types is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update screen scheme
      tags:
        - Screen schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:screen-scheme:jira
          state: Beta
      x-experimental: true
  /rest/api/3/search:
    get:
      deprecated: false
      description: |-
        Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ).

        If the JQL query expression is too large to be encoded as a query parameter, use the [POST](#api-rest-api-3-search-post) version of this resource.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** Issues are included in the response 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: searchForIssuesUsingJql
      parameters:
        - description: |-
            The [JQL](https://confluence.atlassian.com/x/egORLQ) that defines the search. Note:

             *  If no JQL expression is provided, all issues are returned.
             *  `username` and `userkey` cannot be used as search terms due to privacy reasons. Use `accountId` instead.
             *  If a user has hidden their email address in their user profile, partial matches of the email address will not find the user. An exact match is required.
          in: query
          name: jql
          schema:
            example: project = HSP
            type: string
          x-showInExample: "true"
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int32
            type: integer
        - description: The maximum number of items to return per page. To manage page size, Jira may return fewer items per page where a large number of fields are requested. The greatest number of items returned per page is achieved when requesting `id` or `key` only.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: |-
            Determines how to validate the JQL query and treat the validation results. Supported values are:

             *  `strict` Returns a 400 response code if any errors are found, along with a list of all errors (and warnings).
             *  `warn` Returns all errors as warnings.
             *  `none` No validation is performed.
             *  `true` *Deprecated* A legacy synonym for `strict`.
             *  `false` *Deprecated* A legacy synonym for `warn`.

            Note: If the JQL is not correctly formed a 400 response code is returned, regardless of the `validateQuery` value.
          in: query
          name: validateQuery
          schema:
            default: strict
            enum:
              - strict
              - warn
              - none
              - "true"
              - "false"
            type: string
        - description: |-
            A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a comma-separated list. Expand options include:

             *  `*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 navigable (default) fields except description.
             *  `*all,-comment` Returns all fields except comments.

            This parameter may be specified multiple times. For example, `fields=field1,field2&fields=field3`.

            Note: All navigable fields are returned by default. This differs from [GET issue](#api-rest-api-3-issue-issueIdOrKey-get) where the default is all fields.
          in: query
          name: fields
          schema:
            items:
              default: "*navigable"
              type: string
            type: array
        - description: |-
            Use [expand](#expansion) to include additional information about 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.
             *  `operations` Returns all possible operations 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` Instead of `fields`, returns `versionedRepresentations` a JSON array containing each version of a field's value, with the highest numbered item representing the most recent version.
          in: query
          name: expand
          schema:
            type: string
        - description: A list of issue property keys for issue properties to include in the results. This parameter accepts a comma-separated list. Multiple properties can also be provided using an ampersand separated list. For example, `properties=prop1,prop2&properties=prop3`. A maximum of 5 issue property keys can be specified.
          in: query
          name: properties
          schema:
            items:
              type: string
            type: array
        - description: Reference fields by their key (rather than ID).
          in: query
          name: fieldsByKeys
          schema:
            default: false
            type: boolean
      responses:
        "200":
          content:
            application/json:
              example: "{\"expand\":\"names,schema\",\"startAt\":0,\"maxResults\":50,\"total\":1,\"issues\":[{\"expand\":\"\",\"id\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10002\",\"key\":\"ED-1\",\"fields\":{\"watcher\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-1/watchers\",\"isWatching\":false,\"watchCount\":1,\"watchers\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false}]},\"attachment\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/attachments/10000\",\"filename\":\"picture.jpg\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2023-04-21T12:39:27.600+0000\",\"size\":23123,\"mimeType\":\"image/jpeg\",\"content\":\"https://your-domain.atlassian.net/jira/rest/api/3/attachment/content/10000\",\"thumbnail\":\"https://your-domain.atlassian.net/jira/rest/api/3/attachment/thumbnail/10000\"}],\"sub-tasks\":[{\"id\":\"10000\",\"type\":{\"id\":\"10000\",\"name\":\"\",\"inward\":\"Parent\",\"outward\":\"Sub-task\"},\"outwardIssue\":{\"id\":\"10003\",\"key\":\"ED-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/ED-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"description\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"Main order flow broken\"}]}]},\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2023-04-21T12:39:27.599+0000\"}},\"comment\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"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.\"}]}]},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-01-17T12:34:00.000+0000\",\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"type\":\"role\",\"value\":\"Administrators\",\"identifier\":\"Administrators\"}}],\"issuelinks\":[{\"id\":\"10001\",\"type\":{\"id\":\"10000\",\"name\":\"Dependent\",\"inward\":\"depends on\",\"outward\":\"is depended by\"},\"outwardIssue\":{\"id\":\"10004L\",\"key\":\"PR-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/PR-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}},{\"id\":\"10002\",\"type\":{\"id\":\"10000\",\"name\":\"Dependent\",\"inward\":\"depends on\",\"outward\":\"is depended by\"},\"inwardIssue\":{\"id\":\"10004\",\"key\":\"PR-3\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/PR-3\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"worklog\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\",\"identifier\":\"276f955c-63d7-42c8-9520-92d01dca0625\"},\"started\":\"2021-01-17T12:34:00.000+0000\",\"timeSpent\":\"3h 20m\",\"timeSpentSeconds\":12000,\"id\":\"100028\",\"issueId\":\"10002\"}],\"updated\":1,\"timetracking\":{\"originalEstimate\":\"10m\",\"remainingEstimate\":\"3m\",\"timeSpent\":\"6m\",\"originalEstimateSeconds\":600,\"remainingEstimateSeconds\":200,\"timeSpentSeconds\":400}}}],\"warningMessages\":[\"The value 'bar' does not exist for the field 'foo'.\"]}"
              schema:
                $ref: "#/components/schemas/SearchResults"
          description: Returned if the request is successful.
        "400":
          description: Returned if the JQL query is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Search for issues using JQL (GET)
      tags:
        - Issue search
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-details:jira
            - read:audit-log:jira
            - read:avatar:jira
            - read:field-configuration:jira
            - read:issue-meta:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ).

        There is a [GET](#api-rest-api-3-search-get) version of this resource that can be used for smaller JQL query expressions.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** Issues are included in the response 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: searchForIssuesUsingJqlPost
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              expand:
                - names
                - schema
                - operations
              fields:
                - summary
                - status
                - assignee
              fieldsByKeys: false
              jql: project = HSP
              maxResults: 15
              startAt: 0
            schema:
              $ref: "#/components/schemas/SearchRequestBean"
        description: A JSON object containing the search request.
        required: true
      responses:
        "200":
          content:
            application/json:
              example: "{\"expand\":\"names,schema\",\"startAt\":0,\"maxResults\":50,\"total\":1,\"issues\":[{\"expand\":\"\",\"id\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10002\",\"key\":\"ED-1\",\"fields\":{\"watcher\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-1/watchers\",\"isWatching\":false,\"watchCount\":1,\"watchers\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false}]},\"attachment\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/attachments/10000\",\"filename\":\"picture.jpg\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2023-04-21T12:39:27.600+0000\",\"size\":23123,\"mimeType\":\"image/jpeg\",\"content\":\"https://your-domain.atlassian.net/jira/rest/api/3/attachment/content/10000\",\"thumbnail\":\"https://your-domain.atlassian.net/jira/rest/api/3/attachment/thumbnail/10000\"}],\"sub-tasks\":[{\"id\":\"10000\",\"type\":{\"id\":\"10000\",\"name\":\"\",\"inward\":\"Parent\",\"outward\":\"Sub-task\"},\"outwardIssue\":{\"id\":\"10003\",\"key\":\"ED-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/ED-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"description\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"Main order flow broken\"}]}]},\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2023-04-21T12:39:27.599+0000\"}},\"comment\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"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.\"}]}]},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-01-17T12:34:00.000+0000\",\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"type\":\"role\",\"value\":\"Administrators\",\"identifier\":\"Administrators\"}}],\"issuelinks\":[{\"id\":\"10001\",\"type\":{\"id\":\"10000\",\"name\":\"Dependent\",\"inward\":\"depends on\",\"outward\":\"is depended by\"},\"outwardIssue\":{\"id\":\"10004L\",\"key\":\"PR-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/PR-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}},{\"id\":\"10002\",\"type\":{\"id\":\"10000\",\"name\":\"Dependent\",\"inward\":\"depends on\",\"outward\":\"is depended by\"},\"inwardIssue\":{\"id\":\"10004\",\"key\":\"PR-3\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/PR-3\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"worklog\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"updated\":\"2021-01-18T23:45:00.000+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\",\"identifier\":\"276f955c-63d7-42c8-9520-92d01dca0625\"},\"started\":\"2021-01-17T12:34:00.000+0000\",\"timeSpent\":\"3h 20m\",\"timeSpentSeconds\":12000,\"id\":\"100028\",\"issueId\":\"10002\"}],\"updated\":1,\"timetracking\":{\"originalEstimate\":\"10m\",\"remainingEstimate\":\"3m\",\"timeSpent\":\"6m\",\"originalEstimateSeconds\":600,\"remainingEstimateSeconds\":200,\"timeSpentSeconds\":400}}}],\"warningMessages\":[\"The value 'bar' does not exist for the field 'foo'.\"]}"
              schema:
                $ref: "#/components/schemas/SearchResults"
          description: Returned if the request is successful.
        "400":
          description: Returned if the JQL query is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Search for issues using JQL (POST)
      tags:
        - Issue search
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-details:jira
            - read:field.default-value:jira
            - read:field.option:jira
            - read:field:jira
            - read:group:jira
          state: Beta
  "/rest/api/3/securitylevel/{id}":
    get:
      deprecated: false
      description: |-
        Returns details of an issue security level.

        Use [Get issue security scheme](#api-rest-api-3-issuesecurityschemes-id-get) to obtain the IDs of issue security levels associated with the issue security scheme.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None.
      operationId: getIssueSecurityLevel
      parameters:
        - description: The ID of the issue security level.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/securitylevel/10021","id":"10021","description":"Only the reporter and internal staff can see this issue.","name":"Reporter Only"}'
              schema:
                $ref: "#/components/schemas/SecurityLevel"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect.
        "404":
          description: Returned if the issue security level is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
        - {}
      summary: Get issue security level
      tags:
        - Issue security level
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field:jira
            - read:issue-security-level:jira
            - read:project-role:jira
            - read:user:jira
          state: Beta
  /rest/api/3/serverInfo:
    get:
      deprecated: false
      description: |-
        Returns information about the Jira instance.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None.
      operationId: getServerInfo
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '{"baseUrl":"https://your-domain.atlassian.net/jira","version":"1001.0.0-SNAPSHOT","versionNumbers":[5,0,0],"buildNumber":582,"buildDate":"2023-04-21T12:39:34.114+0000","serverTime":"2023-04-21T12:39:34.114+0000","scmInfo":"1f51473f5c7b75c1a69a0090f4832cdc5053702a","serverTitle":"My Jira instance","defaultLocale":{"locale":"en_AU"}}'
              schema:
                $ref: "#/components/schemas/ServerInformation"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect.
      security:
        - basicAuth: []
        - OAuth2: []
        - {}
      summary: Get Jira instance info
      tags:
        - Server info
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes: []
          state: Current
        - scheme: OAuth2
          scopes: []
          state: Beta
  /rest/api/3/settings/columns:
    get:
      deprecated: false
      description: |-
        Returns the default issue navigator columns.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getIssueNavigatorDefaultColumns
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '[{"label":"Key","value":"issuekey"},{"label":"Summary","value":"summary"}]'
              schema:
                items:
                  $ref: "#/components/schemas/ColumnItem"
                type: array
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
      summary: Get issue navigator default columns
      tags:
        - Issue navigator settings
      x-atlassian-connect-scope: INACCESSIBLE
    put:
      deprecated: false
      description: |-
        Sets the default issue navigator columns.

        The `columns` parameter accepts a navigable field value and is expressed as HTML form data. To specify multiple columns, pass multiple `columns` parameters. For example, in curl:

        `curl -X PUT -d columns=summary -d columns=description https://your-domain.atlassian.net/rest/api/3/settings/columns`

        If no column details are sent, then all default columns are removed.

        A navigable field is one that can be used as a column on the issue navigator. Find details of navigable issue columns using [Get fields](#api-rest-api-3-field-get).

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: setIssueNavigatorDefaultColumns
      parameters: []
      requestBody:
        content:
          "*/*":
            schema:
              items:
                type: string
              type: array
          multipart/form-data:
            schema:
              items:
                type: string
              type: array
        description: A navigable field value.
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          description: Returned if invalid parameters are passed.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if a navigable field value is not found.
      security:
        - basicAuth: []
      summary: Set issue navigator default columns
      tags:
        - Issue navigator settings
      x-atlassian-connect-scope: INACCESSIBLE
  /rest/api/3/status:
    get:
      deprecated: false
      description: |-
        Returns a list of all statuses associated with active workflows.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None.
      operationId: getStatuses
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/status/10000","description":"The issue is currently being worked on.","iconUrl":"https://your-domain.atlassian.net/images/icons/progress.gif","name":"In Progress","id":"10000","statusCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/statuscategory/1","id":1,"key":"in-flight","colorName":"yellow","name":"In Progress"}},{"self":"https://your-domain.atlassian.net/rest/api/3/status/5","description":"The issue is closed.","iconUrl":"https://your-domain.atlassian.net/images/icons/closed.gif","name":"Closed","id":"5","statusCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/statuscategory/9","id":9,"key":"completed","colorName":"green"}}]'
              schema:
                items:
                  $ref: "#/components/schemas/StatusDetails"
                type: array
          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: Get all statuses
      tags:
        - Workflow statuses
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:status:jira
          state: Beta
  "/rest/api/3/status/{idOrName}":
    get:
      deprecated: false
      description: |-
        Returns a status. The status must be associated with an active workflow to be returned.

        If a name is used on more than one status, only the status found first is returned. Therefore, identifying the status by its ID may be preferable.

        This operation can be accessed anonymously.

        [Permissions](#permissions) required: None.
      operationId: getStatus
      parameters:
        - description: The ID or name of the status.
          in: path
          name: idOrName
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/status/10000","description":"The issue is currently being worked on.","iconUrl":"https://your-domain.atlassian.net/images/icons/progress.gif","name":"In Progress","id":"10000","statusCategory":{"self":"https://your-domain.atlassian.net/rest/api/3/statuscategory/1","id":1,"key":"in-flight","colorName":"yellow","name":"In Progress"}}'
              schema:
                $ref: "#/components/schemas/StatusDetails"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: |-
            Returned if:

             *  the status is not found.
             *  the status is not associated with a workflow.
             *  the user does not have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get status
      tags:
        - Workflow statuses
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:status:jira
          state: Beta
  /rest/api/3/statuscategory:
    get:
      deprecated: false
      description: |-
        Returns a list of all status categories.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: getStatusCategories
      parameters: []
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/statuscategory/1","id":1,"key":"in-flight","colorName":"yellow","name":"In Progress"},{"self":"https://your-domain.atlassian.net/rest/api/3/statuscategory/9","id":9,"key":"completed","colorName":"green"}]'
              schema:
                items:
                  $ref: "#/components/schemas/StatusCategory"
                type: array
          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: Get all status categories
      tags:
        - Workflow status categories
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:status:jira
          state: Beta
  "/rest/api/3/statuscategory/{idOrKey}":
    get:
      deprecated: false
      description: |-
        Returns a status category. Status categories provided a mechanism for categorizing [statuses](#api-rest-api-3-status-idOrName-get).

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: getStatusCategory
      parameters:
        - description: The ID or key of the status category.
          in: path
          name: idOrKey
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/statuscategory/1","id":1,"key":"in-flight","colorName":"yellow","name":"In Progress"}'
              schema:
                $ref: "#/components/schemas/StatusCategory"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the status category is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get status category
      tags:
        - Workflow status categories
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:status:jira
          state: Beta
  /rest/api/3/statuses:
    delete:
      deprecated: false
      description: |-
        Deletes statuses by ID.

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

         *  *Administer projects* [project permission.](https://confluence.atlassian.com/x/yodKLg)
         *  *Administer Jira* [project permission.](https://confluence.atlassian.com/x/yodKLg)
      operationId: deleteStatusesById
      parameters:
        - description: |-
            The list of status IDs. To include multiple IDs, provide an ampersand-separated list. For example, id=10000&id=10001.

            Min items `1`, Max items `50`
          in: query
          name: id
          schema:
            items:
              type: string
            type: array
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The name is too long, maxSize=255"],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing, or the caller doesn't have permissions to perform the operation.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Bulk delete Statuses
      tags:
        - Status
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:workflow:jira
          state: Beta
      x-experimental: true
    get:
      deprecated: false
      description: |-
        Returns a list of the statuses specified by one or more status IDs.

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

         *  *Administer projects* [project permission.](https://confluence.atlassian.com/x/yodKLg)
         *  *Administer Jira* [project permission.](https://confluence.atlassian.com/x/yodKLg)
      operationId: getStatusesById
      parameters:
        - description: |-
            Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `usages` Returns the project and issue types that use the status in their workflow.
          in: query
          name: expand
          schema:
            type: string
        - description: |-
            The list of status IDs. To include multiple IDs, provide an ampersand-separated list. For example, id=10000&id=10001.

            Min items `1`, Max items `50`
          in: query
          name: id
          schema:
            items:
              type: string
            type: array
      responses:
        "200":
          content:
            application/json:
              example: '[{"id":"1000","name":"Finished","statusCategory":"DONE","scope":{"type":"PROJECT","project":{"id":"1"}},"description":"The issue is resolved","usages":[{"project":{"id":"1"},"issueTypes":["10002"]}]}]'
              schema:
                items:
                  $ref: "#/components/schemas/JiraStatus"
                type: array
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing, or the caller doesn't have permissions to perform the operation.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Bulk get statuses
      tags:
        - Status
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:workflow:jira
          state: Beta
      x-experimental: true
    post:
      deprecated: false
      description: |-
        Creates statuses for a global or project scope.

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

         *  *Administer projects* [project permission.](https://confluence.atlassian.com/x/yodKLg)
         *  *Administer Jira* [project permission.](https://confluence.atlassian.com/x/yodKLg)
      operationId: createStatuses
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              scope:
                project:
                  id: "1"
                type: PROJECT
              statuses:
                - description: The issue is resolved
                  name: Finished
                  statusCategory: DONE
            schema:
              $ref: "#/components/schemas/StatusCreateRequest"
        description: Details of the statuses being created and their scope.
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '[{"id":"1000","name":"Finished","statusCategory":"DONE","scope":{"type":"PROJECT","project":{"id":"1"}},"description":"The issue is resolved","usages":[]}]'
              schema:
                items:
                  $ref: "#/components/schemas/JiraStatus"
                type: array
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The name is too long, maxSize=255"],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing, or the caller doesn't have permissions to perform the operation.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Bulk create statuses
      tags:
        - Status
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:workflow:jira
          state: Beta
      x-experimental: true
    put:
      deprecated: false
      description: |-
        Updates statuses by ID.

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

         *  *Administer projects* [project permission.](https://confluence.atlassian.com/x/yodKLg)
         *  *Administer Jira* [project permission.](https://confluence.atlassian.com/x/yodKLg)
      operationId: updateStatuses
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              statuses:
                - description: The issue is resolved
                  id: "1000"
                  name: Finished
                  statusCategory: DONE
            schema:
              $ref: "#/components/schemas/StatusUpdateRequest"
        description: The list of statuses that will be updated.
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The name is too long, maxSize=255"],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing, or the caller doesn't have permissions to perform the operation.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Bulk update statuses
      tags:
        - Status
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:workflow:jira
          state: Beta
      x-experimental: true
  /rest/api/3/statuses/search:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/#pagination) list of statuses that match a search on name or project.

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

         *  *Administer projects* [project permission.](https://confluence.atlassian.com/x/yodKLg)
         *  *Administer Jira* [project permission.](https://confluence.atlassian.com/x/yodKLg)
      operationId: search
      parameters:
        - description: |-
            Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `usages` Returns the project and issue types that use the status in their workflow.
          in: query
          name: expand
          schema:
            type: string
        - description: The project the status is part of or null for global statuses.
          in: query
          name: projectId
          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: 200
            format: int32
            type: integer
        - description: Term to match status names against or null to search for all statuses in the search scope.
          in: query
          name: searchString
          schema:
            maxLength: 255
            type: string
        - description: "Category of the status to filter by. The supported values are: `TODO`, `IN_PROGRESS`, and `DONE`."
          in: query
          name: statusCategory
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/statuses/search?startAt=0&maxResults=2","nextPage":"https://your-domain.atlassian.net/rest/api/3/statuses/search?startAt=2&maxResults=2","maxResults":2,"startAt":0,"total":5,"isLast":true,"values":[{"id":"1000","name":"Finished","statusCategory":"DONE","scope":{"type":"PROJECT","project":{"id":"1"}},"description":"The issue is resolved","usages":[{"project":{"id":"1"},"issueTypes":["10002"]}]}]}'
              schema:
                $ref: "#/components/schemas/PageOfStatuses"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing, or the caller doesn't have permissions to perform the operation.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Search statuses paginated
      tags:
        - Status
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:workflow:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/task/{taskId}":
    get:
      deprecated: false
      description: |-
        Returns the status of a [long-running asynchronous task](#async).

        When a task has finished, this operation returns the JSON blob applicable to the task. See the documentation of the operation that created the task for details. Task details are not permanently retained. As of September 2019, details are retained for 14 days although this period may change without notice.

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

         *  *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
         *  Creator of the task.
      operationId: getTask
      parameters:
        - description: The ID of the task.
          in: path
          name: taskId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/task/1","id":"1","description":"Task description","status":"COMPLETE","result":"the task result, this may be any JSON","submittedBy":10000,"progress":100,"elapsedRuntime":156,"submitted":1682080770166,"started":1682080770284,"finished":1682080770384,"lastUpdate":1682080770384}'
              schema:
                $ref: "#/components/schemas/TaskProgressBeanObject"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the task is not found.
      security:
        - basicAuth: []
        - OAuth2: []
      summary: Get task
      tags:
        - Tasks
      x-atlassian-connect-scope: NONE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes: []
          state: Current
        - scheme: OAuth2
          scopes: []
          state: Beta
  "/rest/api/3/task/{taskId}/cancel":
    post:
      deprecated: false
      description: |-
        Cancels a task.

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

         *  *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
         *  Creator of the task.
      operationId: cancelTask
      parameters:
        - description: The ID of the task.
          in: path
          name: taskId
          required: true
          schema:
            type: string
      responses:
        "202":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                items:
                  type: string
                type: array
          description: Returned if cancellation of the task is not possible.
        "401":
          content:
            application/json:
              schema:
                items:
                  type: string
                type: array
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              schema:
                items:
                  type: string
                type: array
          description: Returned if the user does not have the necessary permission.
        "404":
          content:
            application/json:
              schema:
                items:
                  type: string
                type: array
          description: Returned if the task is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
      summary: Cancel task
      tags:
        - Tasks
      x-atlassian-connect-scope: NONE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:async-task:jira
          state: Beta
      x-experimental: true
  /rest/api/3/uiModifications:
    get:
      deprecated: false
      description: |-
        Gets UI modifications. UI modifications can only be retrieved by Forge apps.

        **[Permissions](#permissions) required:** None.
      operationId: getUiModifications
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: |-
            Use expand to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `data` Returns UI modification data.
             *  `contexts` Returns UI modification contexts.
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: "{\"maxResults\":100,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"id\":\"d7dbda8a-6239-4b63-8e13-a5ef975c8e61\",\"name\":\"Reveal Story Points\",\"description\":\"Reveals Story Points field when any Sprint is selected.\",\"self\":\"https://api.atlassian.com/ex/jira/{cloudid}/rest/api/2/uiModifications/d7dbda8a-6239-4b63-8e13-a5ef975c8e61\",\"data\":\"{field: 'Story Points', config: {hidden: false}}\",\"contexts\":[{\"id\":\"1533537a-bda3-4ac6-8481-846128cd9ef4\",\"projectId\":\"10000\",\"issueTypeId\":\"10000\",\"viewType\":\"GIC\",\"isAvailable\":true},{\"id\":\"c016fefa-6eb3-40c9-8596-4c4ef273e67c\",\"projectId\":\"10000\",\"issueTypeId\":\"10001\",\"viewType\":\"GIC\",\"isAvailable\":true}]},{\"id\":\"e4fe8db5-f82f-416b-a3aa-b260b55da577\",\"name\":\"Set Assignee\",\"description\":\"Sets the Assignee field automatically.\",\"self\":\"https://api.atlassian.com/ex/jira/{cloudid}/rest/api/2/uiModifications/e4fe8db5-f82f-416b-a3aa-b260b55da577\",\"contexts\":[{\"id\":\"8b3740f9-8780-4958-8228-69dcfbda11d9\",\"projectId\":\"10000\",\"issueTypeId\":\"10000\",\"viewType\":\"GIC\",\"isAvailable\":true}]},{\"id\":\"1453f993-79ce-4389-a36d-eb72d5c85dd6\",\"name\":\"Hide Labels\",\"description\":\"Hides Labels if any component is provided.\",\"self\":\"https://api.atlassian.com/ex/jira/{cloudid}/rest/api/2/uiModifications/1453f993-79ce-4389-a36d-eb72d5c85dd6\",\"contexts\":[]}]}"
              schema:
                $ref: "#/components/schemas/PageBeanUiModificationDetails"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the request is not from a Forge app.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
      summary: Get UI modifications
      tags:
        - UI modifications (apps)
      x-atlassian-connect-scope: NONE
      x-experimental: true
    post:
      deprecated: false
      description: |-
        Creates a UI modification. UI modification can only be created by Forge apps.

        Each app can define up to 100 UI modifications. Each UI modification can define up to 1000 contexts.

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

         *  *None* if the UI modification is created without contexts.
         *  *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, if the UI modification is created with contexts.
      operationId: createUiModification
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              contexts:
                - issueTypeId: "10000"
                  projectId: "10000"
                  viewType: GIC
                - issueTypeId: "10001"
                  projectId: "10000"
                  viewType: GIC
              data: "{field: 'Story Points', config: {hidden: false}}"
              description: Reveals Story Points field when any Sprint is selected.
              name: Reveal Story Points
            schema:
              $ref: "#/components/schemas/CreateUiModificationDetails"
        description: Details of the UI modification.
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"id":"d7dbda8a-6239-4b63-8e13-a5ef975c8e61","self":"https://api.atlassian.com/ex/jira/{cloudid}/rest/api/2/uiModifications/d7dbda8a-6239-4b63-8e13-a5ef975c8e61"}'
              schema:
                $ref: "#/components/schemas/UiModificationIdentifiers"
          description: Returned if the UI modification is created.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the request is not from a Forge app.
        "404":
          description: Returned if a project or an issue type in the context are not found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
      summary: Create UI modification
      tags:
        - UI modifications (apps)
      x-atlassian-connect-scope: NONE
      x-experimental: true
  "/rest/api/3/uiModifications/{uiModificationId}":
    delete:
      deprecated: false
      description: |-
        Deletes a UI modification. All the contexts that belong to the UI modification are deleted too. UI modification can only be deleted by Forge apps.

        **[Permissions](#permissions) required:** None.
      operationId: deleteUiModification
      parameters:
        - description: The ID of the UI modification.
          in: path
          name: uiModificationId
          required: true
          schema:
            type: string
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the UI modification is deleted.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the request is not from a Forge app.
        "404":
          description: Returned if the UI modification is not found.
      security:
        - basicAuth: []
        - OAuth2: []
      summary: Delete UI modification
      tags:
        - UI modifications (apps)
      x-atlassian-connect-scope: NONE
      x-experimental: true
    put:
      deprecated: false
      description: |-
        Updates a UI modification. UI modification can only be updated by Forge apps.

        Each UI modification can define up to 1000 contexts.

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

         *  *None* if the UI modification is created without contexts.
         *  *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, if the UI modification is created with contexts.
      operationId: updateUiModification
      parameters:
        - description: The ID of the UI modification.
          in: path
          name: uiModificationId
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              contexts:
                - issueTypeId: "10000"
                  projectId: "10000"
                  viewType: GIC
                - issueTypeId: "10001"
                  projectId: "10000"
                  viewType: GIC
              data: "{field: 'Story Points', config: {hidden: true}}"
              name: Updated Reveal Story Points
            schema:
              $ref: "#/components/schemas/UpdateUiModificationDetails"
        description: Details of the UI modification.
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the UI modification is updated.
        "400":
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the request is not from a Forge app.
        "404":
          description: Returned if the UI modification, a project or an issue type in the context are not found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
      summary: Update UI modification
      tags:
        - UI modifications (apps)
      x-atlassian-connect-scope: NONE
      x-experimental: true
  "/rest/api/3/universal_avatar/type/{type}/owner/{entityId}":
    get:
      deprecated: false
      description: |-
        Returns the system and custom avatars for a project or issue type.

        This operation can be accessed anonymously.

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

         *  for custom project avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project the avatar belongs to.
         *  for custom issue type avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one project the issue type is used in.
         *  for system avatars, none.
      operationId: getAvatars
      parameters:
        - description: The avatar type.
          in: path
          name: type
          required: true
          schema:
            enum:
              - project
              - issuetype
            type: string
        - description: The ID of the item the avatar is associated with.
          in: path
          name: entityId
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"system":[{"id":"1000","isSystemAvatar":true,"isSelected":false,"isDeletable":false,"urls":{"16x16":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10040&avatarType=project","24x24":"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10040&avatarType=project","32x32":"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10040&avatarType=project","48x48":"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10040&avatarType=project"}}],"custom":[{"id":"1010","isSystemAvatar":false,"isSelected":false,"isDeletable":true,"urls":{"16x16":"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10080&avatarType=project","24x24":"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10080&avatarType=project","32x32":"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10080&avatarType=project","48x48":"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10080&avatarType=project"}}]}'
              schema:
                $ref: "#/components/schemas/Avatars"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the avatar type is invalid, the associated item ID is missing, or the item is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
        - {}
      summary: Get avatars
      tags:
        - Avatars
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:avatar:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Loads a custom avatar for a project or issue type.

        Specify the avatar's local file location in the body of the request. Also, include the following headers:

         *  `X-Atlassian-Token: no-check` To prevent XSRF protection blocking the request, for more information see [Special Headers](#special-request-headers).
         *  `Content-Type: image/image type` Valid image types are JPEG, GIF, or PNG.

        For example:  
        `curl --request POST `

        `--user email@example.com:<api_token> `

        `--header 'X-Atlassian-Token: no-check' `

        `--header 'Content-Type: image/< image_type>' `

        `--data-binary "<@/path/to/file/with/your/avatar>" `

        `--url 'https://your-domain.atlassian.net/rest/api/3/universal_avatar/type/{type}/owner/{entityId}'`

        The avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of the image. The length of the square's sides is set to the smaller of the height or width of the image.

        The cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.

        After creating the avatar use:

         *  [Update issue type](#api-rest-api-3-issuetype-id-put) to set it as the issue type's displayed avatar.
         *  [Set project avatar](#api-rest-api-3-project-projectIdOrKey-avatar-put) to set it as the project's displayed avatar.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: storeAvatar
      parameters:
        - description: The avatar type.
          in: path
          name: type
          required: true
          schema:
            enum:
              - project
              - issuetype
            type: string
        - description: The ID of the item the avatar is associated with.
          in: path
          name: entityId
          required: true
          schema:
            type: string
        - description: The X coordinate of the top-left corner of the crop region.
          in: query
          name: x
          schema:
            default: 0
            format: int32
            type: integer
        - description: The Y coordinate of the top-left corner of the crop region.
          in: query
          name: y
          schema:
            default: 0
            format: int32
            type: integer
        - description: The length of each side of the crop region.
          in: query
          name: size
          required: true
          schema:
            format: int32
            type: integer
      requestBody:
        content:
          "*/*":
            schema: {}
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"id":"1000","isSystemAvatar":true,"isSelected":false,"isDeletable":false,"urls":{"16x16":"/secure/useravatar?size=xsmall&avatarId=10040&avatarType=project","24x24":"/secure/useravatar?size=small&avatarId=10040&avatarType=project","32x32":"/secure/useravatar?size=medium&avatarId=10040&avatarType=project","48x48":"/secure/useravatar?avatarId=10040&avatarType=project"}}'
              schema:
                $ref: "#/components/schemas/Avatar"
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if:

             *  an image isn't included in the request.
             *  the image type is unsupported.
             *  the crop parameters extend the crop area beyond the edge of the image.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permissions.
        "404":
          description: Returned if the avatar type is invalid, the associated item ID is missing, or the item is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
        - {}
      summary: Load avatar
      tags:
        - Avatars
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:avatar:jira
            - read:avatar:jira
          state: Beta
  "/rest/api/3/universal_avatar/type/{type}/owner/{owningObjectId}/avatar/{id}":
    delete:
      deprecated: false
      description: |-
        Deletes an avatar from a project or issue type.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteAvatar
      parameters:
        - description: The avatar type.
          in: path
          name: type
          required: true
          schema:
            enum:
              - project
              - issuetype
            type: string
        - description: The ID of the item the avatar is associated with.
          in: path
          name: owningObjectId
          required: true
          schema:
            type: string
        - description: The ID of the avatar.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is invalid.
        "403":
          description: Returned if the user does not have permission to delete the avatar, the avatar is not deletable.
        "404":
          description: Returned if the avatar type, associated item ID, or avatar ID is invalid.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
        - {}
      summary: Delete avatar
      tags:
        - Avatars
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:avatar:jira
          state: Beta
  "/rest/api/3/universal_avatar/view/type/{type}":
    get:
      deprecated: false
      description: |-
        Returns the default project or issue type avatar image.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None.
      operationId: getAvatarImageByType
      parameters:
        - description: The icon type of the avatar.
          in: path
          name: type
          required: true
          schema:
            enum:
              - issuetype
              - project
            type: string
          x-showInExample: "true"
        - description: The size of the avatar image. If not provided the default size is returned.
          in: query
          name: size
          schema:
            enum:
              - xsmall
              - small
              - medium
              - large
              - xlarge
            type: string
          x-showInExample: "true"
        - description: The format to return the avatar image in. If not provided the original content format is returned.
          in: query
          name: format
          schema:
            enum:
              - png
              - svg
            type: string
          x-showInExample: "true"
      responses:
        "200":
          content:
            "*/*": {}
            application/json:
              schema:
                type: object
            image/png: {}
            image/svg+xml: {}
          description: Returned if the request is successful.
        "401":
          content:
            "*/*":
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
            image/png:
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
            image/svg+xml:
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
          description: Returned if the authentication credentials are incorrect.
        "403":
          content:
            "*/*":
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
            image/png:
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
            image/svg+xml:
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
          description: Returned if the user does not have the necessary permission.
        "404":
          content:
            "*/*":
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
            image/png:
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
            image/svg+xml:
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
          description: Returned if an avatar is not found or an avatar matching the requested size is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get avatar image by type
      tags:
        - Avatars
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:avatar:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/universal_avatar/view/type/{type}/avatar/{id}":
    get:
      deprecated: false
      description: |-
        Returns a project or issue type avatar image by ID.

        This operation can be accessed anonymously.

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

         *  For system avatars, none.
         *  For custom project avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project the avatar belongs to.
         *  For custom issue type avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one project the issue type is used in.
      operationId: getAvatarImageByID
      parameters:
        - description: The icon type of the avatar.
          in: path
          name: type
          required: true
          schema:
            enum:
              - issuetype
              - project
            type: string
          x-showInExample: "true"
        - description: The ID of the avatar.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
          x-showInExample: "true"
        - description: The size of the avatar image. If not provided the default size is returned.
          in: query
          name: size
          schema:
            enum:
              - xsmall
              - small
              - medium
              - large
              - xlarge
            type: string
          x-showInExample: "true"
        - description: The format to return the avatar image in. If not provided the original content format is returned.
          in: query
          name: format
          schema:
            enum:
              - png
              - svg
            type: string
          x-showInExample: "true"
      responses:
        "200":
          content:
            "*/*": {}
            application/json:
              schema:
                type: object
            image/png: {}
            image/svg+xml: {}
          description: Returned if the request is successful.
        "400":
          content:
            "*/*":
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
            image/png:
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
            image/svg+xml:
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          content:
            "*/*":
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
            image/png:
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
            image/svg+xml:
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
          description: Returned if the authentication credentials are incorrect.
        "403":
          content:
            "*/*":
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
            image/png:
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
            image/svg+xml:
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
          description: Returned if the user does not have the necessary permission.
        "404":
          content:
            "*/*":
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
            image/png:
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
            image/svg+xml:
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
          description: Returned if an avatar is not found or an avatar matching the requested size is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get avatar image by ID
      tags:
        - Avatars
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:avatar:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/universal_avatar/view/type/{type}/owner/{entityId}":
    get:
      deprecated: false
      description: |-
        Returns the avatar image for a project or issue type.

        This operation can be accessed anonymously.

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

         *  For system avatars, none.
         *  For custom project avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project the avatar belongs to.
         *  For custom issue type avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one project the issue type is used in.
      operationId: getAvatarImageByOwner
      parameters:
        - description: The icon type of the avatar.
          in: path
          name: type
          required: true
          schema:
            enum:
              - issuetype
              - project
            type: string
          x-showInExample: "true"
        - description: The ID of the project or issue type the avatar belongs to.
          in: path
          name: entityId
          required: true
          schema:
            type: string
          x-showInExample: "true"
        - description: The size of the avatar image. If not provided the default size is returned.
          in: query
          name: size
          schema:
            enum:
              - xsmall
              - small
              - medium
              - large
              - xlarge
            type: string
          x-showInExample: "true"
        - description: The format to return the avatar image in. If not provided the original content format is returned.
          in: query
          name: format
          schema:
            enum:
              - png
              - svg
            type: string
          x-showInExample: "true"
      responses:
        "200":
          content:
            "*/*": {}
            application/json:
              schema:
                type: object
            image/png: {}
            image/svg+xml: {}
          description: Returned if the request is successful.
        "400":
          content:
            "*/*":
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
            image/png:
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
            image/svg+xml:
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          content:
            "*/*":
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
            image/png:
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
            image/svg+xml:
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
          description: Returned if the authentication credentials are incorrect.
        "403":
          content:
            "*/*":
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
            image/png:
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
            image/svg+xml:
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
          description: Returned if the user does not have the necessary permission.
        "404":
          content:
            "*/*":
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
            image/png:
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
            image/svg+xml:
              example: '{"errorMessages":["Human readable error message"],"errors":{}}'
          description: Returned if an avatar is not found or an avatar matching the requested size is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get avatar image by owner
      tags:
        - Avatars
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:avatar:jira
          state: Beta
      x-experimental: true
  /rest/api/3/user:
    delete:
      deprecated: false
      description: |-
        Deletes a user. If the operation completes successfully then the user is removed from Jira's user base. This operation does not delete the user's Atlassian account.

        **[Permissions](#permissions) required:** Site administration (that is, membership of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).
      operationId: removeUser
      parameters:
        - description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
          in: query
          name: accountId
          required: true
          schema:
            example: 5b10ac8d82e05b22cc7d4ef5
            maxLength: 128
            type: string
          x-showInExample: "true"
        - 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: 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: key
          schema:
            type: string
      responses:
        "204":
          description: Returned if the request is successful.
        "400":
          description: Returned if the user cannot be removed.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the user is not found.
      security:
        - basicAuth: []
        - {}
      summary: Delete user
      tags:
        - Users
      x-atlassian-connect-scope: INACCESSIBLE
      x-experimental: true
    get:
      deprecated: false
      description: |-
        Returns a user.

        Privacy controls are applied to the response based on the user's preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.

        **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getUser
      parameters:
        - 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"
        - 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: 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: key
          schema:
            type: string
        - description: |-
            Use [expand](#expansion) to include additional information about users in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `groups` includes all groups and nested groups to which the user belongs.
             *  `applicationRoles` includes details of all the applications to which the user has access.
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","emailAddress":"mia@example.com","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":true,"timeZone":"Australia/Sydney","groups":{"size":3,"items":[]},"applicationRoles":{"size":1,"items":[]}}'
              schema:
                $ref: "#/components/schemas/User"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the calling user does not have the *Browse users and groups* global permission.
        "404":
          description: Returned if the user is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
        - {}
      summary: Get user
      tags:
        - Users
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:application-role:jira
            - read:group:jira
            - read:user:jira
            - read:avatar:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates a user. This resource is retained for legacy compatibility. As soon as a more suitable alternative is available this resource will be deprecated.

        If the user exists and has access to Jira, the operation returns a 201 status. If the user exists but does not have access to Jira, the operation returns a 400 status.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createUser
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              emailAddress: mia@atlassian.com
            schema:
              $ref: "#/components/schemas/NewUserDetails"
        description: Details about the user to be created.
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","emailAddress":"mia@example.com","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":true,"timeZone":"Australia/Sydney","groups":{"size":3,"items":[]},"applicationRoles":{"size":1,"items":[]}}'
              schema:
                $ref: "#/components/schemas/User"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is invalid or the number of licensed users is exceeded.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - {}
      summary: Create user
      tags:
        - Users
      x-atlassian-connect-scope: INACCESSIBLE
      x-experimental: true
  /rest/api/3/user/assignable/multiProjectSearch:
    get:
      deprecated: false
      description: |-
        Returns a list of users who can be assigned issues in one or more projects. The list may be restricted to users whose attributes match a string.

        This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that can be assigned issues in the projects. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who can be assigned issues in the projects, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.

        Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** None.
      operationId: findBulkAssignableUsers
      parameters:
        - description: A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified.
          in: query
          name: query
          schema:
            example: query
            type: string
          x-showInExample: "true"
        - 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: A query string that is matched exactly against user `accountId`. Required, unless `query` is specified.
          in: query
          name: accountId
          schema:
            maxLength: 128
            type: string
        - description: A list of project keys (case sensitive). This parameter accepts a comma-separated list.
          in: query
          name: projectKeys
          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
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10ac8d82e05b22cc7d4ef5","key":"","accountId":"5b10ac8d82e05b22cc7d4ef5","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32"},"displayName":"Emma Richards","active":false}]'
              schema:
                items:
                  $ref: "#/components/schemas/User"
                type: array
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if:

             *  `projectKeys` is missing.
             *  `query` or `accountId` is missing.
             *  `query` and `accountId` are provided.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if one or more of the projects is not found.
        "429":
          description: Returned if the rate limit is exceeded. User search endpoints share a collective rate limit for the tenant, in addition to Jira's normal rate limiting you may receive a rate limit for user search. Please respect the Retry-After header.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
        - {}
      summary: Find users assignable to projects
      tags:
        - User search
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project:jira
            - read:user:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
          state: Beta
  /rest/api/3/user/assignable/search:
    get:
      deprecated: false
      description: |-
        Returns a list of users that can be assigned to an issue. Use this operation to find the list of users who can be assigned to:

         *  a new issue, by providing the `projectKeyOrId`.
         *  an updated issue, by providing the `issueKey`.
         *  to an issue during a transition (workflow action), by providing the `issueKey` and the transition id in `actionDescriptorId`. You can obtain the IDs of an issue's valid transitions using the `transitions` option in the `expand` parameter of [ Get issue](#api-rest-api-3-issue-issueIdOrKey-get).

        In all these cases, you can pass an account ID to determine if a user can be assigned to an issue. The user is returned in the response if they can be assigned to the issue or issue transition.

        This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that can be assigned the issue. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who can be assigned the issue, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.

        Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: findAssignableUsers
      parameters:
        - description: A query string that is matched against user attributes, such as `displayName`, and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `username` or `accountId` is specified.
          in: query
          name: query
          schema:
            example: query
            type: string
          x-showInExample: "true"
        - description: The sessionId of this request. SessionId is the same until the assignee is set.
          in: query
          name: sessionId
          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: A query string that is matched exactly against user `accountId`. Required, unless `query` is specified.
          in: query
          name: accountId
          schema:
            maxLength: 128
            type: string
        - description: The project ID or project key (case sensitive). Required, unless `issueKey` is specified.
          in: query
          name: project
          schema:
            type: string
        - description: The key of the issue. Required, unless `project` is specified.
          in: query
          name: issueKey
          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. This operation may return less than the maximum number of items even if more are available. The operation fetches users up to the maximum and then, from the fetched users, returns only the users that can be assigned to the issue.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: The ID of the transition.
          in: query
          name: actionDescriptorId
          schema:
            format: int32
            type: integer
        - in: query
          name: recommend
          schema:
            default: false
            type: boolean
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","emailAddress":"mia@example.com","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":true,"timeZone":"Australia/Sydney","groups":{"size":3,"items":[]},"applicationRoles":{"size":1,"items":[]}}'
              schema:
                items:
                  $ref: "#/components/schemas/User"
                type: array
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if:

             *  `issueKey` or `project` is missing.
             *  `query` or `accountId` is missing.
             *  `query` and `accountId` are provided.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the project, issue, or transition is not found.
        "429":
          description: Returned if the rate limit is exceeded. User search endpoints share a collective rate limit for the tenant, in addition to Jira's normal rate limiting you may receive a rate limit for user search. Please respect the Retry-After header.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
        - {}
      summary: Find users assignable to issues
      tags:
        - User search
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue:jira
            - read:project:jira
            - read:user:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
          state: Beta
  /rest/api/3/user/bulk:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of the users specified by one or more account IDs.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: bulkGetUsers
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 10
            format: int32
            type: integer
        - description: This parameter is no longer available and will be removed from the documentation soon. 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:
            items:
              type: string
            type: array
        - description: This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
          in: query
          name: key
          schema:
            items:
              type: string
            type: array
        - description: The account ID of a user. To specify multiple users, pass multiple `accountId` parameters. For example, `accountId=5b10a2844c20165700ede21g&accountId=5b10ac8d82e05b22cc7d4ef5`.
          in: query
          name: accountId
          required: true
          schema:
            example: 5b10ac8d82e05b22cc7d4ef5
            items:
              example: 5b10ac8d82e05b22cc7d4ef5
              maxLength: 128
              type: string
            maxLength: 128
            type: array
          x-showInExample: "true"
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":100,"startAt":0,"total":1,"isLast":true,"values":[{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","emailAddress":"mia@example.com","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":true,"timeZone":"Australia/Sydney"}]}'
              schema:
                $ref: "#/components/schemas/PageBeanUser"
          description: Returned if the request is successful.
        "400":
          description: Returned if `accountID` is missing.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
      summary: Bulk get users
      tags:
        - Users
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:application-role:jira
            - read:group:jira
            - read:user:jira
            - read:avatar:jira
          state: Beta
      x-experimental: true
  /rest/api/3/user/bulk/migration:
    get:
      deprecated: false
      description: |-
        Returns the account IDs for the users specified in the `key` or `username` parameters. Note that multiple `key` or `username` parameters can be specified.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: bulkGetUsersMigration
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 10
            format: int32
            type: integer
        - description: Username of a user. To specify multiple users, pass multiple copies of this parameter. For example, `username=fred&username=barney`. Required if `key` isn't provided. Cannot be provided if `key` is present.
          in: query
          name: username
          schema:
            items:
              type: string
            type: array
        - description: Key of a user. To specify multiple users, pass multiple copies of this parameter. For example, `key=fred&key=barney`. Required if `username` isn't provided. Cannot be provided if `username` is present.
          in: query
          name: key
          schema:
            items:
              type: string
            type: array
      responses:
        "200":
          content:
            application/json:
              example: '[{"username":"mia","accountId":"5b10a2844c20165700ede21g"},{"username":"emma","accountId":"5b10ac8d82e05b22cc7d4ef5"}]'
              schema:
                items:
                  $ref: "#/components/schemas/UserMigrationBean"
                type: array
          description: Returned if the request is successful.
        "400":
          description: Returned if `key` or `username`
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
      summary: Get account IDs for users
      tags:
        - Users
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:user:jira
          state: Beta
      x-experimental: true
  /rest/api/3/user/columns:
    delete:
      deprecated: false
      description: |-
        Resets the default [ issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user to the system default. If `accountId` is not passed, the calling user's default columns are reset.

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

         *  *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to set the columns on any user.
         *  Permission to access Jira, to set the calling user's columns.
      operationId: resetUserColumns
      parameters:
        - description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
          in: query
          name: accountId
          schema:
            example: 5b10ac8d82e05b22cc7d4ef5
            maxLength: 128
            type: string
          x-showInExample: "true"
        - 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
      responses:
        "204":
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission or is not accessing their user record.
      security:
        - basicAuth: []
        - {}
      summary: Reset user default columns
      tags:
        - Users
      x-atlassian-connect-scope: INACCESSIBLE
    get:
      deprecated: false
      description: |-
        Returns the default [issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user. If `accountId` is not passed in the request, the calling user's details are returned.

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

         *  *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLgl), to get the column details for any user.
         *  Permission to access Jira, to get the calling user's column details.
      operationId: getUserDefaultColumns
      parameters:
        - description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
          in: query
          name: accountId
          schema:
            example: 5b10ac8d82e05b22cc7d4ef5
            maxLength: 128
            type: string
          x-showInExample: "true"
        - 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
      responses:
        "200":
          content:
            application/json:
              schema:
                items:
                  $ref: "#/components/schemas/ColumnItem"
                type: array
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission or is not accessing their user record.
        "404":
          description: Returned if the requested user is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
        - {}
      summary: Get user default columns
      tags:
        - Users
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:user.columns:jira
            - read:filter.column:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Sets the default [ issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user. If an account ID is not passed, the calling user's default columns are set. If no column details are sent, then all default columns are removed.

        The parameters for this resource are expressed as HTML form data. For example, in curl:

        `curl -X PUT -d columns=summary -d columns=description https://your-domain.atlassian.net/rest/api/3/user/columns?accountId=5b10ac8d82e05b22cc7d4ef5'`

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

         *  *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to set the columns on any user.
         *  Permission to access Jira, to set the calling user's columns.
      operationId: setUserColumns
      parameters:
        - description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
          in: query
          name: accountId
          schema:
            example: 5b10ac8d82e05b22cc7d4ef5
            maxLength: 128
            type: string
          x-showInExample: "true"
      requestBody:
        content:
          "*/*":
            schema:
              items:
                type: string
              type: array
          multipart/form-data:
            schema:
              items:
                type: string
              type: array
        description: The ID of a column to set. To set multiple columns, send multiple `columns` parameters.
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission or is not accessing their user record.
        "404":
          description: Returned if the requested user is not found.
        "429":
          description: Returned if the rate limit is exceeded. User search endpoints share a collective rate limit for the tenant, in addition to Jira's normal rate limiting you may receive a rate limit for user search. Please respect the Retry-After header.
        "500":
          description: Returned if an invalid issue table column ID is sent.
      security:
        - basicAuth: []
        - {}
      summary: Set user default columns
      tags:
        - Users
      x-atlassian-connect-scope: INACCESSIBLE
  /rest/api/3/user/email:
    get:
      deprecated: false
      description: Returns a user's email address. This API is only available to apps approved by Atlassian, according to these [guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).
      operationId: getUserEmail
      parameters:
        - description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, `5b10ac8d82e05b22cc7d4ef5`.
          in: query
          name: accountId
          required: true
          schema:
            maxLength: 128
            type: string
      responses:
        "200":
          content:
            application/json:
              example: name@example.com
              schema:
                $ref: "#/components/schemas/UnrestrictedUserEmail"
          description: Returned if the request is successful.
        "400":
          description: Returned if the calling app is not approved to use this API.
        "401":
          description: Returned if the authentication credentials are incorrect or missing from the request (for example if a user is trying to access this API).
        "404":
          description: Returned if a user with the given `accountId` doesn't exist
        "503":
          description: Indicates the API is not currently enabled
      security:
        - basicAuth: []
      summary: Get user email
      tags:
        - Users
      x-atlassian-connect-scope: ACCESS_EMAIL_ADDRESSES
  /rest/api/3/user/email/bulk:
    get:
      deprecated: false
      description: Returns a user's email address. This API is only available to apps approved by Atlassian, according to these [guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).
      operationId: getUserEmailBulk
      parameters:
        - description: The account IDs of the users for which emails are required. An `accountId` is an identifier that uniquely identifies the user across all Atlassian products. For example, `5b10ac8d82e05b22cc7d4ef5`. Note, this should be treated as an opaque identifier (that is, do not assume any structure in the value).
          in: query
          name: accountId
          required: true
          schema:
            items:
              maxLength: 128
              type: string
            maxLength: 128
            type: array
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UnrestrictedUserEmail"
          description: Returned if the request is successful.
        "400":
          description: Returned if the calling app is not approved to use this API.
        "401":
          description: Returned if the authentication credentials are incorrect, or missing from the request (for example if a user is trying to access this API).
        "503":
          description: Indicates the API is not currently enabled.
      security:
        - basicAuth: []
      summary: Get user email bulk
      tags:
        - Users
      x-atlassian-connect-scope: ACCESS_EMAIL_ADDRESSES
  /rest/api/3/user/groups:
    get:
      deprecated: false
      description: |-
        Returns the groups to which a user belongs.

        **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getUserGroups
      parameters:
        - description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
          in: query
          name: accountId
          required: true
          schema:
            example: 5b10ac8d82e05b22cc7d4ef5
            maxLength: 128
            type: string
          x-showInExample: "true"
        - 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: 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: key
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"name":"jira-administrators","groupId":"276f955c-63d7-42c8-9520-92d01dca0625","self":"https://your-domain.atlassian.net/rest/api/3/group?groupId=276f955c-63d7-42c8-9520-92d01dca0625"}'
              schema:
                items:
                  $ref: "#/components/schemas/GroupName"
                type: array
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the calling user does not have the *Browse users and groups* global permission.
        "404":
          description: Returned if the user is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
        - {}
      summary: Get user groups
      tags:
        - Users
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:group:jira
          state: Beta
  /rest/api/3/user/permission/search:
    get:
      deprecated: false
      description: |-
        Returns a list of users who fulfill these criteria:

         *  their user attributes match a search string.
         *  they have a set of permissions for a project or issue.

        If no search string is provided, a list of all users with the permissions is returned.

        This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the search string and have permission for the project or issue. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the search string and have permission for the project or issue, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.

        Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.

        This operation can be accessed anonymously.

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

         *  *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to get users for any project.
         *  *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project, to get users for that project.
      operationId: findUsersWithAllPermissions
      parameters:
        - description: A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified.
          in: query
          name: query
          schema:
            example: query
            type: string
          x-showInExample: "true"
        - 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: A query string that is matched exactly against user `accountId`. Required, unless `query` is specified.
          in: query
          name: accountId
          schema:
            maxLength: 128
            type: string
        - description: |-
            A comma separated list of permissions. Permissions can be specified as any:

             *  permission returned by [Get all permissions](#api-rest-api-3-permissions-get).
             *  custom project permission added by Connect apps.
             *  (deprecated) one of the following:
                
                 *  ASSIGNABLE\_USER
                 *  ASSIGN\_ISSUE
                 *  ATTACHMENT\_DELETE\_ALL
                 *  ATTACHMENT\_DELETE\_OWN
                 *  BROWSE
                 *  CLOSE\_ISSUE
                 *  COMMENT\_DELETE\_ALL
                 *  COMMENT\_DELETE\_OWN
                 *  COMMENT\_EDIT\_ALL
                 *  COMMENT\_EDIT\_OWN
                 *  COMMENT\_ISSUE
                 *  CREATE\_ATTACHMENT
                 *  CREATE\_ISSUE
                 *  DELETE\_ISSUE
                 *  EDIT\_ISSUE
                 *  LINK\_ISSUE
                 *  MANAGE\_WATCHER\_LIST
                 *  MODIFY\_REPORTER
                 *  MOVE\_ISSUE
                 *  PROJECT\_ADMIN
                 *  RESOLVE\_ISSUE
                 *  SCHEDULE\_ISSUE
                 *  SET\_ISSUE\_SECURITY
                 *  TRANSITION\_ISSUE
                 *  VIEW\_VERSION\_CONTROL
                 *  VIEW\_VOTERS\_AND\_WATCHERS
                 *  VIEW\_WORKFLOW\_READONLY
                 *  WORKLOG\_DELETE\_ALL
                 *  WORKLOG\_DELETE\_OWN
                 *  WORKLOG\_EDIT\_ALL
                 *  WORKLOG\_EDIT\_OWN
                 *  WORK\_ISSUE
          in: query
          name: permissions
          required: true
          schema:
            type: string
        - description: The issue key for the issue.
          in: query
          name: issueKey
          schema:
            type: string
        - description: The project key for the project (case sensitive).
          in: query
          name: projectKey
          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
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10ac8d82e05b22cc7d4ef5","key":"","accountId":"5b10ac8d82e05b22cc7d4ef5","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32"},"displayName":"Emma Richards","active":false}]'
              schema:
                items:
                  $ref: "#/components/schemas/User"
                type: array
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if:

             *  `issueKey` or `projectKey` is missing.
             *  `query` or `accountId` is missing.
             *  `query` and `accountId` are provided.
             *  `permissions` is empty or contains an invalid entry.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the issue or project is not found.
        "429":
          description: Returned if the rate limit is exceeded. User search endpoints share a collective rate limit for the tenant, in addition to Jira's normal rate limiting you may receive a rate limit for user search. Please respect the Retry-After header.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
        - {}
      summary: Find users with permissions
      tags:
        - User search
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue:jira
            - read:project:jira
            - read:user:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
          state: Beta
  /rest/api/3/user/picker:
    get:
      deprecated: false
      description: |-
        Returns a list of users whose attributes match the query term. The returned object includes the `html` field where the matched query term is highlighted with the HTML strong tag. A list of account IDs can be provided to exclude users from the results.

        This operation takes the users in the range defined by `maxResults`, up to the thousandth user, and then returns only the users from that range that match the query term. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the query term, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.

        Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by users without the required permission return search results for an exact name match only.
      operationId: findUsersForPicker
      parameters:
        - description: A query string that is matched against user attributes, such as `displayName`, and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*.
          in: query
          name: query
          required: true
          schema:
            type: string
        - description: The maximum number of items to return. The total number of matched users is returned in `total`.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: Include the URI to the user's avatar.
          in: query
          name: showAvatar
          schema:
            default: false
            type: boolean
        - 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: exclude
          schema:
            items:
              type: string
            type: array
        - description: A list of account IDs to exclude from the search results. This parameter accepts a comma-separated list. Multiple account IDs can also be provided using an ampersand-separated list. For example, `excludeAccountIds=5b10a2844c20165700ede21g,5b10a0effa615349cb016cd8&excludeAccountIds=5b10ac8d82e05b22cc7d4ef5`. Cannot be provided with `exclude`.
          in: query
          name: excludeAccountIds
          schema:
            items:
              type: string
            type: array
        - in: query
          name: avatarSize
          schema:
            type: string
        - in: query
          name: excludeConnectUsers
          schema:
            default: false
            type: boolean
      responses:
        "200":
          content:
            application/json:
              example: '{"users":[{"accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"mia","key":"mia","html":"<strong>Mi</strong>a Krystof - <strong>mi</strong>a@example.com (<strong>mi</strong>a)","displayName":"Mia Krystof","avatarUrl":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16"}],"total":25,"header":"Showing 20 of 25 matching groups"}'
              schema:
                $ref: "#/components/schemas/FoundUsers"
          description: Returned if the request is successful.
        "400":
          description: Returned if `exclude` and `excludeAccountIds` are provided.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "429":
          description: Returned if the rate limit is exceeded. User search endpoints share a collective rate limit for the tenant, in addition to Jira's normal rate limiting you may receive a rate limit for user search. Please respect the Retry-After header.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
        - {}
      summary: Find users for picker
      tags:
        - User search
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:user:jira
          state: Beta
  /rest/api/3/user/properties:
    get:
      deprecated: false
      description: |-
        Returns the keys of all properties for a user.

        Note: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.

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

         *  *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to access the property keys on any user.
         *  Access to Jira, to access the calling user's property keys.
      operationId: getUserPropertyKeys
      parameters:
        - description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
          in: query
          name: accountId
          schema:
            example: 5b10ac8d82e05b22cc7d4ef5
            maxLength: 128
            type: string
          x-showInExample: "true"
        - description: This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
          in: query
          name: userKey
          schema:
            type: string
        - description: This parameter is no longer available and will be removed from the documentation soon. 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
      responses:
        "200":
          content:
            application/json:
              example: '{"keys":[{"self":"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support","key":"issue.support"}]}'
              schema:
                $ref: "#/components/schemas/PropertyKeys"
          description: Returned if the request is successful.
        "400":
          description: Returned if `accountId` is missing.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission or is not accessing their user record.
        "404":
          description: Returned if the user is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
      summary: Get user property keys
      tags:
        - User properties
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:user.property:jira
            - read:comment.property:jira
            - read:dashboard.property:jira
            - read:issue-type.property:jira
            - read:issue-worklog.property:jira
            - read:issue.property:jira
            - read:project.property:jira
            - read:workflow.property:jira
          state: Beta
  "/rest/api/3/user/properties/{propertyKey}":
    delete:
      deprecated: false
      description: |-
        Deletes a property from a user.

        Note: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.

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

         *  *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to delete a property from any user.
         *  Access to Jira, to delete a property from the calling user's record.
      operationId: deleteUserProperty
      parameters:
        - description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
          in: query
          name: accountId
          schema:
            example: 5b10ac8d82e05b22cc7d4ef5
            maxLength: 128
            type: string
          x-showInExample: "true"
        - description: This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
          in: query
          name: userKey
          schema:
            type: string
        - description: This parameter is no longer available and will be removed from the documentation soon. 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 key of the user's property.
          in: path
          name: propertyKey
          required: true
          schema:
            type: string
      responses:
        "204":
          description: Returned if the user property is deleted.
        "400":
          description: Returned if `accountId` is missing.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission or is not accessing their user record.
        "404":
          description: Returned if the user or the property is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
      summary: Delete user property
      tags:
        - User properties
      x-atlassian-connect-scope: DELETE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:user.property:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns the value of a user's property. If no property key is provided [Get user property keys](#api-rest-api-3-user-properties-get) is called.

        Note: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.

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

         *  *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to get a property from any user.
         *  Access to Jira, to get a property from the calling user's record.
      operationId: getUserProperty
      parameters:
        - description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
          in: query
          name: accountId
          schema:
            example: 5b10ac8d82e05b22cc7d4ef5
            maxLength: 128
            type: string
          x-showInExample: "true"
        - description: This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
          in: query
          name: userKey
          schema:
            type: string
        - description: This parameter is no longer available and will be removed from the documentation soon. 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 key of the user's 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 `accountId` is missing.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission or is not accessing their user record.
        "404":
          description: Returned if the user is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
      summary: Get user property
      tags:
        - User properties
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:user.property:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Sets the value of a user's property. Use this resource to store custom data against a user.

        Note: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.

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

         *  *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to set a property on any user.
         *  Access to Jira, to set a property on the calling user's record.
      operationId: setUserProperty
      parameters:
        - description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
          in: query
          name: accountId
          schema:
            example: 5b10ac8d82e05b22cc7d4ef5
            maxLength: 128
            type: string
          x-showInExample: "true"
        - description: This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
          in: query
          name: userKey
          schema:
            type: string
        - description: This parameter is no longer available and will be removed from the documentation soon. 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 key of the user's property. The maximum length is 255 characters.
          in: path
          name: propertyKey
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema: {}
        required: true
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Returned if the user property is updated.
        "201":
          content:
            application/json:
              schema: {}
          description: Returned if the user property is created.
        "400":
          description: Returned if `accountId` is missing.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission or is not accessing their user record.
        "404":
          description: Returned if the user is not found.
        "405":
          description: Returned if the property key is not specified.
      security:
        - basicAuth: []
        - OAuth2:
            - write:jira-work
      summary: Set user property
      tags:
        - User properties
      x-atlassian-connect-scope: WRITE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - write:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - write:user.property:jira
          state: Beta
  /rest/api/3/user/search:
    get:
      deprecated: false
      description: |-
        Returns a list of users that match the search string and property.

        This operation first applies a filter to match the search string and property, and then takes the filtered users in the range defined by `startAt` and `maxResults`, up to the thousandth user. To get all the users who match the search string and property, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.

        This operation can be accessed anonymously.

        Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.

        **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls or calls by users without the required permission return empty search results.
      operationId: findUsers
      parameters:
        - description: A query string that is matched against user attributes ( `displayName`, and `emailAddress`) to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` or `property` is specified.
          in: query
          name: query
          schema:
            example: query
            type: string
          x-showInExample: "true"
        - in: query
          name: username
          schema:
            type: string
        - description: A query string that is matched exactly against a user `accountId`. Required, unless `query` or `property` is specified.
          in: query
          name: accountId
          schema:
            maxLength: 128
            type: string
        - description: The index of the first item to return in a page of filtered 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
            type: integer
        - description: 'A query string used to search properties. Property keys are specified by path, so property keys containing dot (.) or equals (=) characters cannot be used. The query string cannot be specified using a JSON object. Example: To search for the value of `nested` from `{"something":{"nested":1,"other":2}}` use `thepropertykey.something.nested=1`. Required, unless `accountId` or `query` is specified.'
          in: query
          name: property
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10ac8d82e05b22cc7d4ef5","key":"","accountId":"5b10ac8d82e05b22cc7d4ef5","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32"},"displayName":"Emma Richards","active":false}]'
              schema:
                items:
                  $ref: "#/components/schemas/User"
                type: array
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if:

             *  `accountId`, `query` or `property` is missing.
             *  `query` and `accountId` are provided.
             *  `property` parameter is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "429":
          description: Returned if the rate limit is exceeded. User search endpoints share a collective rate limit for the tenant, in addition to Jira's normal rate limiting you may receive a rate limit for user search. Please respect the Retry-After header.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
        - {}
      summary: Find users
      tags:
        - User search
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:user:jira
            - read:user.property:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
          state: Beta
  /rest/api/3/user/search/query:
    get:
      deprecated: false
      description: |-
        Finds users with a structured query and returns a [paginated](#pagination) list of user details.

        This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the structured query. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the structured query, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.

        **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).

        The query statements are:

         *  `is assignee of PROJ` Returns the users that are assignees of at least one issue in project *PROJ*.
         *  `is assignee of (PROJ-1, PROJ-2)` Returns users that are assignees on the issues *PROJ-1* or *PROJ-2*.
         *  `is reporter of (PROJ-1, PROJ-2)` Returns users that are reporters on the issues *PROJ-1* or *PROJ-2*.
         *  `is watcher of (PROJ-1, PROJ-2)` Returns users that are watchers on the issues *PROJ-1* or *PROJ-2*.
         *  `is voter of (PROJ-1, PROJ-2)` Returns users that are voters on the issues *PROJ-1* or *PROJ-2*.
         *  `is commenter of (PROJ-1, PROJ-2)` Returns users that have posted a comment on the issues *PROJ-1* or *PROJ-2*.
         *  `is transitioner of (PROJ-1, PROJ-2)` Returns users that have performed a transition on issues *PROJ-1* or *PROJ-2*.
         *  `[propertyKey].entity.property.path is "property value"` Returns users with the entity property value.

        The list of issues can be extended as needed, as in *(PROJ-1, PROJ-2, ... PROJ-n)*. Statements can be combined using the `AND` and `OR` operators to form more complex queries. For example:

        `is assignee of PROJ AND [propertyKey].entity.property.path is "property value"`
      operationId: findUsersByQuery
      parameters:
        - description: The search query.
          in: query
          name: query
          required: true
          schema:
            type: string
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 100
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PageBeanUser"
          description: Returned if the request is successful.
        "400":
          description: Returned if the query is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "408":
          description: Returned if the search is timed out.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
      summary: Find users by query
      tags:
        - User search
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:comment:jira
            - read:issue:jira
            - read:issue.vote:jira
            - read:issue.watcher:jira
            - read:project:jira
            - read:user:jira
            - read:user.property:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
          state: Beta
  /rest/api/3/user/search/query/key:
    get:
      deprecated: false
      description: |-
        Finds users with a structured query and returns a [paginated](#pagination) list of user keys.

        This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the structured query. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the structured query, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.

        **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).

        The query statements are:

         *  `is assignee of PROJ` Returns the users that are assignees of at least one issue in project *PROJ*.
         *  `is assignee of (PROJ-1, PROJ-2)` Returns users that are assignees on the issues *PROJ-1* or *PROJ-2*.
         *  `is reporter of (PROJ-1, PROJ-2)` Returns users that are reporters on the issues *PROJ-1* or *PROJ-2*.
         *  `is watcher of (PROJ-1, PROJ-2)` Returns users that are watchers on the issues *PROJ-1* or *PROJ-2*.
         *  `is voter of (PROJ-1, PROJ-2)` Returns users that are voters on the issues *PROJ-1* or *PROJ-2*.
         *  `is commenter of (PROJ-1, PROJ-2)` Returns users that have posted a comment on the issues *PROJ-1* or *PROJ-2*.
         *  `is transitioner of (PROJ-1, PROJ-2)` Returns users that have performed a transition on issues *PROJ-1* or *PROJ-2*.
         *  `[propertyKey].entity.property.path is "property value"` Returns users with the entity property value.

        The list of issues can be extended as needed, as in *(PROJ-1, PROJ-2, ... PROJ-n)*. Statements can be combined using the `AND` and `OR` operators to form more complex queries. For example:

        `is assignee of PROJ AND [propertyKey].entity.property.path is "property value"`
      operationId: findUserKeysByQuery
      parameters:
        - description: The search query.
          in: query
          name: query
          required: true
          schema:
            type: string
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 100
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PageBeanUserKey"
          description: Returned if the request is successful.
        "400":
          description: Returned if the query is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "408":
          description: Returned if the search is timed out.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
      summary: Find user keys by query
      tags:
        - User search
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:comment:jira
            - read:issue:jira
            - read:issue.vote:jira
            - read:issue.watcher:jira
            - read:project:jira
            - read:user.property:jira
            - read:user:jira
          state: Beta
  /rest/api/3/user/viewissue/search:
    get:
      deprecated: false
      description: |-
        Returns a list of users who fulfill these criteria:

         *  their user attributes match a search string.
         *  they have permission to browse issues.

        Use this resource to find users who can browse:

         *  an issue, by providing the `issueKey`.
         *  any issue in a project, by providing the `projectKey`.

        This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the search string and have permission to browse issues. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the search string and have permission to browse issues, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.

        Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by users without the required permission return empty search results.
      operationId: findUsersWithBrowsePermission
      parameters:
        - description: A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified.
          in: query
          name: query
          schema:
            example: query
            type: string
          x-showInExample: "true"
        - 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: A query string that is matched exactly against user `accountId`. Required, unless `query` is specified.
          in: query
          name: accountId
          schema:
            maxLength: 128
            type: string
        - description: The issue key for the issue. Required, unless `projectKey` is specified.
          in: query
          name: issueKey
          schema:
            type: string
        - description: The project key for the project (case sensitive). Required, unless `issueKey` is specified.
          in: query
          name: projectKey
          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
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10ac8d82e05b22cc7d4ef5","key":"","accountId":"5b10ac8d82e05b22cc7d4ef5","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32"},"displayName":"Emma Richards","active":false}]'
              schema:
                items:
                  $ref: "#/components/schemas/User"
                type: array
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if:

             *  `issueKey` or `projectKey` is missing.
             *  `query` or `accountId` is missing.
             *  `query` and `accountId` are provided.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the issue or project is not found.
        "429":
          description: Returned if the rate limit is exceeded. User search endpoints share a collective rate limit for the tenant, in addition to Jira's normal rate limiting you may receive a rate limit for user search. Please respect the Retry-After header.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
        - {}
      summary: Find users with browse permission
      tags:
        - User search
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue:jira
            - read:project:jira
            - read:user:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
          state: Beta
  /rest/api/3/users:
    get:
      deprecated: false
      description: |-
        Returns a list of all users, including active users, inactive users and previously deleted users that have an Atlassian account.

        Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.

        **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getAllUsersDefault
      parameters:
        - description: The index of the first item to return.
          in: query
          name: startAt
          schema:
            default: 0
            format: int32
            type: integer
        - description: The maximum number of items to return.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10ac8d82e05b22cc7d4ef5","key":"","accountId":"5b10ac8d82e05b22cc7d4ef5","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32"},"displayName":"Emma Richards","active":false}]'
              schema:
                items:
                  $ref: "#/components/schemas/User"
                type: array
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is invalid.
        "403":
          description: Returned if the user doesn't have the necessary permission.
        "409":
          description: Returned if the request takes longer than 10 seconds or is interrupted.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
        - {}
      summary: Get all users default
      tags:
        - Users
      x-atlassian-connect-scope: INACCESSIBLE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:user:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
          state: Beta
  /rest/api/3/users/search:
    get:
      deprecated: false
      description: |-
        Returns a list of all users, including active users, inactive users and previously deleted users that have an Atlassian account.

        Privacy controls are applied to the response based on the users' preferences. This could mean, for example, that the user's email address is hidden. See the [Profile visibility overview](https://developer.atlassian.com/cloud/jira/platform/profile-visibility/) for more details.

        **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getAllUsers
      parameters:
        - description: The index of the first item to return.
          in: query
          name: startAt
          schema:
            default: 0
            format: int32
            type: integer
        - description: The maximum number of items to return.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":false},{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10ac8d82e05b22cc7d4ef5","key":"","accountId":"5b10ac8d82e05b22cc7d4ef5","accountType":"atlassian","name":"","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32"},"displayName":"Emma Richards","active":false}]'
              schema:
                items:
                  $ref: "#/components/schemas/User"
                type: array
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is invalid.
        "403":
          description: Returned if the user doesn't have the necessary permission.
        "409":
          description: Returned if the request takes longer than 10 seconds or is interrupted.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-user
        - {}
      summary: Get all users
      tags:
        - Users
      x-atlassian-connect-scope: INACCESSIBLE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-user
          state: Current
        - scheme: OAuth2
          scopes:
            - read:user:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
          state: Beta
  /rest/api/3/version:
    post:
      deprecated: false
      description: |-
        Creates a project version.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project the version is added to.
      operationId: createVersion
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              archived: false
              description: An excellent version
              name: New Version 1
              projectId: 10000
              releaseDate: 2010-07-06
              released: true
            schema:
              $ref: "#/components/schemas/Version"
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/version/10000","id":"10000","description":"An excellent version","name":"New Version 1","archived":false,"released":true,"releaseDate":"2010-07-06","userReleaseDate":"6/Jul/2010","project":"PXA","projectId":10000}'
              schema:
                $ref: "#/components/schemas/Version"
          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:

             *  the project is not found.
             *  the user does not have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Create version
      tags:
        - Project versions
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - write:project-version:jira
            - read:project-version:jira
          state: Beta
  "/rest/api/3/version/{id}":
    delete:
      deprecated: true
      description: |-
        Deletes a project version.

        Deprecated, use [ Delete and replace version](#api-rest-api-3-version-id-removeAndSwap-post) that supports swapping version values in custom fields, in addition to the swapping for `fixVersion` and `affectedVersion` provided in this resource.

        Alternative versions can be provided to update issues that use the deleted version in `fixVersion` or `affectedVersion`. If alternatives are not provided, occurrences of `fixVersion` and `affectedVersion` that contain the deleted version are cleared.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.
      operationId: deleteVersion
      parameters:
        - description: The ID of the version.
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: The ID of the version to update `fixVersion` to when the field contains the deleted version. The replacement version must be in the same project as the version being deleted and cannot be the version being deleted.
          in: query
          name: moveFixIssuesTo
          schema:
            type: string
        - description: The ID of the version to update `affectedVersion` to when the field contains the deleted version. The replacement version must be in the same project as the version being deleted and cannot be the version being deleted.
          in: query
          name: moveAffectedIssuesTo
          schema:
            type: string
      responses:
        "204":
          description: Returned if the version is deleted.
        "400":
          description: Returned if the request is invalid.
        "401":
          description: |-
            Returned if:

             *  the authentication credentials are incorrect.
             *  the user does not have the required permissions.
        "404":
          description: Returned if the version is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Delete version
      tags:
        - Project versions
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:project-version:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns a project version.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the version.
      operationId: getVersion
      parameters:
        - description: The ID of the version.
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: |-
            Use [expand](#expansion) to include additional information about version in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `operations` Returns the list of operations available for this version.
             *  `issuesstatus` Returns the count of issues in this version for each of the status categories *to do*, *in progress*, *done*, and *unmapped*. The *unmapped* property represents the number of issues with a status other than *to do*, *in progress*, and *done*.
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/version/10000","id":"10000","description":"An excellent version","name":"New Version 1","archived":false,"released":true,"releaseDate":"2010-07-06","overdue":true,"userReleaseDate":"6/Jul/2010","projectId":10000}'
              schema:
                $ref: "#/components/schemas/Version"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: Returned if the version is not found or the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get version
      tags:
        - Project versions
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project-version:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Updates a project version.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.
      operationId: updateVersion
      parameters:
        - description: The ID of the version.
          in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              archived: false
              description: An excellent version
              id: "10000"
              name: New Version 1
              overdue: true
              projectId: 10000
              releaseDate: 2010-07-06
              released: true
              self: https://your-domain.atlassian.net/rest/api/~ver~/version/10000
              userReleaseDate: 6/Jul/2010
            schema:
              $ref: "#/components/schemas/Version"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/version/10000","id":"10000","description":"An excellent version","name":"New Version 1","archived":false,"released":true,"releaseDate":"2010-07-06","userReleaseDate":"6/Jul/2010","project":"PXA","projectId":10000}'
              schema:
                $ref: "#/components/schemas/Version"
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if:

             *  the request is invalid.
             *  the user does not have the required permissions.
        "401":
          description: Returned if the authentication credentials are incorrect.
        "404":
          description: Returned if the version is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Update version
      tags:
        - Project versions
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - write:project-version:jira
            - read:project-version:jira
          state: Beta
  "/rest/api/3/version/{id}/mergeto/{moveIssuesTo}":
    put:
      deprecated: false
      description: |-
        Merges two project versions. The merge is completed by deleting the version specified in `id` and replacing any occurrences of its ID in `fixVersion` with the version ID specified in `moveIssuesTo`.

        Consider using [ Delete and replace version](#api-rest-api-3-version-id-removeAndSwap-post) instead. This resource supports swapping version values in `fixVersion`, `affectedVersion`, and custom fields.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.
      operationId: mergeVersions
      parameters:
        - description: The ID of the version to delete.
          in: path
          name: id
          required: true
          schema:
            type: string
        - description: The ID of the version to merge into.
          in: path
          name: moveIssuesTo
          required: true
          schema:
            type: string
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the version is deleted.
        "400":
          description: Returned if the request is invalid.
        "401":
          description: |-
            Returned if:

             *  the authentication credentials are incorrect or missing.
             *  the user does not have the required permissions.
        "404":
          description: Returned if the version to be deleted or the version to merge to are not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Merge versions
      tags:
        - Project versions
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:project-version:jira
            - write:project-version:jira
          state: Beta
  "/rest/api/3/version/{id}/move":
    post:
      deprecated: false
      description: |-
        Modifies the version's sequence within the project, which affects the display order of the versions in Jira.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse projects* project permission for the project that contains the version.
      operationId: moveVersion
      parameters:
        - description: The ID of the version to be moved.
          in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              after: https://your-domain.atlassian.net/rest/api/~ver~/version/10000
            schema:
              $ref: "#/components/schemas/VersionMoveBean"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/version/10000","id":"10000","description":"An excellent version","name":"New Version 1","archived":false,"released":true,"releaseDate":"2010-07-06","overdue":true,"userReleaseDate":"6/Jul/2010","projectId":10000}'
              schema:
                $ref: "#/components/schemas/Version"
          description: Returned if the request is successful.
        "400":
          description: |-
            Returned if:

             *  no body parameters are provided.
             *  `after` and `position` are provided.
             *  `position` is invalid.
        "401":
          description: |-
            Returned if:

             *  the authentication credentials are incorrect or missing
             *  the user does not have the required commissions.
        "404":
          description: Returned if the version or move after version are not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Move version
      tags:
        - Project versions
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - write:project-version:jira
            - read:project-version:jira
          state: Beta
  "/rest/api/3/version/{id}/relatedIssueCounts":
    get:
      deprecated: false
      description: |-
        Returns the following counts for a version:

         *  Number of issues where the `fixVersion` is set to the version.
         *  Number of issues where the `affectedVersion` is set to the version.
         *  Number of issues where a version custom field is set to the version.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse projects* project permission for the project that contains the version.
      operationId: getVersionRelatedIssues
      parameters:
        - description: The ID of the version.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/version/10000","issuesFixedCount":23,"issuesAffectedCount":101,"issueCountWithCustomFieldsShowingVersion":54,"customFieldUsage":[{"fieldName":"Field1","customFieldId":10000,"issueCountWithVersionInCustomField":2},{"fieldName":"Field2","customFieldId":10010,"issueCountWithVersionInCustomField":3}]}'
              schema:
                $ref: "#/components/schemas/VersionIssueCounts"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect.
        "404":
          description: |-
            Returned if:

             *  the version is not found.
             *  the user does not have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get version's related issues count
      tags:
        - Project versions
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field:jira
            - read:project-version:jira
          state: Beta
  "/rest/api/3/version/{id}/removeAndSwap":
    post:
      deprecated: false
      description: |-
        Deletes a project version.

        Alternative versions can be provided to update issues that use the deleted version in `fixVersion`, `affectedVersion`, or any version picker custom fields. If alternatives are not provided, occurrences of `fixVersion`, `affectedVersion`, and any version picker custom field, that contain the deleted version, are cleared. Any replacement version must be in the same project as the version being deleted and cannot be the version being deleted.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.
      operationId: deleteAndReplaceVersion
      parameters:
        - description: The ID of the version.
          in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DeleteAndReplaceVersionBean"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the version is deleted.
        "400":
          description: Returned if the request is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: |-
            Returned if:

             *  the version to delete is not found.
             *  the user does not have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
        - {}
      summary: Delete and replace version
      tags:
        - Project versions
      x-atlassian-connect-scope: PROJECT_ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:project-version:jira
            - write:project-version:jira
          state: Beta
  "/rest/api/3/version/{id}/unresolvedIssueCount":
    get:
      deprecated: false
      description: |-
        Returns counts of the issues and unresolved issues for the project version.

        This operation can be accessed anonymously.

        **[Permissions](#permissions) required:** *Browse projects* project permission for the project that contains the version.
      operationId: getVersionUnresolvedIssues
      parameters:
        - description: The ID of the version.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"self":"https://your-domain.atlassian.net/rest/api/3/version/10000","issuesUnresolvedCount":23,"issuesCount":30}'
              schema:
                $ref: "#/components/schemas/VersionUnresolvedIssuesCount"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          description: |-
            Returned if:

             *  the version is not found.
             *  the user does not have the required permissions.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
        - {}
      summary: Get version's unresolved issues count
      tags:
        - Project versions
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project-version:jira
          state: Beta
  /rest/api/3/webhook:
    delete:
      deprecated: false
      description: |-
        Removes webhooks by ID. Only webhooks registered by the calling app are removed. If webhooks created by other apps are specified, they are ignored.

        **[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
      operationId: deleteWebhookById
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              webhookIds:
                - 10000
                - 10001
                - 10042
            schema:
              $ref: "#/components/schemas/ContainerForWebhookIDs"
        required: true
      responses:
        "202":
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the list of webhook IDs is missing.
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the caller isn't an app.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
            - manage:jira-webhook
      summary: Delete webhooks by ID
      tags:
        - Webhooks
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
            - manage:jira-webhook
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:webhook:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of the webhooks registered by the calling app.

        **[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
      operationId: getDynamicWebhooksForApp
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 100
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":3,"startAt":0,"total":3,"isLast":true,"values":[{"id":10000,"jqlFilter":"project = PRJ","fieldIdsFilter":["summary","customfield_10029"],"events":["jira:issue_updated","jira:issue_created"],"expirationDate":"2019-06-01T12:42:30.000+0000"},{"id":10001,"jqlFilter":"issuetype = Bug","events":["jira:issue_created"],"expirationDate":"2019-06-01T12:42:30.000+0000"},{"id":10002,"jqlFilter":"project = PRJ","issuePropertyKeysFilter":["my-issue-property-key"],"events":["issue_property_set"],"expirationDate":"2019-06-01T12:42:30.000+0000"}]}'
              schema:
                $ref: "#/components/schemas/PageBeanWebhook"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is invalid.
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the caller isn't an app.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
            - manage:jira-webhook
      summary: Get dynamic webhooks for app
      tags:
        - Webhooks
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
            - manage:jira-webhook
          state: Current
        - scheme: OAuth2
          scopes:
            - read:webhook:jira
            - read:jql:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Registers webhooks.

        **NOTE:** for non-public OAuth apps, webhooks are delivered only if there is a match between the app owner and the user who registered a dynamic webhook.

        **[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
      operationId: registerDynamicWebhooks
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              url: https://your-app.example.com/webhook-received
              webhooks:
                - events:
                    - jira:issue_created
                    - jira:issue_updated
                  fieldIdsFilter:
                    - summary
                    - customfield_10029
                  jqlFilter: project = PROJ
                - events:
                    - jira:issue_deleted
                  jqlFilter: project IN (PROJ, EXP) AND status = done
                - events:
                    - issue_property_set
                  issuePropertyKeysFilter:
                    - my-issue-property-key
                  jqlFilter: project = PROJ
            schema:
              $ref: "#/components/schemas/WebhookRegistrationDetails"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"webhookRegistrationResult":[{"createdWebhookId":1000},{"errors":["The clause watchCount is unsupported"]},{"createdWebhookId":1001}]}'
              schema:
                $ref: "#/components/schemas/ContainerForRegisteredWebhooks"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is invalid.
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the caller isn't an app.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
            - manage:jira-webhook
      summary: Register dynamic webhooks
      tags:
        - Webhooks
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
            - manage:jira-webhook
          state: Current
        - scheme: OAuth2
          scopes:
            - read:field:jira
            - read:project:jira
            - write:webhook:jira
          state: Beta
  /rest/api/3/webhook/failed:
    get:
      deprecated: false
      description: |-
        Returns webhooks that have recently failed to be delivered to the requesting app after the maximum number of retries.

        After 72 hours the failure may no longer be returned by this operation.

        The oldest failure is returned first.

        This method uses a cursor-based pagination. To request the next page use the failure time of the last webhook on the list as the `failedAfter` value or use the URL provided in `next`.

        **[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) can use this operation.
      operationId: getFailedWebhooks
      parameters:
        - description: The maximum number of webhooks to return per page. If obeying the maxResults directive would result in records with the same failure time being split across pages, the directive is ignored and all records with the same failure time included on the page.
          in: query
          name: maxResults
          schema:
            format: int32
            type: integer
        - description: The time after which any webhook failure must have occurred for the record to be returned, expressed as milliseconds since the UNIX epoch.
          in: query
          name: after
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"values":[{"id":"1","body":"{\"data\":\"webhook data\"}","url":"https://example.com","failureTime":1573118132000},{"id":"2","url":"https://example.com","failureTime":1573540473480}],"maxResults":100,"next":"https://your-domain.atlassian.net/rest/api/3/webhook/failed?failedAfter=1573540473480&maxResults=100"}'
              schema:
                $ref: "#/components/schemas/FailedWebhooks"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: 400 response
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the caller is not a Connect app.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
            - manage:jira-webhook
      summary: Get failed webhooks
      tags:
        - Webhooks
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
            - manage:jira-webhook
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-details:jira
            - read:webhook:jira
            - read:comment.property:jira
            - read:group:jira
            - read:issue-type:jira
            - read:project-role:jira
            - read:epic:jira-software
          state: Beta
      x-experimental: true
  /rest/api/3/webhook/refresh:
    put:
      deprecated: false
      description: |-
        Extends the life of webhook. Webhooks registered through the REST API expire after 30 days. Call this operation to keep them alive.

        Unrecognized webhook IDs (those that are not found or belong to other apps) are ignored.

        **[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.
      operationId: refreshWebhooks
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              webhookIds:
                - 10000
                - 10001
                - 10042
            schema:
              $ref: "#/components/schemas/ContainerForWebhookIDs"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"expirationDate":"2019-06-01T12:42:30.000+0000"}'
              schema:
                $ref: "#/components/schemas/WebhooksExpirationDate"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is invalid.
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the caller isn't an app.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
            - manage:jira-webhook
      summary: Extend webhook life
      tags:
        - Webhooks
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
            - manage:jira-webhook
          state: Current
        - scheme: OAuth2
          scopes:
            - write:webhook:jira
            - read:webhook:jira
          state: Beta
  /rest/api/3/workflow:
    get:
      deprecated: true
      description: |-
        Returns all workflows in Jira or a workflow. Deprecated, use [Get workflows paginated](#api-rest-api-3-workflow-search-get).

        If the `workflowName` parameter is specified, the workflow is returned as an object (not in an array). Otherwise, an array of workflow objects is returned.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getAllWorkflows
      parameters:
        - description: The name of the workflow to be returned. Only one workflow can be specified.
          in: query
          name: workflowName
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '[{"name":"classic workflow","description":"A classic Jira workflow","lastModifiedDate":"01-01-2011","lastModifiedUser":"admin","lastModifiedUserAccountId":"5b10a2844c20165700ede21g","steps":5,"default":true}]'
              schema:
                items:
                  $ref: "#/components/schemas/DeprecatedWorkflow"
                type: array
          description: Returned if the request is successful.
        "401":
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get all workflows
      tags:
        - Workflows
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:workflow:jira
            - read:project:jira
            - read:project-category:jira
            - read:avatar:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates a workflow. You can define transition rules using the shapes detailed in the following sections. If no transitional rules are specified the default system transition rules are used.

        #### Conditions ####

        Conditions enable workflow rules that govern whether a transition can execute.

        ##### Always false condition #####

        A condition that always fails.

            {
               "type": "AlwaysFalseCondition"
             }

        ##### Block transition until approval #####

        A condition that blocks issue transition if there is a pending approval.

            {
               "type": "BlockInProgressApprovalCondition"
             }

        ##### Compare number custom field condition #####

        A condition that allows transition if a comparison between a number custom field and a value is true.

            {
               "type": "CompareNumberCFCondition",
               "configuration": {
                 "comparator": "=",
                 "fieldId": "customfield_10029",
                 "fieldValue": 2
               }
             }

         *  `comparator` One of the supported comparator: `=`, `>`, and `<`.
         *  `fieldId` The custom numeric field ID. Allowed field types:
            
             *  `com.atlassian.jira.plugin.system.customfieldtypes:float`
             *  `com.pyxis.greenhopper.jira:jsw-story-points`
         *  `fieldValue` The value for comparison.

        ##### Hide from user condition #####

        A condition that hides a transition from users. The transition can only be triggered from a workflow function or REST API operation.

            {
               "type": "RemoteOnlyCondition"
             }

        ##### Only assignee condition #####

        A condition that allows only the assignee to execute a transition.

            {
               "type": "AllowOnlyAssignee"
             }

        ##### Only Bamboo notifications workflow condition #####

        A condition that makes the transition available only to Bamboo build notifications.

            {
               "type": "OnlyBambooNotificationsCondition"
             }

        ##### Only reporter condition #####

        A condition that allows only the reporter to execute a transition.

            {
               "type": "AllowOnlyReporter"
             }

        ##### Permission condition #####

        A condition that allows only users with a permission to execute a transition.

            {
               "type": "PermissionCondition",
               "configuration": {
                   "permissionKey": "BROWSE_PROJECTS"
               }
             }

         *  `permissionKey` The permission required to perform the transition. Allowed values: [built-in](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions) or app defined permissions.

        ##### Previous status condition #####

        A condition that allows a transition based on whether an issue has or has not transitioned through a status.

            {
               "type": "PreviousStatusCondition",
               "configuration": {
                 "ignoreLoopTransitions": true,
                 "includeCurrentStatus": true,
                 "mostRecentStatusOnly": true,
                 "reverseCondition": true,
                 "previousStatus": {
                   "id": "5"
                 }
               }
             }

        By default this condition allows the transition if the status, as defined by its ID in the `previousStatus` object, matches any previous issue status, unless:

         *  `ignoreLoopTransitions` is `true`, then loop transitions (from and to the same status) are ignored.
         *  `includeCurrentStatus` is `true`, then the current issue status is also checked.
         *  `mostRecentStatusOnly` is `true`, then only the issue's preceding status (the one immediately before the current status) is checked.
         *  `reverseCondition` is `true`, then the status must not be present.

        ##### Separation of duties condition #####

        A condition that prevents a user to perform the transition, if the user has already performed a transition on the issue.

            {
               "type": "SeparationOfDutiesCondition",
               "configuration": {
                 "fromStatus": {
                   "id": "5"
                 },
                 "toStatus": {
                   "id": "6"
                 }
               }
             }

         *  `fromStatus` OPTIONAL. An object containing the ID of the source status of the transition that is blocked. If omitted any transition to `toStatus` is blocked.
         *  `toStatus` An object containing the ID of the target status of the transition that is blocked.

        ##### Subtask blocking condition #####

        A condition that blocks transition on a parent issue if any of its subtasks are in any of one or more statuses.

            {
               "type": "SubTaskBlockingCondition",
               "configuration": {
                 "statuses": [
                   {
                     "id": "1"
                   },
                   {
                     "id": "3"
                   }
                 ]
               }
             }

         *  `statuses` A list of objects containing status IDs.

        ##### User is in any group condition #####

        A condition that allows users belonging to any group from a list of groups to execute a transition.

            {
               "type": "UserInAnyGroupCondition",
               "configuration": {
                 "groups": [
                   "administrators",
                   "atlassian-addons-admin"
                 ]
               }
             }

         *  `groups` A list of group names.

        ##### User is in any project role condition #####

        A condition that allows only users with at least one project roles from a list of project roles to execute a transition.

            {
               "type": "InAnyProjectRoleCondition",
               "configuration": {
                 "projectRoles": [
                   {
                     "id": "10002"
                   },
                   {
                     "id": "10003"
                   },
                   {
                     "id": "10012"
                   },
                   {
                     "id": "10013"
                   }
                 ]
               }
             }

         *  `projectRoles` A list of objects containing project role IDs.

        ##### User is in custom field condition #####

        A condition that allows only users listed in a given custom field to execute the transition.

            {
               "type": "UserIsInCustomFieldCondition",
               "configuration": {
                 "allowUserInField": false,
                 "fieldId": "customfield_10010"
               }
             }

         *  `allowUserInField` If `true` only a user who is listed in `fieldId` can perform the transition, otherwise, only a user who is not listed in `fieldId` can perform the transition.
         *  `fieldId` The ID of the field containing the list of users.

        ##### User is in group condition #####

        A condition that allows users belonging to a group to execute a transition.

            {
               "type": "UserInGroupCondition",
               "configuration": {
                 "group": "administrators"
               }
             }

         *  `group` The name of the group.

        ##### User is in group custom field condition #####

        A condition that allows users belonging to a group specified in a custom field to execute a transition.

            {
               "type": "InGroupCFCondition",
               "configuration": {
                 "fieldId": "customfield_10012"
               }
             }

         *  `fieldId` The ID of the field. Allowed field types:
            
             *  `com.atlassian.jira.plugin.system.customfieldtypes:multigrouppicker`
             *  `com.atlassian.jira.plugin.system.customfieldtypes:grouppicker`
             *  `com.atlassian.jira.plugin.system.customfieldtypes:select`
             *  `com.atlassian.jira.plugin.system.customfieldtypes:multiselect`
             *  `com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons`
             *  `com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes`
             *  `com.pyxis.greenhopper.jira:gh-epic-status`

        ##### User is in project role condition #####

        A condition that allows users with a project role to execute a transition.

            {
               "type": "InProjectRoleCondition",
               "configuration": {
                 "projectRole": {
                   "id": "10002"
                 }
               }
             }

         *  `projectRole` An object containing the ID of a project role.

        ##### Value field condition #####

        A conditions that allows a transition to execute if the value of a field is equal to a constant value or simply set.

            {
               "type": "ValueFieldCondition",
               "configuration": {
                 "fieldId": "assignee",
                 "fieldValue": "qm:6e1ecee6-8e64-4db6-8c85-916bb3275f51:54b56885-2bd2-4381-8239-78263442520f",
                 "comparisonType": "NUMBER",
                 "comparator": "="
               }
             }

         *  `fieldId` The ID of a field used in the comparison.
         *  `fieldValue` The expected value of the field.
         *  `comparisonType` The type of the comparison. Allowed values: `STRING`, `NUMBER`, `DATE`, `DATE_WITHOUT_TIME`, or `OPTIONID`.
         *  `comparator` One of the supported comparator: `>`, `>=`, `=`, `<=`, `<`, `!=`.

        **Notes:**

         *  If you choose the comparison type `STRING`, only `=` and `!=` are valid options.
         *  You may leave `fieldValue` empty when comparison type is `!=` to indicate that a value is required in the field.
         *  For date fields without time format values as `yyyy-MM-dd`, and for those with time as `yyyy-MM-dd HH:mm`. For example, for July 16 2021 use `2021-07-16`, for 8:05 AM use `2021-07-16 08:05`, and for 4 PM: `2021-07-16 16:00`.

        #### Validators ####

        Validators check that any input made to the transition is valid before the transition is performed.

        ##### Date field validator #####

        A validator that compares two dates.

            {
               "type": "DateFieldValidator",
               "configuration": {
                   "comparator": ">",
                   "date1": "updated",
                   "date2": "created",
                   "expression": "1d",
                   "includeTime": true
                 }
             }

         *  `comparator` One of the supported comparator: `>`, `>=`, `=`, `<=`, `<`, or `!=`.
         *  `date1` The date field to validate. Allowed field types:
            
             *  `com.atlassian.jira.plugin.system.customfieldtypes:datepicker`
             *  `com.atlassian.jira.plugin.system.customfieldtypes:datetime`
             *  `com.atlassian.jpo:jpo-custom-field-baseline-end`
             *  `com.atlassian.jpo:jpo-custom-field-baseline-start`
             *  `duedate`
             *  `created`
             *  `updated`
             *  `resolutiondate`
         *  `date2` The second date field. Required, if `expression` is not passed. Allowed field types:
            
             *  `com.atlassian.jira.plugin.system.customfieldtypes:datepicker`
             *  `com.atlassian.jira.plugin.system.customfieldtypes:datetime`
             *  `com.atlassian.jpo:jpo-custom-field-baseline-end`
             *  `com.atlassian.jpo:jpo-custom-field-baseline-start`
             *  `duedate`
             *  `created`
             *  `updated`
             *  `resolutiondate`
         *  `expression` An expression specifying an offset. Required, if `date2` is not passed. Offsets are built with a number, with `-` as prefix for the past, and one of these time units: `d` for day, `w` for week, `m` for month, or `y` for year. For example, -2d means two days into the past and 1w means one week into the future. The `now` keyword enables a comparison with the current date.
         *  `includeTime` If `true`, then the time part of the data is included for the comparison. If the field doesn't have a time part, 00:00:00 is used.

        ##### Windows date validator #####

        A validator that checks that a date falls on or after a reference date and before or on the reference date plus a number of days.

            {
               "type": "WindowsDateValidator",
               "configuration": {
                   "date1": "customfield_10009",
                   "date2": "created",
                   "windowsDays": 5
                 }
             }

         *  `date1` The date field to validate. Allowed field types:
            
             *  `com.atlassian.jira.plugin.system.customfieldtypes:datepicker`
             *  `com.atlassian.jira.plugin.system.customfieldtypes:datetime`
             *  `com.atlassian.jpo:jpo-custom-field-baseline-end`
             *  `com.atlassian.jpo:jpo-custom-field-baseline-start`
             *  `duedate`
             *  `created`
             *  `updated`
             *  `resolutiondate`
         *  `date2` The reference date. Allowed field types:
            
             *  `com.atlassian.jira.plugin.system.customfieldtypes:datepicker`
             *  `com.atlassian.jira.plugin.system.customfieldtypes:datetime`
             *  `com.atlassian.jpo:jpo-custom-field-baseline-end`
             *  `com.atlassian.jpo:jpo-custom-field-baseline-start`
             *  `duedate`
             *  `created`
             *  `updated`
             *  `resolutiondate`
         *  `windowsDays` A positive integer indicating a number of days.

        ##### Field required validator #####

        A validator that checks fields are not empty. By default, if a field is not included in the current context it's ignored and not validated.

            {
                 "type": "FieldRequiredValidator",
                 "configuration": {
                     "ignoreContext": true,
                     "errorMessage": "Hey",
                     "fieldIds": [
                         "versions",
                         "customfield_10037",
                         "customfield_10003"
                     ]
                 }
             }

         *  `ignoreContext` If `true`, then the context is ignored and all the fields are validated.
         *  `errorMessage` OPTIONAL. The error message displayed when one or more fields are empty. A default error message is shown if an error message is not provided.
         *  `fieldIds` The list of fields to validate.

        ##### Field changed validator #####

        A validator that checks that a field value is changed. However, this validation can be ignored for users from a list of groups.

            {
                 "type": "FieldChangedValidator",
                 "configuration": {
                     "fieldId": "comment",
                     "errorMessage": "Hey",
                     "exemptedGroups": [
                         "administrators",
                         "atlassian-addons-admin"
                     ]
                 }
             }

         *  `fieldId` The ID of a field.
         *  `errorMessage` OPTIONAL. The error message displayed if the field is not changed. A default error message is shown if the error message is not provided.
         *  `exemptedGroups` OPTIONAL. The list of groups.

        ##### Field has single value validator #####

        A validator that checks that a multi-select field has only one value. Optionally, the validation can ignore values copied from subtasks.

            {
                 "type": "FieldHasSingleValueValidator",
                 "configuration": {
                     "fieldId": "attachment,
                     "excludeSubtasks": true
                 }
             }

         *  `fieldId` The ID of a field.
         *  `excludeSubtasks` If `true`, then values copied from subtasks are ignored.

        ##### Parent status validator #####

        A validator that checks the status of the parent issue of a subtask. Ìf the issue is not a subtask, no validation is performed.

            {
                 "type": "ParentStatusValidator",
                 "configuration": {
                     "parentStatuses": [
                         {
                           "id":"1"
                         },
                         {
                           "id":"2"
                         }
                     ]
                 }
             }

         *  `parentStatus` The list of required parent issue statuses.

        ##### Permission validator #####

        A validator that checks the user has a permission.

            {
               "type": "PermissionValidator",
               "configuration": {
                   "permissionKey": "ADMINISTER_PROJECTS"
               }
             }

         *  `permissionKey` The permission required to perform the transition. Allowed values: [built-in](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions) or app defined permissions.

        ##### Previous status validator #####

        A validator that checks if the issue has held a status.

            {
               "type": "PreviousStatusValidator",
               "configuration": {
                   "mostRecentStatusOnly": false,
                   "previousStatus": {
                       "id": "15"
                   }
               }
             }

         *  `mostRecentStatusOnly` If `true`, then only the issue's preceding status (the one immediately before the current status) is checked.
         *  `previousStatus` An object containing the ID of an issue status.

        ##### Regular expression validator #####

        A validator that checks the content of a field against a regular expression.

            {
               "type": "RegexpFieldValidator",
               "configuration": {
                   "regExp": "[0-9]",
                   "fieldId": "customfield_10029"
               }
             }

         *  `regExp`A regular expression.
         *  `fieldId` The ID of a field. Allowed field types:
            
             *  `com.atlassian.jira.plugin.system.customfieldtypes:select`
             *  `com.atlassian.jira.plugin.system.customfieldtypes:multiselect`
             *  `com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons`
             *  `com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes`
             *  `com.atlassian.jira.plugin.system.customfieldtypes:textarea`
             *  `com.atlassian.jira.plugin.system.customfieldtypes:textfield`
             *  `com.atlassian.jira.plugin.system.customfieldtypes:url`
             *  `com.atlassian.jira.plugin.system.customfieldtypes:float`
             *  `com.pyxis.greenhopper.jira:jsw-story-points`
             *  `com.pyxis.greenhopper.jira:gh-epic-status`
             *  `description`
             *  `summary`

        ##### User permission validator #####

        A validator that checks if a user has a permission. Obsolete. You may encounter this validator when getting transition rules and can pass it when updating or creating rules, for example, when you want to duplicate the rules from a workflow on a new workflow.

            {
                 "type": "UserPermissionValidator",
                 "configuration": {
                     "permissionKey": "BROWSE_PROJECTS",
                     "nullAllowed": false,
                     "username": "TestUser"
                 }
             }

         *  `permissionKey` The permission to be validated. Allowed values: [built-in](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions) or app defined permissions.
         *  `nullAllowed` If `true`, allows the transition when `username` is empty.
         *  `username` The username to validate against the `permissionKey`.

        #### Post functions ####

        Post functions carry out any additional processing required after a Jira workflow transition is executed.

        ##### Fire issue event function #####

        A post function that fires an event that is processed by the listeners.

            {
               "type": "FireIssueEventFunction",
               "configuration": {
                 "event": {
                   "id":"1"
                 }
               }
             }

        **Note:** If provided, this post function overrides the default `FireIssueEventFunction`. Can be included once in a transition.

         *  `event` An object containing the ID of the issue event.

        ##### Update issue status #####

        A post function that sets issue status to the linked status of the destination workflow status.

            {
               "type": "UpdateIssueStatusFunction"
             }

        **Note:** This post function is a default function in global and directed transitions. It can only be added to the initial transition and can only be added once.

        ##### Create comment #####

        A post function that adds a comment entered during the transition to an issue.

            {
               "type": "CreateCommentFunction"
             }

        **Note:** This post function is a default function in global and directed transitions. It can only be added to the initial transition and can only be added once.

        ##### Store issue #####

        A post function that stores updates to an issue.

            {
               "type": "IssueStoreFunction"
             }

        **Note:** This post function can only be added to the initial transition and can only be added once.

        ##### Assign to current user function #####

        A post function that assigns the issue to the current user if the current user has the `ASSIGNABLE_USER` permission.

            {
                 "type": "AssignToCurrentUserFunction"
             }

        **Note:** This post function can be included once in a transition.

        ##### Assign to lead function #####

        A post function that assigns the issue to the project or component lead developer.

            {
                 "type": "AssignToLeadFunction"
             }

        **Note:** This post function can be included once in a transition.

        ##### Assign to reporter function #####

        A post function that assigns the issue to the reporter.

            {
                 "type": "AssignToReporterFunction"
             }

        **Note:** This post function can be included once in a transition.

        ##### Clear field value function #####

        A post function that clears the value from a field.

            {
               "type": "ClearFieldValuePostFunction",
               "configuration": {
                 "fieldId": "assignee"
               }
             }

         *  `fieldId` The ID of the field.

        ##### Copy value from other field function #####

        A post function that copies the value of one field to another, either within an issue or from parent to subtask.

            {
               "type": "CopyValueFromOtherFieldPostFunction",
               "configuration": {
                 "sourceFieldId": "assignee",
                 "destinationFieldId": "creator",
                 "copyType": "same"
               }
             }

         *  `sourceFieldId` The ID of the source field.
         *  `destinationFieldId` The ID of the destination field.
         *  `copyType` Use `same` to copy the value from a field inside the issue, or `parent` to copy the value from the parent issue.

        ##### Create Crucible review workflow function #####

        A post function that creates a Crucible review for all unreviewed code for the issue.

            {
                 "type": "CreateCrucibleReviewWorkflowFunction"
             }

        **Note:** This post function can be included once in a transition.

        ##### Set issue security level based on user's project role function #####

        A post function that sets the issue's security level if the current user has a project role.

            {
               "type": "SetIssueSecurityFromRoleFunction",
               "configuration": {
                 "projectRole": {
                     "id":"10002"
                 },
                 "issueSecurityLevel": {
                     "id":"10000"
                 }
               }
             }

         *  `projectRole` An object containing the ID of the project role.
         *  `issueSecurityLevel` OPTIONAL. The object containing the ID of the security level. If not passed, then the security level is set to `none`.

        ##### Trigger a webhook function #####

        A post function that triggers a webhook.

            {
               "type": "TriggerWebhookFunction",
               "configuration": {
                 "webhook": {
                   "id": "1"
                 }
               }
             }

         *  `webhook` An object containing the ID of the webhook listener to trigger.

        ##### Update issue custom field function #####

        A post function that updates the content of an issue custom field.

            {
               "type": "UpdateIssueCustomFieldPostFunction",
               "configuration": {
                 "mode": "append",
                 "fieldId": "customfield_10003",
                 "fieldValue": "yikes"
               }
             }

         *  `mode` Use `replace` to override the field content with `fieldValue` or `append` to add `fieldValue` to the end of the field content.
         *  `fieldId` The ID of the field.
         *  `fieldValue` The update content.

        ##### Update issue field function #####

        A post function that updates a simple issue field.

            {
               "type": "UpdateIssueFieldFunction",
               "configuration": {
                 "fieldId": "assignee",
                 "fieldValue": "5f0c277e70b8a90025a00776"
               }
             }

         *  `fieldId` The ID of the field. Allowed field types:
            
             *  `assignee`
             *  `description`
             *  `environment`
             *  `priority`
             *  `resolution`
             *  `summary`
             *  `timeoriginalestimate`
             *  `timeestimate`
             *  `timespent`
         *  `fieldValue` The update value.
         *  If the `fieldId` is `assignee`, the `fieldValue` should be one of these values:
            
             *  an account ID.
             *  `automatic`.
             *  a blank string, which sets the value to `unassigned`.

        #### Connect rules ####

        Connect rules are conditions, validators, and post functions of a transition that are registered by Connect apps. To create a rule registered by the app, the app must be enabled and the rule's module must exist.

            {
               "type": "appKey__moduleKey",
               "configuration": {
                 "value":"{\"isValid\":\"true\"}"
               }
             }

         *  `type` A Connect rule key in a form of `appKey__moduleKey`.
         *  `value` The stringified JSON configuration of a Connect rule.

        #### Forge rules ####

        Forge transition rules are not yet supported.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createWorkflow
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              description: This is a workflow used for Stories and Tasks
              name: Workflow 1
              statuses:
                - id: "1"
                  properties:
                    jira.issue.editable: "false"
                - id: "2"
                - id: "3"
              transitions:
                - from: []
                  name: Created
                  to: "1"
                  type: initial
                - from:
                    - "1"
                  name: In progress
                  properties:
                    custom-property: custom-value
                  rules:
                    conditions:
                      conditions:
                        - type: RemoteOnlyCondition
                        - configuration:
                            groups:
                              - developers
                              - qa-testers
                          type: UserInAnyGroupCondition
                      operator: AND
                    postFunctions:
                      - type: AssignToCurrentUserFunction
                  screen:
                    id: "10001"
                  to: "2"
                  type: directed
                - name: Completed
                  rules:
                    postFunctions:
                      - configuration:
                          fieldId: assignee
                        type: ClearFieldValuePostFunction
                    validators:
                      - configuration:
                          parentStatuses:
                            - id: "3"
                        type: ParentStatusValidator
                      - configuration:
                          permissionKey: ADMINISTER_PROJECTS
                        type: PermissionValidator
                  to: "3"
                  type: global
            schema:
              $ref: "#/components/schemas/CreateWorkflowDetails"
        description: The workflow details.
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"name":"Workflow 1","entityId":"a633e8d8-a84a-4d25-b97d-3520de554c93"}'
              schema:
                $ref: "#/components/schemas/WorkflowIDs"
          description: Returned if the workflow is created.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["The request body parameters are missing."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access the workflow configuration."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["Status with ID 10000 was not found"],"errors":{}}'
          description: Returned if one or more statuses is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Create workflow
      tags:
        - Workflows
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:workflow:jira
            - read:workflow:jira
          state: Beta
      x-experimental: true
  /rest/api/3/workflow/rule/config:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of workflows with transition rules. The workflows can be filtered to return only those containing workflow transition rules:

         *  of one or more transition rule types, such as [workflow post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/).
         *  matching one or more transition rule keys.

        Only workflows containing transition rules created by the calling [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) app are returned.

        Due to server-side optimizations, workflows with an empty list of rules may be returned; these workflows can be ignored.

        **[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) or [Forge](https://developer.atlassian.com/cloud/jira/platform/index/#forge-apps) apps can use this operation.
      operationId: getWorkflowTransitionRuleConfigurations
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 10
            format: int32
            maximum: 50
            type: integer
        - description: The types of the transition rules to return.
          in: query
          name: types
          required: true
          schema:
            items:
              enum:
                - postfunction
                - condition
                - validator
              type: string
            type: array
            uniqueItems: true
        - description: The transition rule class keys, as defined in the Connect or the Forge app descriptor, of the transition rules to return.
          in: query
          name: keys
          schema:
            items:
              type: string
            type: array
            uniqueItems: true
        - description: "EXPERIMENTAL: The list of workflow names to filter by."
          in: query
          name: workflowNames
          schema:
            items:
              maxLength: 50
              type: string
            maxLength: 50
            type: array
            uniqueItems: true
        - description: "EXPERIMENTAL: The list of `tags` to filter by."
          in: query
          name: withTags
          schema:
            items:
              maxLength: 20
              type: string
            maxLength: 20
            type: array
            uniqueItems: true
        - description: "EXPERIMENTAL: Whether draft or published workflows are returned. If not provided, both workflow types are returned."
          in: query
          name: draft
          schema:
            type: boolean
        - description: Use [expand](#expansion) to include additional information in the response. This parameter accepts `transition`, which, for each rule, returns information about the transition the rule is assigned to.
          in: query
          name: expand
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":10,"startAt":0,"total":1,"isLast":true,"values":[{"workflowId":{"name":"My Workflow name","draft":false},"postFunctions":[{"id":"b4d6cbdc-59f5-11e9-8647-d663bd873d93","key":"postfunction-key","configuration":{"value":"{ \"color\": \"red\" }","disabled":false},"transition":{"id":1,"name":"Open"}}],"conditions":[{"id":"d663bd873d93-59f5-11e9-8647-b4d6cbdc","key":"condition-key","configuration":{"value":"{ \"size\": \"medium\" }","disabled":false},"transition":{"id":1,"name":"Open"}}],"validators":[{"id":"11e9-59f5-b4d6cbdc-8647-d663bd873d93","key":"validator-key","configuration":{"value":"\"{ \\\"shape\\\": \\\"square\\\" }\"","disabled":false},"transition":{"id":1,"name":"Open"}}]}]}'
              schema:
                $ref: "#/components/schemas/PageBeanWorkflowTransitionRules"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is invalid.
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the caller is not a Connect or a Forge app.
        "404":
          description: Returned if any transition rule type is not supported.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get workflow transition rule configurations
      tags:
        - Workflow transition rules
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:workflow:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Updates configuration of workflow transition rules. The following rule types are supported:

         *  [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/)
         *  [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/)
         *  [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/)

        Only rules created by the calling Connect app can be updated.

        To assist with app migration, this operation can be used to:

         *  Disable a rule.
         *  Add a `tag`. Use this to filter rules in the [Get workflow transition rule configurations](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflow-transition-rules/#api-rest-api-3-workflow-rule-config-get).

        Rules are enabled if the `disabled` parameter is not provided.

        **[Permissions](#permissions) required:** Only Connect apps can use this operation.
      operationId: updateWorkflowTransitionRuleConfigurations
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              workflows:
                - conditions:
                    - configuration:
                        disabled: false
                        value: '{ "size": "medium" }'
                      id: d663bd873d93-59f5-11e9-8647-b4d6cbdc
                  postFunctions:
                    - configuration:
                        disabled: false
                        value: '{ "color": "red" }'
                      id: b4d6cbdc-59f5-11e9-8647-d663bd873d93
                  validators:
                    - configuration:
                        disabled: false
                        value: '{ "shape": "square" }'
                      id: 11e9-59f5-b4d6cbdc-8647-d663bd873d93
                  workflowId:
                    draft: false
                    name: My Workflow name
            schema:
              $ref: "#/components/schemas/WorkflowTransitionRulesUpdate"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"updateResults":[{"workflowId":{"name":"Workflow with one rule not updated","draft":false},"ruleUpdateErrors":{"example-rule-id":["The rule with this id does not exist: example-rule-id"]},"updateErrors":[]},{"workflowId":{"name":"Workflow with all rules successfully updated","draft":true},"ruleUpdateErrors":{},"updateErrors":[]},{"workflowId":{"name":"Non-existing workflow","draft":false},"ruleUpdateErrors":{},"updateErrors":["Workflow not found: WorkflowIdBean{name=Non-existing workflow, draft=false}"]}]}'
              schema:
                $ref: "#/components/schemas/WorkflowTransitionRulesUpdateErrors"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is invalid.
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the caller is not a Connect app.
      security:
        - basicAuth: []
      summary: Update workflow transition rule configurations
      tags:
        - Workflow transition rules
      x-atlassian-connect-scope: ADMIN
  /rest/api/3/workflow/rule/config/delete:
    put:
      deprecated: false
      description: |-
        Deletes workflow transition rules from one or more workflows. These rule types are supported:

         *  [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/)
         *  [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/)
         *  [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/)

        Only rules created by the calling Connect app can be deleted.

        **[Permissions](#permissions) required:** Only Connect apps can use this operation.
      operationId: deleteWorkflowTransitionRuleConfigurations
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              workflows:
                - workflowId:
                    draft: false
                    name: Internal support workflow
                  workflowRuleIds:
                    - b4d6cbdc-59f5-11e9-8647-d663bd873d93
                    - d663bd873d93-59f5-11e9-8647-b4d6cbdc
                    - 11e9-59f5-b4d6cbdc-8647-d663bd873d93
            schema:
              $ref: "#/components/schemas/WorkflowsWithTransitionRulesDetails"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"updateResults":[{"workflowId":{"name":"Workflow with one rule not updated","draft":false},"ruleUpdateErrors":{"example-rule-id":["The rule with this id does not exist: example-rule-id"]},"updateErrors":[]},{"workflowId":{"name":"Workflow with all rules successfully updated","draft":true},"ruleUpdateErrors":{},"updateErrors":[]},{"workflowId":{"name":"Non-existing workflow","draft":false},"ruleUpdateErrors":{},"updateErrors":["Workflow not found: WorkflowIdBean{name=Non-existing workflow, draft=false}"]}]}'
              schema:
                $ref: "#/components/schemas/WorkflowTransitionRulesUpdateErrors"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errors":{},"errorMessages":["Jira Administration permission is required to access workflow configuration."],"httpStatusCode":{"empty":false,"present":true}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the request is invalid.
        "403":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the caller is not a Connect app.
      security:
        - basicAuth: []
      summary: Delete workflow transition rule configurations
      tags:
        - Workflow transition rules
      x-atlassian-connect-scope: ADMIN
  /rest/api/3/workflow/search:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of published classic workflows. When workflow names are specified, details of those workflows are returned. Otherwise, all published classic workflows are returned.

        This operation does not return next-gen workflows.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getWorkflowsPaginated
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
        - description: The name of a workflow to return. To include multiple workflows, provide an ampersand-separated list. For example, `workflowName=name1&workflowName=name2`.
          in: query
          name: workflowName
          schema:
            items:
              type: string
            type: array
            uniqueItems: true
        - description: |-
            Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `transitions` For each workflow, returns information about the transitions inside the workflow.
             *  `transitions.rules` For each workflow transition, returns information about its rules. Transitions are included automatically if this expand is requested.
             *  `transitions.properties` For each workflow transition, returns information about its properties. Transitions are included automatically if this expand is requested.
             *  `statuses` For each workflow, returns information about the statuses inside the workflow.
             *  `statuses.properties` For each workflow status, returns information about its properties. Statuses are included automatically if this expand is requested.
             *  `default` For each workflow, returns information about whether this is the default workflow.
             *  `schemes` For each workflow, returns information about the workflow schemes the workflow is assigned to.
             *  `projects` For each workflow, returns information about the projects the workflow is assigned to, through workflow schemes.
             *  `hasDraftWorkflow` For each workflow, returns information about whether the workflow has a draft version.
             *  `operations` For each workflow, returns information about the actions that can be undertaken on the workflow.
          in: query
          name: expand
          schema:
            type: string
        - description: String used to perform a case-insensitive partial match with workflow name.
          in: query
          name: queryString
          schema:
            type: string
        - description: |-
            [Order](#ordering) the results by a field:

             *  `name` Sorts by workflow name.
             *  `created` Sorts by create time.
             *  `updated` Sorts by update time.
          in: query
          name: orderBy
          schema:
            enum:
              - name
              - -name
              - +name
              - created
              - -created
              - +created
              - updated
              - +updated
              - -updated
            type: string
        - description: Filters active and inactive workflows.
          in: query
          name: isActive
          schema:
            type: boolean
      responses:
        "200":
          content:
            application/json:
              example: "{\"maxResults\":1,\"startAt\":0,\"total\":5,\"isLast\":false,\"values\":[{\"id\":{\"name\":\"SCRUM Workflow\",\"entityId\":\"5ed312c5-f7a6-4a78-a1f6-8ff7f307d063\"},\"description\":\"A workflow used for Software projects in the SCRUM methodology\",\"transitions\":[{\"id\":\"5\",\"name\":\"In Progress\",\"description\":\"Start working on the issue.\",\"from\":[\"10\",\"13\"],\"to\":\"14\",\"type\":\"directed\",\"screen\":{\"id\":\"10000\",\"name\":\"Issue screen\"},\"rules\":{\"conditionsTree\":{\"nodeType\":\"compound\",\"operator\":\"AND\",\"conditions\":[{\"nodeType\":\"simple\",\"type\":\"PermissionCondition\",\"configuration\":{\"permissionKey\":\"WORK_ON_ISSUES\"}},{\"nodeType\":\"simple\",\"type\":\"PermissionCondition\",\"configuration\":{\"permissionKey\":\"RESOLVE_ISSUES\"}}]},\"validators\":[{\"type\":\"FieldRequiredValidator\",\"configuration\":{\"ignoreContext\":true,\"errorMessage\":\"A custom error message\",\"fields\":[\"description\",\"assignee\"]}}],\"postFunctions\":[{\"type\":\"UpdateIssueStatusFunction\"},{\"type\":\"GenerateChangeHistoryFunction\"},{\"type\":\"FireIssueEventFunction\"}]},\"properties\":{\"jira.fieldscreen.id\":1}}],\"statuses\":[{\"id\":\"3\",\"name\":\"In Progress\",\"properties\":{\"jira.issue.editable\":\"false\",\"issueEditable\":false}}],\"isDefault\":false,\"schemes\":[{\"id\":\"10001\",\"name\":\"Test Workflow Scheme\"}],\"projects\":[{\"self\":\"project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"projectTypeKey\":\"ProjectTypeKey{key='software'}\",\"simplified\":false,\"avatarUrls\":{\"48x48\":\"secure/projectavatar?size=large&pid=10000\",\"24x24\":\"secure/projectavatar?size=small&pid=10000\",\"16x16\":\"secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"id\":\"10000\",\"description\":\"Project category description\",\"name\":\"A project category\"}}],\"hasDraftWorkflow\":true,\"operations\":{\"canEdit\":true,\"canDelete\":false},\"created\":\"2023-04-21T12:39:32.775+0000\",\"updated\":\"2023-04-21T12:39:32.775+0000\"}]}"
              schema:
                $ref: "#/components/schemas/PageBeanWorkflow"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access workflows."],"errors":{}}'
              schema:
                $ref: "#/components/schemas/ErrorCollection"
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-project
      summary: Get workflows paginated
      tags:
        - Workflows
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read:group:jira
            - read:issue-security-level:jira
            - read:project-role:jira
            - read:screen:jira
            - read:status:jira
            - read:user:jira
            - read:workflow:jira
            - read:webhook:jira
            - read:avatar:jira
            - read:project-category:jira
            - read:project:jira
          state: Beta
  "/rest/api/3/workflow/transitions/{transitionId}/properties":
    delete:
      deprecated: false
      description: |-
        Deletes a property from a workflow transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteWorkflowTransitionProperty
      parameters:
        - description: The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown next to the transition.
          in: path
          name: transitionId
          required: true
          schema:
            format: int64
            type: integer
        - description: The name of the transition property to delete, also known as the name of the property.
          in: query
          name: key
          required: true
          schema:
            type: string
        - description: The name of the workflow that the transition belongs to.
          in: query
          name: workflowName
          required: true
          schema:
            type: string
        - description: The workflow status. Set to `live` for inactive workflows or `draft` for draft workflows. Active workflows cannot be edited.
          in: query
          name: workflowMode
          schema:
            enum:
              - live
              - draft
            type: string
      responses:
        "200":
          description: 200 response
        "304":
          description: Returned if no changes were made by the request. For example, trying to delete a property that cannot be found.
        "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 necessary permission.
        "404":
          description: Returned if the workflow transition is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete workflow transition property
      tags:
        - Workflow transition properties
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:workflow.property:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns the properties on a workflow transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getWorkflowTransitionProperties
      parameters:
        - description: The ID of the transition. To get the ID, view the workflow in text mode in the Jira administration console. The ID is shown next to the transition.
          in: path
          name: transitionId
          required: true
          schema:
            format: int64
            type: integer
        - description: Some properties with keys that have the *jira.* prefix are reserved, which means they are not editable. To include these properties in the results, set this parameter to *true*.
          in: query
          name: includeReservedKeys
          schema:
            default: false
            type: boolean
        - description: The key of the property being returned, also known as the name of the property. If this parameter is not specified, all properties on the transition are returned.
          in: query
          name: key
          schema:
            type: string
        - description: The name of the workflow that the transition belongs to.
          in: query
          name: workflowName
          required: true
          schema:
            type: string
        - description: The workflow status. Set to *live* for active and inactive workflows, or *draft* for draft workflows.
          in: query
          name: workflowMode
          schema:
            default: live
            enum:
              - live
              - draft
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '[{"key":"jira.i18n.title","value":"some.title","id":"jira.i18n.title"},{"key":"jira.permission","value":"createissue","id":"jira.permission"}]'
              schema:
                $ref: "#/components/schemas/WorkflowTransitionProperty"
          description: 200 response
        "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 admin permission
        "404":
          description: Returned if the workflow transition or property is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get workflow transition properties
      tags:
        - Workflow transition properties
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:workflow.property:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Adds a property to a workflow transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createWorkflowTransitionProperty
      parameters:
        - description: The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown next to the transition.
          in: path
          name: transitionId
          required: true
          schema:
            format: int64
            type: integer
        - description: The key of the property being added, also known as the name of the property. Set this to the same value as the `key` defined in the request body.
          in: query
          name: key
          required: true
          schema:
            type: string
        - description: The name of the workflow that the transition belongs to.
          in: query
          name: workflowName
          required: true
          schema:
            type: string
        - description: The workflow status. Set to *live* for inactive workflows or *draft* for draft workflows. Active workflows cannot be edited.
          in: query
          name: workflowMode
          schema:
            default: live
            enum:
              - live
              - draft
            type: string
      requestBody:
        content:
          application/json:
            example:
              value: createissue
            schema:
              $ref: "#/components/schemas/WorkflowTransitionProperty"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"key":"jira.i18n.title","value":"some.title","id":"jira.i18n.title"}'
              schema:
                $ref: "#/components/schemas/WorkflowTransitionProperty"
          description: 200 response
        "400":
          description: Returned if a workflow property with the same key is present on the transition.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the workflow transition is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Create workflow transition property
      tags:
        - Workflow transition properties
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:workflow.property:jira
            - read:workflow.property:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Updates a workflow transition by changing the property value. Trying to update a property that does not exist results in a new property being added to the transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateWorkflowTransitionProperty
      parameters:
        - description: The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown next to the transition.
          in: path
          name: transitionId
          required: true
          schema:
            format: int64
            type: integer
        - description: The key of the property being updated, also known as the name of the property. Set this to the same value as the `key` defined in the request body.
          in: query
          name: key
          required: true
          schema:
            type: string
        - description: The name of the workflow that the transition belongs to.
          in: query
          name: workflowName
          required: true
          schema:
            type: string
        - description: The workflow status. Set to `live` for inactive workflows or `draft` for draft workflows. Active workflows cannot be edited.
          in: query
          name: workflowMode
          schema:
            enum:
              - live
              - draft
            type: string
      requestBody:
        content:
          application/json:
            example:
              value: createissue
            schema:
              $ref: "#/components/schemas/WorkflowTransitionProperty"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"key":"jira.i18n.title","value":"some.title","id":"jira.i18n.title"}'
              schema:
                $ref: "#/components/schemas/WorkflowTransitionProperty"
          description: 200 response
        "304":
          description: Returned if no changes were made by the request. For example, attempting to update a property with its current value.
        "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 necessary permission.
        "404":
          description: Returned if the workflow transition is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update workflow transition property
      tags:
        - Workflow transition properties
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:workflow.property:jira
            - read:workflow.property:jira
          state: Beta
  "/rest/api/3/workflow/{entityId}":
    delete:
      deprecated: false
      description: |-
        Deletes a workflow.

        The workflow cannot be deleted if it is:

         *  an active workflow.
         *  a system workflow.
         *  associated with any workflow scheme.
         *  associated with any draft workflow scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteInactiveWorkflow
      parameters:
        - description: The entity ID of the workflow.
          in: path
          name: entityId
          required: true
          schema:
            type: string
      responses:
        "204":
          description: Returned if the workflow is deleted.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["Cannot delete an active workflow."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access the workflow configuration."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The workflow was not found."],"errors":{}}'
          description: Returned if the workflow is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete inactive workflow
      tags:
        - Workflows
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:workflow:jira
          state: Beta
      x-experimental: true
  /rest/api/3/workflowscheme:
    get:
      deprecated: false
      description: |-
        Returns a [paginated](#pagination) list of all workflow schemes, not including draft workflow schemes.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getAllWorkflowSchemes
      parameters:
        - description: The index of the first item to return in a page of results (page offset).
          in: query
          name: startAt
          schema:
            default: 0
            format: int64
            type: integer
        - description: The maximum number of items to return per page.
          in: query
          name: maxResults
          schema:
            default: 50
            format: int32
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"maxResults":50,"startAt":0,"total":2,"isLast":true,"values":[{"id":101010,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","defaultWorkflow":"jira","issueTypeMappings":{"10000":"scrum workflow","10001":"builds workflow"},"self":"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010"},{"id":101011,"name":"Another example workflow scheme","description":"The description of the another example workflow scheme.","defaultWorkflow":"jira","issueTypeMappings":{"10000":"scrum workflow","10001":"builds workflow"},"self":"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101011"}]}'
              schema:
                $ref: "#/components/schemas/PageBeanWorkflowScheme"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get all workflow schemes
      tags:
        - Workflow schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:workflow-scheme:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project:jira
            - read:user:jira
          state: Beta
    post:
      deprecated: false
      description: |-
        Creates a workflow scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createWorkflowScheme
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              defaultWorkflow: jira
              description: The description of the example workflow scheme.
              issueTypeMappings:
                "10000": scrum workflow
                "10001": builds workflow
              name: Example workflow scheme
            schema:
              $ref: "#/components/schemas/WorkflowScheme"
        required: true
      responses:
        "201":
          content:
            application/json:
              example: '{"id":101010,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","defaultWorkflow":"jira","issueTypeMappings":{"10000":"scrum workflow","10001":"builds workflow"},"draft":false,"self":"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010"}'
              schema:
                $ref: "#/components/schemas/WorkflowScheme"
          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 necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Create workflow scheme
      tags:
        - Workflow schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:workflow-scheme:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project:jira
            - read:user:jira
            - read:workflow-scheme:jira
          state: Beta
  /rest/api/3/workflowscheme/project:
    get:
      deprecated: false
      description: |-
        Returns a list of the workflow schemes associated with a list of projects. Each returned workflow scheme includes a list of the requested projects associated with it. Any team-managed or non-existent projects in the request are ignored and no errors are returned.

        If the project is associated with the `Default Workflow Scheme` no ID is returned. This is because the way the `Default Workflow Scheme` is stored means it has no ID.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getWorkflowSchemeProjectAssociations
      parameters:
        - description: "The ID of a project to return the workflow schemes for. To include multiple projects, provide an ampersand-Jim: oneseparated list. For example, `projectId=10000&projectId=10001`."
          in: query
          name: projectId
          required: true
          schema:
            items:
              example: 10010
              format: int64
              type: integer
            maxItems: 100
            minItems: 1
            type: array
            uniqueItems: true
      responses:
        "200":
          content:
            application/json:
              example: '{"values":[{"projectIds":["10010","10020"],"workflowScheme":{"id":101010,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","defaultWorkflow":"jira","issueTypeMappings":{"10000":"scrum workflow","10001":"builds workflow"},"self":"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010"}}]}'
              schema:
                $ref: "#/components/schemas/ContainerOfWorkflowSchemeAssociations"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":[],"errors":{"projectId":"The ID of a project has to be provided."}}'
          description: Returned if the request is invalid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access workflow scheme associations."],"errors":{}}'
          description: Returned if the user does not have the necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get workflow scheme project associations
      tags:
        - Workflow scheme project associations
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:workflow-scheme:jira
            - read:workflow:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project:jira
            - read:user:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Assigns a workflow scheme to a project. This operation is performed only when there are no issues in the project.

        Workflow schemes can only be assigned to classic projects.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: assignSchemeToProject
      parameters: []
      requestBody:
        content:
          application/json:
            example:
              projectId: "10001"
              workflowSchemeId: "10032"
            schema:
              $ref: "#/components/schemas/WorkflowSchemeProjectAssociation"
        required: true
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: '{"errorMessages":["Only classic projects can have workflow schemes assigned."],"errors":{}}'
          description: Returned if the request is not valid.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          content:
            application/json:
              example: '{"errorMessages":["Only Jira administrators can access workflow scheme associations."],"errors":{}}'
          description: Returned if the user does not have the required permissions.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["The workflow scheme was not found."],"errors":{}}'
          description: Returned if the workflow scheme or the project are not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Assign workflow scheme to project
      tags:
        - Workflow scheme project associations
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:workflow-scheme:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/workflowscheme/{id}":
    delete:
      deprecated: false
      description: |-
        Deletes a workflow scheme. Note that a workflow scheme cannot be deleted if it is active (that is, being used by at least one project).

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteWorkflowScheme
      parameters:
        - description: The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the URL as `schemeId`. For example, *schemeId=10301*.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          description: Returned if the scheme is active.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the workflow scheme is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete workflow scheme
      tags:
        - Workflow schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:workflow-scheme:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns a workflow scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getWorkflowScheme
      parameters:
        - description: The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the URL as `schemeId`. For example, *schemeId=10301*.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: Returns the workflow scheme's draft rather than scheme itself, if set to true. If the workflow scheme does not have a draft, then the workflow scheme is returned.
          in: query
          name: returnDraftIfExists
          schema:
            default: false
            type: boolean
      responses:
        "200":
          content:
            application/json:
              example: '{"id":101010,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","defaultWorkflow":"jira","issueTypeMappings":{"10000":"scrum workflow","10001":"builds workflow"},"draft":false,"self":"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010"}'
              schema:
                $ref: "#/components/schemas/WorkflowScheme"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the workflow scheme is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get workflow scheme
      tags:
        - Workflow schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:workflow-scheme:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project:jira
            - read:user:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Updates a workflow scheme, including the name, default workflow, issue type to project mappings, and more. If the workflow scheme is active (that is, being used by at least one project), then a draft workflow scheme is created or updated instead, provided that `updateDraftIfNeeded` is set to `true`.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateWorkflowScheme
      parameters:
        - description: The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the URL as `schemeId`. For example, *schemeId=10301*.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              defaultWorkflow: jira
              description: The description of the example workflow scheme.
              issueTypeMappings:
                "10000": scrum workflow
              name: Example workflow scheme
              updateDraftIfNeeded: false
            schema:
              $ref: "#/components/schemas/WorkflowScheme"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"id":101010,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","defaultWorkflow":"jira","issueTypeMappings":{"10000":"scrum workflow","10001":"builds workflow"},"draft":false,"self":"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010"}'
              schema:
                $ref: "#/components/schemas/WorkflowScheme"
          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 necessary permission.
        "404":
          description: Returned if the workflow scheme is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update workflow scheme
      tags:
        - Workflow schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:workflow-scheme:jira
            - write:workflow-scheme:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project:jira
            - read:user:jira
          state: Beta
  "/rest/api/3/workflowscheme/{id}/createdraft":
    post:
      deprecated: false
      description: |-
        Create a draft workflow scheme from an active workflow scheme, by copying the active workflow scheme. Note that an active workflow scheme can only have one draft workflow scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: createWorkflowSchemeDraftFromParent
      parameters:
        - description: The ID of the active workflow scheme that the draft is created from.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "201":
          content:
            application/json:
              example: '{"id":17218781,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","defaultWorkflow":"scrum workflow","issueTypeMappings":{"10000":"jira","10001":"jira"},"originalDefaultWorkflow":"jira","originalIssueTypeMappings":{"10001":"builds workflow"},"draft":true,"lastModifiedUser":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","emailAddress":"mia@example.com","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":true,"timeZone":"Australia/Sydney","groups":{"size":3,"items":[]},"applicationRoles":{"size":1,"items":[]}},"lastModified":"Today 6:38 PM","self":"https://your-domain.atlassian.net/rest/api/3/workflowscheme/17218781/draft"}'
              schema:
                $ref: "#/components/schemas/WorkflowScheme"
          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 necessary permission.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Create draft workflow scheme
      tags:
        - Workflow scheme drafts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:group:jira
            - read:issue-security-level:jira
            - read:project-role:jira
            - read:screen:jira
            - read:status:jira
            - read:user:jira
            - read:workflow-scheme:jira
            - read:workflow:jira
            - write:workflow-scheme:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project:jira
          state: Beta
  "/rest/api/3/workflowscheme/{id}/default":
    delete:
      deprecated: false
      description: |-
        Resets the default workflow for a workflow scheme. That is, the default workflow is set to Jira's system workflow (the *jira* workflow).

        Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` and a draft workflow scheme is created or updated with the default workflow reset. The draft workflow scheme can be published in Jira.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteDefaultWorkflow
      parameters:
        - description: The ID of the workflow scheme.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: Set to true to create or update the draft of a workflow scheme and delete the mapping from the draft, when the workflow scheme cannot be edited. Defaults to `false`.
          in: query
          name: updateDraftIfNeeded
          schema:
            type: boolean
      responses:
        "200":
          content:
            application/json:
              example: '{"id":101010,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","defaultWorkflow":"jira","issueTypeMappings":{"10000":"scrum workflow","10001":"builds workflow"},"draft":false,"self":"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010"}'
              schema:
                $ref: "#/components/schemas/WorkflowScheme"
          description: Returned if the request is successful.
        "400":
          description: Returned if the workflow scheme cannot be edited and `updateDraftIfNeeded` is not `true`.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the workflow scheme is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete default workflow
      tags:
        - Workflow schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:workflow-scheme:jira
            - write:workflow-scheme:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project:jira
            - read:user:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns the default workflow for a workflow scheme. The default workflow is the workflow that is assigned any issue types that have not been mapped to any other workflow. The default workflow has *All Unassigned Issue Types* listed in its issue types for the workflow scheme in Jira.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getDefaultWorkflow
      parameters:
        - description: The ID of the workflow scheme.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: Set to `true` to return the default workflow for the workflow scheme's draft rather than scheme itself. If the workflow scheme does not have a draft, then the default workflow for the workflow scheme is returned.
          in: query
          name: returnDraftIfExists
          schema:
            default: false
            type: boolean
      responses:
        "200":
          content:
            application/json:
              example: '{"workflow":"jira"}'
              schema:
                $ref: "#/components/schemas/DefaultWorkflow"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the workflow scheme is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get default workflow
      tags:
        - Workflow schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:workflow-scheme:jira
            - read:workflow:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Sets the default workflow for a workflow scheme.

        Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` in the request object and a draft workflow scheme is created or updated with the new default workflow. The draft workflow scheme can be published in Jira.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateDefaultWorkflow
      parameters:
        - description: The ID of the workflow scheme.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              updateDraftIfNeeded: false
              workflow: jira
            schema:
              $ref: "#/components/schemas/DefaultWorkflow"
        description: The new default workflow.
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"id":101010,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","defaultWorkflow":"jira","issueTypeMappings":{"10000":"scrum workflow","10001":"builds workflow"},"draft":false,"self":"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010"}'
              schema:
                $ref: "#/components/schemas/WorkflowScheme"
          description: Returned if the request is successful.
        "400":
          description: Returned if the workflow scheme cannot be edited and `updateDraftIfNeeded` is not `true`.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the workflow scheme is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update default workflow
      tags:
        - Workflow schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:workflow-scheme:jira
            - write:workflow-scheme:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project:jira
            - read:user:jira
          state: Beta
  "/rest/api/3/workflowscheme/{id}/draft":
    delete:
      deprecated: false
      description: |-
        Deletes a draft workflow scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteWorkflowSchemeDraft
      parameters:
        - description: The ID of the active workflow scheme that the draft was created from.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "204":
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission..
        "404":
          description: |-
            Returned if:

             *  the original active workflow scheme is not found.
             *  the original active workflow scheme does not have a draft.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete draft workflow scheme
      tags:
        - Workflow scheme drafts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:workflow-scheme:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns the draft workflow scheme for an active workflow scheme. Draft workflow schemes allow changes to be made to the active workflow schemes: When an active workflow scheme is updated, a draft copy is created. The draft is modified, then the changes in the draft are copied back to the active workflow scheme. See [Configuring workflow schemes](https://confluence.atlassian.com/x/tohKLg) for more information.  
        Note that:

         *  Only active workflow schemes can have draft workflow schemes.
         *  An active workflow scheme can only have one draft workflow scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getWorkflowSchemeDraft
      parameters:
        - description: The ID of the active workflow scheme that the draft was created from.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"id":17218781,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","defaultWorkflow":"scrum workflow","issueTypeMappings":{"10000":"jira","10001":"jira"},"originalDefaultWorkflow":"jira","originalIssueTypeMappings":{"10001":"builds workflow"},"draft":true,"lastModifiedUser":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","emailAddress":"mia@example.com","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":true,"timeZone":"Australia/Sydney","groups":{"size":3,"items":[]},"applicationRoles":{"size":1,"items":[]}},"lastModified":"Today 6:38 PM","self":"https://your-domain.atlassian.net/rest/api/3/workflowscheme/17218781/draft"}'
              schema:
                $ref: "#/components/schemas/WorkflowScheme"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: |-
            Returned if:

             *  the original active workflow scheme is not found.
             *  the original active workflow scheme does not have a draft.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get draft workflow scheme
      tags:
        - Workflow scheme drafts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:group:jira
            - read:issue-security-level:jira
            - read:project-role:jira
            - read:screen:jira
            - read:status:jira
            - read:user:jira
            - read:workflow-scheme:jira
            - read:workflow:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Updates a draft workflow scheme. If a draft workflow scheme does not exist for the active workflow scheme, then a draft is created. Note that an active workflow scheme can only have one draft workflow scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateWorkflowSchemeDraft
      parameters:
        - description: The ID of the active workflow scheme that the draft was created from.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              defaultWorkflow: jira
              description: The description of the example workflow scheme.
              issueTypeMappings:
                "10000": scrum workflow
              name: Example workflow scheme
              updateDraftIfNeeded: false
            schema:
              $ref: "#/components/schemas/WorkflowScheme"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"id":17218781,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","defaultWorkflow":"scrum workflow","issueTypeMappings":{"10000":"jira","10001":"jira"},"originalDefaultWorkflow":"jira","originalIssueTypeMappings":{"10001":"builds workflow"},"draft":true,"lastModifiedUser":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","emailAddress":"mia@example.com","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":true,"timeZone":"Australia/Sydney","groups":{"size":3,"items":[]},"applicationRoles":{"size":1,"items":[]}},"lastModified":"Today 6:38 PM","self":"https://your-domain.atlassian.net/rest/api/3/workflowscheme/17218781/draft"}'
              schema:
                $ref: "#/components/schemas/WorkflowScheme"
          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 necessary permission.
        "404":
          description: |-
            Returned if:

             *  the original active workflow scheme is not found.
             *  the original active workflow scheme does not have a draft.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update draft workflow scheme
      tags:
        - Workflow scheme drafts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:group:jira
            - read:issue-security-level:jira
            - read:project-role:jira
            - read:screen:jira
            - read:status:jira
            - read:user:jira
            - read:workflow-scheme:jira
            - read:workflow:jira
            - write:workflow-scheme:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project:jira
          state: Beta
  "/rest/api/3/workflowscheme/{id}/draft/default":
    delete:
      deprecated: false
      description: |-
        Resets the default workflow for a workflow scheme's draft. That is, the default workflow is set to Jira's system workflow (the *jira* workflow).

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteDraftDefaultWorkflow
      parameters:
        - description: The ID of the workflow scheme that the draft belongs to.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"id":17218781,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","defaultWorkflow":"scrum workflow","issueTypeMappings":{"10000":"jira","10001":"jira"},"originalDefaultWorkflow":"jira","originalIssueTypeMappings":{"10001":"builds workflow"},"draft":true,"lastModifiedUser":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","emailAddress":"mia@example.com","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":true,"timeZone":"Australia/Sydney","groups":{"size":3,"items":[]},"applicationRoles":{"size":1,"items":[]}},"lastModified":"Today 6:38 PM","self":"https://your-domain.atlassian.net/rest/api/3/workflowscheme/17218781/draft"}'
              schema:
                $ref: "#/components/schemas/WorkflowScheme"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: |-
            Returned if any of the following is true:

             *  The workflow scheme is not found.
             *  The workflow scheme does not have a draft.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete draft default workflow
      tags:
        - Workflow scheme drafts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:workflow-scheme:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project:jira
            - read:user:jira
            - read:workflow-scheme:jira
            - read:workflow:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns the default workflow for a workflow scheme's draft. The default workflow is the workflow that is assigned any issue types that have not been mapped to any other workflow. The default workflow has *All Unassigned Issue Types* listed in its issue types for the workflow scheme in Jira.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getDraftDefaultWorkflow
      parameters:
        - description: The ID of the workflow scheme that the draft belongs to.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"workflow":"jira"}'
              schema:
                $ref: "#/components/schemas/DefaultWorkflow"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission..
        "404":
          description: |-
            Returned if any of the following is true:

             *  The workflow scheme is not found.
             *  The workflow scheme does not have a draft.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get draft default workflow
      tags:
        - Workflow scheme drafts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:workflow-scheme:jira
            - read:workflow:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Sets the default workflow for a workflow scheme's draft.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateDraftDefaultWorkflow
      parameters:
        - description: The ID of the workflow scheme that the draft belongs to.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
      requestBody:
        content:
          application/json:
            example:
              updateDraftIfNeeded: false
              workflow: jira
            schema:
              $ref: "#/components/schemas/DefaultWorkflow"
        description: The object for the new default workflow.
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"id":17218781,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","defaultWorkflow":"scrum workflow","issueTypeMappings":{"10000":"jira","10001":"jira"},"originalDefaultWorkflow":"jira","originalIssueTypeMappings":{"10001":"builds workflow"},"draft":true,"lastModifiedUser":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","emailAddress":"mia@example.com","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":true,"timeZone":"Australia/Sydney","groups":{"size":3,"items":[]},"applicationRoles":{"size":1,"items":[]}},"lastModified":"Today 6:38 PM","self":"https://your-domain.atlassian.net/rest/api/3/workflowscheme/17218781/draft"}'
              schema:
                $ref: "#/components/schemas/WorkflowScheme"
          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 necessary permission.
        "404":
          description: |-
            Returned if any of the following is true:

             *  The workflow scheme is not found.
             *  The workflow scheme does not have a draft.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Update draft default workflow
      tags:
        - Workflow scheme drafts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:workflow-scheme:jira
            - read:workflow-scheme:jira
            - read:workflow:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project:jira
            - read:user:jira
          state: Beta
  "/rest/api/3/workflowscheme/{id}/draft/issuetype/{issueType}":
    delete:
      deprecated: false
      description: |-
        Deletes the issue type-workflow mapping for an issue type in a workflow scheme's draft.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteWorkflowSchemeDraftIssueType
      parameters:
        - description: The ID of the workflow scheme that the draft belongs to.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the issue type.
          in: path
          name: issueType
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"id":17218781,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","defaultWorkflow":"scrum workflow","issueTypeMappings":{"10000":"jira","10001":"jira"},"originalDefaultWorkflow":"jira","originalIssueTypeMappings":{"10001":"builds workflow"},"draft":true,"lastModifiedUser":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","emailAddress":"mia@example.com","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":true,"timeZone":"Australia/Sydney","groups":{"size":3,"items":[]},"applicationRoles":{"size":1,"items":[]}},"lastModified":"Today 6:38 PM","self":"https://your-domain.atlassian.net/rest/api/3/workflowscheme/17218781/draft"}'
              schema:
                $ref: "#/components/schemas/WorkflowScheme"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the workflow scheme or issue type is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete workflow for issue type in draft workflow scheme
      tags:
        - Workflow scheme drafts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:workflow-scheme:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project:jira
            - read:user:jira
            - read:workflow-scheme:jira
            - read:workflow:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns the issue type-workflow mapping for an issue type in a workflow scheme's draft.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getWorkflowSchemeDraftIssueType
      parameters:
        - description: The ID of the workflow scheme that the draft belongs to.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the issue type.
          in: path
          name: issueType
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"issueType":"10000","workflow":"jira"}'
              schema:
                $ref: "#/components/schemas/IssueTypeWorkflowMapping"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the workflow scheme or issue type is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get workflow for issue type in draft workflow scheme
      tags:
        - Workflow scheme drafts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:workflow-scheme:jira
            - read:workflow:jira
            - read:issue-type:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Sets the workflow for an issue type in a workflow scheme's draft.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: setWorkflowSchemeDraftIssueType
      parameters:
        - description: The ID of the workflow scheme that the draft belongs to.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the issue type.
          in: path
          name: issueType
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              issueType: "10000"
              updateDraftIfNeeded: false
              workflow: jira
            schema:
              $ref: "#/components/schemas/IssueTypeWorkflowMapping"
        description: The issue type-project mapping.
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"id":17218781,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","defaultWorkflow":"scrum workflow","issueTypeMappings":{"10000":"jira","10001":"jira"},"originalDefaultWorkflow":"jira","originalIssueTypeMappings":{"10001":"builds workflow"},"draft":true,"lastModifiedUser":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","key":"","accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","name":"","emailAddress":"mia@example.com","avatarUrls":{"48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32"},"displayName":"Mia Krystof","active":true,"timeZone":"Australia/Sydney","groups":{"size":3,"items":[]},"applicationRoles":{"size":1,"items":[]}},"lastModified":"Today 6:38 PM","self":"https://your-domain.atlassian.net/rest/api/3/workflowscheme/17218781/draft"}'
              schema:
                $ref: "#/components/schemas/WorkflowScheme"
          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 necessary permission.
        "404":
          description: Returned if the workflow scheme or issue type is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Set workflow for issue type in draft workflow scheme
      tags:
        - Workflow scheme drafts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:workflow-scheme:jira
            - read:workflow-scheme:jira
            - read:workflow:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project:jira
            - read:user:jira
          state: Beta
  "/rest/api/3/workflowscheme/{id}/draft/publish":
    post:
      deprecated: false
      description: |-
        Publishes a draft workflow scheme.

        Where the draft workflow includes new workflow statuses for an issue type, mappings are provided to update issues with the original workflow status to the new workflow status.

        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 updates.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: publishDraftWorkflowScheme
      parameters:
        - description: The ID of the workflow scheme that the draft belongs to.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: Whether the request only performs a validation.
          in: query
          name: validateOnly
          schema:
            default: false
            type: boolean
      requestBody:
        content:
          application/json:
            example:
              statusMappings:
                - issueTypeId: "10001"
                  newStatusId: "1"
                  statusId: "3"
                - issueTypeId: "10001"
                  newStatusId: "2"
                  statusId: "2"
                - issueTypeId: "10002"
                  newStatusId: "10003"
                  statusId: "10005"
                - issueTypeId: "10003"
                  newStatusId: "1"
                  statusId: "4"
            schema:
              $ref: "#/components/schemas/PublishDraftWorkflowScheme"
        description: Details of the status mappings.
        required: true
      responses:
        "204":
          description: Returned if the request is only for validation and is successful.
        "303":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TaskProgressBeanObject"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example: "{\"errorMessages\":[\"Issue type with ID '2','4' is missing the mappings required for statuses with IDs 10004.\"],\"errors\":{}}"
          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 necessary permission.
        "404":
          content:
            application/json:
              example: '{"errorMessages":["Draft workflow scheme was not found."],"errors":{}}'
          description: |-
            Returned if any of these are true:

             *  The workflow scheme is not found.
             *  The workflow scheme does not have a draft.
             *  A new status in the draft workflow scheme is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Publish draft workflow scheme
      tags:
        - Workflow scheme drafts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:workflow-scheme:jira
          state: Beta
      x-experimental: true
  "/rest/api/3/workflowscheme/{id}/draft/workflow":
    delete:
      deprecated: false
      description: |-
        Deletes the workflow-issue type mapping for a workflow in a workflow scheme's draft.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteDraftWorkflowMapping
      parameters:
        - description: The ID of the workflow scheme that the draft belongs to.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: The name of the workflow.
          in: query
          name: workflowName
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: |-
            Returned if any of the following is true:

             *  The workflow scheme is not found.
             *  The workflow scheme does not have a draft.
             *  The workflow is not found.
             *  The workflow is not specified.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete issue types for workflow in draft workflow scheme
      tags:
        - Workflow scheme drafts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:workflow-scheme:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns the workflow-issue type mappings for a workflow scheme's draft.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getDraftWorkflow
      parameters:
        - description: The ID of the workflow scheme that the draft belongs to.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: The name of a workflow in the scheme. Limits the results to the workflow-issue type mapping for the specified workflow.
          in: query
          name: workflowName
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"workflow":"jira","issueTypes":["10000","10001"],"defaultMapping":false}'
              schema:
                $ref: "#/components/schemas/IssueTypesWorkflowMapping"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if either the workflow scheme or workflow (if specified) is not found. session.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get issue types for workflows in draft workflow scheme
      tags:
        - Workflow scheme drafts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:workflow-scheme:jira
            - read:workflow:jira
            - read:issue-type:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Sets the issue types for a workflow in a workflow scheme's draft. The workflow can also be set as the default workflow for the draft workflow scheme. Unmapped issues types are mapped to the default workflow.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateDraftWorkflowMapping
      parameters:
        - description: The ID of the workflow scheme that the draft belongs to.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: The name of the workflow.
          in: query
          name: workflowName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              issueTypes:
                - "10000"
              updateDraftIfNeeded: true
              workflow: jira
            schema:
              $ref: "#/components/schemas/IssueTypesWorkflowMapping"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"id":101010,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","defaultWorkflow":"jira","issueTypeMappings":{"10000":"scrum workflow","10001":"builds workflow"},"draft":false,"self":"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010"}'
              schema:
                $ref: "#/components/schemas/WorkflowScheme"
          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 necessary permission.
        "404":
          description: |-
            Returned if any of the following is true:

             *  The workflow scheme is not found.
             *  The workflow scheme does not have a draft.
             *  The workflow is not found.
             *  The workflow is not specified.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Set issue types for workflow in workflow scheme
      tags:
        - Workflow scheme drafts
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:workflow-scheme:jira
            - read:workflow-scheme:jira
            - read:workflow:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project:jira
            - read:user:jira
          state: Beta
  "/rest/api/3/workflowscheme/{id}/issuetype/{issueType}":
    delete:
      deprecated: false
      description: |-
        Deletes the issue type-workflow mapping for an issue type in a workflow scheme.

        Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` and a draft workflow scheme is created or updated with the issue type-workflow mapping deleted. The draft workflow scheme can be published in Jira.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteWorkflowSchemeIssueType
      parameters:
        - description: The ID of the workflow scheme.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the issue type.
          in: path
          name: issueType
          required: true
          schema:
            type: string
        - description: Set to true to create or update the draft of a workflow scheme and update the mapping in the draft, when the workflow scheme cannot be edited. Defaults to `false`.
          in: query
          name: updateDraftIfNeeded
          schema:
            type: boolean
      responses:
        "200":
          content:
            application/json:
              example: '{"id":101010,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","defaultWorkflow":"jira","issueTypeMappings":{"10000":"scrum workflow","10001":"builds workflow"},"draft":false,"self":"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010"}'
              schema:
                $ref: "#/components/schemas/WorkflowScheme"
          description: Returned if the request is successful.
        "400":
          description: Returned if the workflow cannot be edited and `updateDraftIfNeeded` is false.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the workflow scheme or issue type is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete workflow for issue type in workflow scheme
      tags:
        - Workflow schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:workflow-scheme:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project:jira
            - read:user:jira
            - read:workflow-scheme:jira
            - read:workflow:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns the issue type-workflow mapping for an issue type in a workflow scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getWorkflowSchemeIssueType
      parameters:
        - description: The ID of the workflow scheme.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the issue type.
          in: path
          name: issueType
          required: true
          schema:
            type: string
        - description: Returns the mapping from the workflow scheme's draft rather than the workflow scheme, if set to true. If no draft exists, the mapping from the workflow scheme is returned.
          in: query
          name: returnDraftIfExists
          schema:
            default: false
            type: boolean
      responses:
        "200":
          content:
            application/json:
              example: '{"issueType":"10000","workflow":"jira"}'
              schema:
                $ref: "#/components/schemas/IssueTypeWorkflowMapping"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the workflow scheme or issue type is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get workflow for issue type in workflow scheme
      tags:
        - Workflow schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:workflow-scheme:jira
            - read:workflow:jira
            - read:issue-type:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Sets the workflow for an issue type in a workflow scheme.

        Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` in the request body and a draft workflow scheme is created or updated with the new issue type-workflow mapping. The draft workflow scheme can be published in Jira.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: setWorkflowSchemeIssueType
      parameters:
        - description: The ID of the workflow scheme.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: The ID of the issue type.
          in: path
          name: issueType
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              issueType: "10000"
              updateDraftIfNeeded: false
              workflow: jira
            schema:
              $ref: "#/components/schemas/IssueTypeWorkflowMapping"
        description: The issue type-project mapping.
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"id":101010,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","defaultWorkflow":"jira","issueTypeMappings":{"10000":"scrum workflow","10001":"builds workflow"},"draft":false,"self":"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010"}'
              schema:
                $ref: "#/components/schemas/WorkflowScheme"
          description: Returned if the request is successful.
        "400":
          description: Returned if the workflow cannot be edited and `updateDraftIfNeeded` is false.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if the workflow scheme or issue type is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Set workflow for issue type in workflow scheme
      tags:
        - Workflow schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:workflow-scheme:jira
            - read:workflow-scheme:jira
            - read:workflow:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project:jira
            - read:user:jira
          state: Beta
  "/rest/api/3/workflowscheme/{id}/workflow":
    delete:
      deprecated: false
      description: |-
        Deletes the workflow-issue type mapping for a workflow in a workflow scheme.

        Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` and a draft workflow scheme is created or updated with the workflow-issue type mapping deleted. The draft workflow scheme can be published in Jira.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: deleteWorkflowMapping
      parameters:
        - description: The ID of the workflow scheme.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: The name of the workflow.
          in: query
          name: workflowName
          required: true
          schema:
            type: string
        - description: Set to true to create or update the draft of a workflow scheme and delete the mapping from the draft, when the workflow scheme cannot be edited. Defaults to `false`.
          in: query
          name: updateDraftIfNeeded
          schema:
            type: boolean
      responses:
        "200":
          description: Returned if the request is successful.
        "400":
          description: Returned if the workflow cannot be edited and `updateDraftIfNeeded` is not true.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: |-
            Returned if any of the following is true:

             *  The workflow scheme is not found.
             *  The workflow is not found.
             *  The workflow is not specified.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Delete issue types for workflow in workflow scheme
      tags:
        - Workflow schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:workflow-scheme:jira
          state: Beta
    get:
      deprecated: false
      description: |-
        Returns the workflow-issue type mappings for a workflow scheme.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: getWorkflow
      parameters:
        - description: The ID of the workflow scheme.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: The name of a workflow in the scheme. Limits the results to the workflow-issue type mapping for the specified workflow.
          in: query
          name: workflowName
          schema:
            type: string
        - description: Returns the mapping from the workflow scheme's draft rather than the workflow scheme, if set to true. If no draft exists, the mapping from the workflow scheme is returned.
          in: query
          name: returnDraftIfExists
          schema:
            default: false
            type: boolean
      responses:
        "200":
          content:
            application/json:
              example: '{"workflow":"jira","issueTypes":["10000","10001"],"defaultMapping":false}'
              schema:
                $ref: "#/components/schemas/IssueTypesWorkflowMapping"
          description: Returned if the request is successful.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
        "403":
          description: Returned if the user does not have the necessary permission.
        "404":
          description: Returned if either the workflow scheme or workflow is not found.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Get issue types for workflows in workflow scheme
      tags:
        - Workflow schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - read:workflow-scheme:jira
            - read:workflow:jira
            - read:issue-type:jira
          state: Beta
    put:
      deprecated: false
      description: |-
        Sets the issue types for a workflow in a workflow scheme. The workflow can also be set as the default workflow for the workflow scheme. Unmapped issues types are mapped to the default workflow.

        Note that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` in the request body and a draft workflow scheme is created or updated with the new workflow-issue types mappings. The draft workflow scheme can be published in Jira.

        **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).
      operationId: updateWorkflowMapping
      parameters:
        - description: The ID of the workflow scheme.
          in: path
          name: id
          required: true
          schema:
            format: int64
            type: integer
        - description: The name of the workflow.
          in: query
          name: workflowName
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            example:
              issueTypes:
                - "10000"
              updateDraftIfNeeded: true
              workflow: jira
            schema:
              $ref: "#/components/schemas/IssueTypesWorkflowMapping"
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '{"id":101010,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","defaultWorkflow":"jira","issueTypeMappings":{"10000":"scrum workflow","10001":"builds workflow"},"draft":false,"self":"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010"}'
              schema:
                $ref: "#/components/schemas/WorkflowScheme"
          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 necessary permission.
        "404":
          description: |-
            Returned if any of the following is true:

             *  The workflow scheme is not found.
             *  The workflow is not found.
             *  The workflow is not specified.
      security:
        - basicAuth: []
        - OAuth2:
            - manage:jira-configuration
      summary: Set issue types for workflow in workflow scheme
      tags:
        - Workflow schemes
      x-atlassian-connect-scope: ADMIN
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-configuration
          state: Current
        - scheme: OAuth2
          scopes:
            - write:workflow-scheme:jira
            - read:workflow-scheme:jira
            - read:workflow:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
            - read:issue-type:jira
            - read:project-category:jira
            - read:project:jira
            - read:user:jira
          state: Beta
  /rest/api/3/worklog/deleted:
    get:
      deprecated: false
      description: |-
        Returns a list of IDs and delete timestamps for worklogs deleted after a date and time.

        This resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set to true on the last page of worklogs.

        This resource does not return worklogs deleted during the minute preceding the request.

        **[Permissions](#permissions) required:** Permission to access Jira.
      operationId: getIdsOfWorklogsDeletedSince
      parameters:
        - description: The date and time, as a UNIX timestamp in milliseconds, after which deleted worklogs are returned.
          in: query
          name: since
          schema:
            default: 0
            format: int64
            type: integer
      responses:
        "200":
          content:
            application/json:
              example: '{"values":[{"worklogId":103,"updatedTime":1438013671562,"properties":[]},{"worklogId":104,"updatedTime":1438013672165,"properties":[]},{"worklogId":105,"updatedTime":1438013693136,"properties":[]}],"since":1438013671562,"until":1438013693136,"self":"https://your-domain.atlassian.net/api/~ver~/worklog/deleted?since=1438013671562","nextPage":"https://your-domain.atlassian.net/api/~ver~/worklog/deleted?since=1438013693136","lastPage":true}'
              schema:
                $ref: "#/components/schemas/ChangedWorklogs"
          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: Get IDs of deleted worklogs
      tags:
        - Issue worklogs
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-worklog:jira
            - read:issue-worklog.property:jira
          state: Beta
  /rest/api/3/worklog/list:
    post:
      deprecated: false
      description: |-
        Returns worklog details for a list of worklog IDs.

        The returned list of worklogs is limited to 1000 items.

        **[Permissions](#permissions) required:** Permission to access Jira, however, worklogs are only returned where either of the following is true:

         *  the worklog is set as *Viewable by All Users*.
         *  the user is a member of a project role or group with permission to view the worklog.
      operationId: getWorklogsForIds
      parameters:
        - description: Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts `properties` that returns the properties of each worklog.
          in: query
          name: expand
          schema:
            default: ""
            type: string
      requestBody:
        content:
          application/json:
            example:
              ids:
                - 1
                - 2
                - 5
                - 10
            schema:
              $ref: "#/components/schemas/WorklogIdsRequestBean"
        description: A JSON object containing a list of worklog IDs.
        required: true
      responses:
        "200":
          content:
            application/json:
              example: '[{"self":"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000","author":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"updateAuthor":{"self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g","accountId":"5b10a2844c20165700ede21g","displayName":"Mia Krystof","active":false},"comment":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"type":"text","text":"I did some work here."}]}]},"updated":"2021-01-18T23:45:00.000+0000","visibility":{"type":"group","value":"jira-developers","identifier":"276f955c-63d7-42c8-9520-92d01dca0625"},"started":"2021-01-17T12:34:00.000+0000","timeSpent":"3h 20m","timeSpentSeconds":12000,"id":"100028","issueId":"10002"}]'
              schema:
                items:
                  $ref: "#/components/schemas/Worklog"
                type: array
          description: Returned if the request is successful.
        "400":
          description: Returned if the request contains more than 1000 worklog IDs or is empty.
        "401":
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2:
            - read:jira-work
      summary: Get worklogs
      tags:
        - Issue worklogs
      x-atlassian-connect-scope: READ
      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
  /rest/api/3/worklog/updated:
    get:
      deprecated: false
      description: |-
        Returns a list of IDs and update timestamps for worklogs updated after a date and time.

        This resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set to true on the last page of worklogs.

        This resource does not return worklogs updated during the minute preceding the request.

        **[Permissions](#permissions) required:** Permission to access Jira, however, worklogs are only returned where either of the following is true:

         *  the worklog is set as *Viewable by All Users*.
         *  the user is a member of a project role or group with permission to view the worklog.
      operationId: getIdsOfWorklogsModifiedSince
      parameters:
        - description: The date and time, as a UNIX timestamp in milliseconds, after which updated worklogs are returned.
          in: query
          name: since
          schema:
            default: 0
            format: int64
            type: integer
        - description: Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts `properties` that returns the properties of each worklog.
          in: query
          name: expand
          schema:
            default: ""
            type: string
      responses:
        "200":
          content:
            application/json:
              example: '{"values":[{"worklogId":103,"updatedTime":1438013671562,"properties":[]},{"worklogId":104,"updatedTime":1438013672165,"properties":[]},{"worklogId":105,"updatedTime":1438013693136,"properties":[]}],"since":1438013671562,"until":1438013693136,"self":"https://your-domain.atlassian.net/api/~ver~/worklog/updated?since=1438013671562","nextPage":"https://your-domain.atlassian.net/api/~ver~/worklog/updated?since=1438013693136","lastPage":true}'
              schema:
                $ref: "#/components/schemas/ChangedWorklogs"
          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: Get IDs of updated worklogs
      tags:
        - Issue worklogs
      x-atlassian-connect-scope: READ
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:issue-worklog:jira
            - read:issue-worklog.property:jira
          state: Beta
  "/rest/atlassian-connect/1/addons/{addonKey}/properties":
    get:
      deprecated: false
      description: |-
        Gets all the properties of an app.

        **[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.
        Additionally, Forge apps published on the Marketplace can access properties of Connect apps they were [migrated from](https://developer.atlassian.com/platform/forge/build-a-connect-on-forge-app/).
      operationId: AddonPropertiesResource.getAddonProperties_get
      parameters:
        - description: The key of the app, as defined in its descriptor.
          in: path
          name: addonKey
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              example:
                keys:
                  - key: propertyKey
                    self: https://your-domain.atlassian.net/jira/rest/atlassian-connect/1/addon/example.app.key/properties/propertyKey
              schema:
                $ref: "#/components/schemas/PropertyKeys"
          description: Returned if the request is successful.
        "401":
          content:
            application/json:
              example:
                message: Access to this resource must be authenticated as an app.
                statusCode: 401
              schema:
                $ref: "#/components/schemas/OperationMessage"
          description: Returned if the authentication credentials are incorrect or missing.
      security:
        - basicAuth: []
        - OAuth2: []
      summary: Get app properties
      tags:
        - App properties
      x-atlassian-connect-scope: NONE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes: []
          state: Current
        - scheme: OAuth2
          scopes: []
          state: Beta
  "/rest/atlassian-connect/1/addons/{addonKey}/properties/{propertyKey}":
    delete:
      deprecated: false
      description: |-
        Deletes an app's property.

        **[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.
      operationId: AddonPropertiesResource.deleteAddonProperty_delete
      parameters:
        - description: The key of the app, as defined in its descriptor.
          in: path
          name: addonKey
          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.
        "400":
          content:
            application/json:
              example:
                message: The property key cannot be longer than 127 characters.
                statusCode: 400
              schema:
                $ref: "#/components/schemas/OperationMessage"
          description: Returned if the property key is longer than 127 characters.
        "401":
          content:
            application/json:
              example:
                message: Access to this resource must be authenticated as an app.
                statusCode: 401
              schema:
                $ref: "#/components/schemas/OperationMessage"
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          content:
            application/json:
              example:
                message: Property with key not found.
                statusCode: 404
              schema:
                $ref: "#/components/schemas/OperationMessage"
          description: Returned if the property is not found or doesn't belong to the app.
      summary: Delete app property
      tags:
        - App properties
      x-atlassian-connect-scope: NONE
    get:
      deprecated: false
      description: |-
        Returns the key and value of an app's property.

        **[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.
        Additionally, Forge apps published on the Marketplace can access properties of Connect apps they were [migrated from](https://developer.atlassian.com/platform/forge/build-a-connect-on-forge-app/).
      operationId: AddonPropertiesResource.getAddonProperty_get
      parameters:
        - description: The key of the app, as defined in its descriptor.
          in: path
          name: addonKey
          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: propertyKey
                self: https://your-domain.atlassian.net/jira/rest/atlassian-connect/1/addon/example.app.key/properties/propertyKey
                value: propertyValue
              schema:
                $ref: "#/components/schemas/EntityProperty"
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example:
                message: The property key cannot be longer than 127 characters.
                statusCode: 400
              schema:
                $ref: "#/components/schemas/OperationMessage"
          description: Returned if the property key is longer than 127 characters.
        "401":
          content:
            application/json:
              example:
                message: Access to this resource must be authenticated as an app.
                statusCode: 401
              schema:
                $ref: "#/components/schemas/OperationMessage"
          description: Returned if the authentication credentials are incorrect or missing.
        "404":
          content:
            application/json:
              example:
                message: Property with key not found.
                statusCode: 404
              schema:
                $ref: "#/components/schemas/OperationMessage"
          description: Returned if the property is not found or doesn't belong to the app.
      security:
        - basicAuth: []
        - OAuth2: []
      summary: Get app property
      tags:
        - App properties
      x-atlassian-connect-scope: NONE
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes: []
          state: Current
        - scheme: OAuth2
          scopes: []
          state: Beta
    put:
      deprecated: false
      description: |-
        Sets the value of an app's property. Use this resource to store custom data for your app.

        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.

        **[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.
      operationId: AddonPropertiesResource.putAddonProperty_put
      parameters:
        - description: The key of the app, as defined in its descriptor.
          in: path
          name: addonKey
          required: true
          schema:
            type: string
        - description: The key of the property.
          in: path
          name: propertyKey
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema: {}
        required: true
      responses:
        "200":
          content:
            application/json:
              example:
                message: Property updated.
                statusCode: 200
              schema:
                $ref: "#/components/schemas/OperationMessage"
          description: Returned if the property is updated.
        "201":
          content:
            application/json:
              example:
                message: Property created.
                statusCode: 201
              schema:
                $ref: "#/components/schemas/OperationMessage"
          description: Returned is the property is created.
        "400":
          content:
            application/json:
              example:
                message: The property key cannot be longer than 127 characters.
                statusCode: 400
              schema:
                $ref: "#/components/schemas/OperationMessage"
          description: |-
            Returned if:
              * the property key is longer than 127 characters.
              * the value is not valid JSON.
              * the value is longer than 32768 characters.
        "401":
          content:
            application/json:
              example:
                message: Access to this resource must be authenticated as an app.
                statusCode: 401
              schema:
                $ref: "#/components/schemas/OperationMessage"
          description: Returned if the authentication credentials are incorrect or missing.
      summary: Set app property
      tags:
        - App properties
      x-atlassian-connect-scope: NONE
  /rest/atlassian-connect/1/app/module/dynamic:
    delete:
      deprecated: false
      description: |-
        Remove all or a list of modules registered by the calling app.

        **[Permissions](#permissions) required:** Only Connect apps can make this request.
      operationId: DynamicModulesResource.removeModules_delete
      parameters:
        - description: |-
            The key of the module to remove. To include multiple module keys, provide multiple copies of this parameter.
            For example, `moduleKey=dynamic-attachment-entity-property&moduleKey=dynamic-select-field`.
            Nonexistent keys are ignored.
          in: query
          name: moduleKey
          required: false
          schema:
            items:
              type: string
            type: array
      responses:
        "204":
          description: Returned if the request is successful.
        "401":
          content:
            application/json:
              example:
                message: The request is not from a Connect app.
              schema:
                $ref: "#/components/schemas/ErrorMessage"
          description: Returned if the call is not from a Connect app.
      summary: Remove modules
      tags:
        - Dynamic modules
      x-atlassian-connect-scope: NONE
    get:
      deprecated: false
      description: |-
        Returns all modules registered dynamically by the calling app.

        **[Permissions](#permissions) required:** Only Connect apps can make this request.
      operationId: DynamicModulesResource.getModules_get
      parameters: []
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ConnectModules"
          description: Returned if the request is successful.
        "401":
          content:
            application/json:
              example:
                message: The request is not from a Connect app.
              schema:
                $ref: "#/components/schemas/ErrorMessage"
          description: Returned if the call is not from a Connect app.
      summary: Get modules
      tags:
        - Dynamic modules
      x-atlassian-connect-scope: NONE
    post:
      deprecated: false
      description: |-
        Registers a list of modules.

        **[Permissions](#permissions) required:** Only Connect apps can make this request.
      operationId: DynamicModulesResource.registerModules_post
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ConnectModules"
        required: true
      responses:
        "200":
          description: Returned if the request is successful.
        "400":
          content:
            application/json:
              example:
                message: "Installation failed. The app com.example.app.key has duplicate module keys: [module-key]. Please contact the app vendor."
              schema:
                $ref: "#/components/schemas/ErrorMessage"
          description: |-
            Returned if:
            * any of the provided modules is invalid. For example, required properties are missing.
            * any of the modules conflict with registered dynamic modules or modules defined in the app descriptor. For example, there are duplicate keys.

            Details of the issues encountered are included in the error message.
        "401":
          content:
            application/json:
              example:
                message: The request is not from a Connect app.
              schema:
                $ref: "#/components/schemas/ErrorMessage"
          description: Returned if the call is not from a Connect app.
      summary: Register modules
      tags:
        - Dynamic modules
      x-atlassian-connect-scope: NONE
  /rest/atlassian-connect/1/migration/field:
    put:
      deprecated: false
      description: |-
        Updates the value of a custom field added by Connect apps on one or more issues.
        The values of up to 200 custom fields can be updated.

        **[Permissions](#permissions) required:** Only Connect apps can make this request.
      operationId: AppIssueFieldValueUpdateResource.updateIssueFields_put
      parameters:
        - description: The ID of the transfer.
          in: header
          name: Atlassian-Transfer-Id
          required: true
          schema:
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            example:
              updateValueList:
                - _type: StringIssueField
                  fieldID: 10076
                  issueID: 10001
                  string: new string value
                - _type: TextIssueField
                  fieldID: 10077
                  issueID: 10002
                  text: new text value
                - _type: SingleSelectIssueField
                  fieldID: 10078
                  issueID: 10003
                  optionID: "1"
                - _type: MultiSelectIssueField
                  fieldID: 10079
                  issueID: 10004
                  optionID: "2"
                - _type: RichTextIssueField
                  fieldID: 10080
                  issueID: 10005
                  richText: new rich text value
                - _type: NumberIssueField
                  fieldID: 10082
                  issueID: 10006
                  number: 54
            schema:
              $ref: "#/components/schemas/ConnectCustomFieldValues"
        required: true
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is invalid.
        "403":
          description: |-
            Returned if:
            * the transfer ID is not found.
            * the authorisation credentials are incorrect or missing.
      summary: Bulk update custom field value
      tags:
        - App migration
      x-atlassian-connect-scope: NONE
  "/rest/atlassian-connect/1/migration/properties/{entityType}":
    put:
      description: Updates the values of multiple entity properties for an object, up to 50 updates per request. This operation is for use by Connect apps during app migration.
      operationId: MigrationResource.updateEntityPropertiesValue_put
      parameters:
        - description: The app migration transfer ID.
          in: header
          name: Atlassian-Transfer-Id
          required: true
          schema:
            format: uuid
            type: string
        - description: The type indicating the object that contains the entity properties.
          in: path
          name: entityType
          required: true
          schema:
            enum:
              - IssueProperty
              - CommentProperty
              - DashboardItemProperty
              - IssueTypeProperty
              - ProjectProperty
              - UserProperty
              - WorklogProperty
              - BoardProperty
              - SprintProperty
            type: string
      requestBody:
        content:
          application/json:
            schema:
              items:
                $ref: "#/components/schemas/EntityPropertyDetails"
              maxItems: 50
              minItems: 1
              type: array
        required: true
      responses:
        "200":
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "403":
          description: Returned if the authorisation credentials are incorrect or missing.
      summary: Bulk update entity properties
      tags:
        - App migration
      x-atlassian-connect-scope: NONE
  /rest/atlassian-connect/1/migration/workflow/rule/search:
    post:
      description: Returns configurations for workflow transition rules migrated from server to cloud and owned by the calling Connect app.
      operationId: MigrationResource.workflowRuleSearch_post
      parameters:
        - description: The app migration transfer ID.
          in: header
          name: Atlassian-Transfer-Id
          required: true
          schema:
            format: uuid
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/WorkflowRulesSearch"
        required: true
      responses:
        "200":
          content:
            application/json:
              example:
                invalidRules:
                  - 55d44f1d-c859-42e5-9c27-2c5ec3f340b1
                validRules:
                  - conditions:
                      - configuration:
                          value: WorkflowValidator
                        id: "123"
                        key: WorkflowKey
                        transition:
                          id: 123
                          name: transition
                    postFunctions:
                      - configuration:
                          value: WorkflowValidator
                        id: "123"
                        key: WorkflowKey
                        transition:
                          id: 123
                          name: transition
                    validators:
                      - configuration:
                          value: WorkflowValidator
                        id: "123"
                        key: WorkflowKey
                        transition:
                          id: 123
                          name: transition
                    workflowId:
                      draft: true
                      name: Workflow name
                workflowEntityId: a498d711-685d-428d-8c3e-bc03bb450ea7
              schema:
                $ref: "#/components/schemas/WorkflowRulesSearchDetails"
          description: Returned if the request is successful.
        "400":
          description: Returned if the request is not valid.
        "403":
          description: Returned if the authorisation credentials are incorrect or missing.
      summary: Get workflow transition rule configurations
      tags:
        - App migration
      x-atlassian-connect-scope: NONE
components:
  schemas:
    ActorInputBean:
      additionalProperties: false
      properties:
        group:
          description: The name of the group to add as a default actor. This parameter cannot be used with the `groupId` parameter. As a group's name can change,use of `groupId` is recommended. This parameter accepts a comma-separated list. For example, `"group":["project-admin", "jira-developers"]`.
          items:
            type: string
          type: array
        groupId:
          description: The ID of the group to add as a default actor. This parameter cannot be used with the `group` parameter This parameter accepts a comma-separated list. For example, `"groupId":["77f6ab39-e755-4570-a6ae-2d7a8df0bcb8", "0c011f85-69ed-49c4-a801-3b18d0f771bc"]`.
          items:
            type: string
          type: array
        user:
          description: The account IDs of the users to add as default actors. This parameter accepts a comma-separated list. For example, `"user":["5b10a2844c20165700ede21g", "5b109f2e9729b51b54dc274d"]`.
          items:
            type: string
          type: array
      type: object
    ActorsMap:
      additionalProperties: false
      properties:
        group:
          description: The name of the group to add. This parameter cannot be used with the `groupId` parameter. As a group's name can change, use of `groupId` is recommended.
          items:
            type: string
          type: array
        groupId:
          description: The ID of the group to add. This parameter cannot be used with the `group` parameter.
          items:
            type: string
          type: array
        user:
          description: The user account ID of the user to add.
          items:
            type: string
          type: array
      type: object
    AddFieldBean:
      additionalProperties: false
      properties:
        fieldId:
          description: The ID of the field to add.
          type: string
      required:
        - fieldId
      type: object
    AddGroupBean:
      additionalProperties: true
      properties:
        name:
          description: The name of the group.
          type: string
      required:
        - name
      type: object
    AddNotificationsDetails:
      additionalProperties: true
      description: Details of notifications which should be added to the notification scheme.
      properties:
        notificationSchemeEvents:
          description: The list of notifications which should be added to the notification scheme.
          items:
            $ref: "#/components/schemas/NotificationSchemeEventDetails"
          type: array
          writeOnly: true
      required:
        - notificationSchemeEvents
      type: object
    AddSecuritySchemeLevelsRequestBean:
      additionalProperties: false
      properties:
        levels:
          description: The list of scheme levels which should be added to the security scheme.
          items:
            $ref: "#/components/schemas/SecuritySchemeLevelBean"
          type: array
          writeOnly: true
      type: object
    AnnouncementBannerConfiguration:
      additionalProperties: false
      description: Announcement banner configuration.
      properties:
        hashId:
          description: Hash of the banner data. The client detects updates by comparing hash IDs.
          readOnly: true
          type: string
        isDismissible:
          description: Flag indicating if the announcement banner can be dismissed by the user.
          readOnly: true
          type: boolean
        isEnabled:
          description: Flag indicating if the announcement banner is enabled or not.
          readOnly: true
          type: boolean
        message:
          description: The text on the announcement banner.
          readOnly: true
          type: string
        visibility:
          description: Visibility of the announcement banner.
          enum:
            - PUBLIC
            - PRIVATE
          readOnly: true
          type: string
      type: object
    AnnouncementBannerConfigurationUpdate:
      additionalProperties: false
      description: Configuration of the announcement banner.
      properties:
        isDismissible:
          description: Flag indicating if the announcement banner can be dismissed by the user.
          type: boolean
        isEnabled:
          description: Flag indicating if the announcement banner is enabled or not.
          type: boolean
        message:
          description: The text on the announcement banner.
          type: string
        visibility:
          description: Visibility of the announcement banner. Can be public or private.
          type: string
      type: object
      writeOnly: true
    AppWorkflowTransitionRule:
      additionalProperties: false
      description: A workflow transition rule.
      properties:
        configuration:
          $ref: "#/components/schemas/RuleConfiguration"
        id:
          description: The ID of the transition rule.
          type: string
        key:
          description: The key of the rule, as defined in the Connect or the Forge app descriptor.
          readOnly: true
          type: string
        transition:
          allOf:
            - $ref: "#/components/schemas/WorkflowTransition"
          readOnly: true
      required:
        - configuration
        - id
        - key
      type: object
    Application:
      additionalProperties: true
      description: The application the linked item is in.
      properties:
        name:
          description: The name of the application. Used in conjunction with the (remote) object icon title to display a tooltip for the link's icon. The tooltip takes the format "\[application name\] icon title". Blank items are excluded from the tooltip title. If both items are blank, the icon tooltop displays as "Web Link". Grouping and sorting of links may place links without an application name last.
          type: string
        type:
          description: The name-spaced type of the application, used by registered rendering apps.
          type: string
      type: object
    ApplicationProperty:
      additionalProperties: false
      description: Details of an application property.
      properties:
        allowedValues:
          description: The allowed values, if applicable.
          items:
            type: string
          type: array
        defaultValue:
          description: The default value of the application property.
          type: string
        desc:
          description: The description of the application property.
          type: string
        example:
          type: string
        id:
          description: The ID of the application property. The ID and key are the same.
          type: string
        key:
          description: The key of the application property. The ID and key are the same.
          type: string
        name:
          description: The name of the application property.
          type: string
        type:
          description: The data type of the application property.
          type: string
        value:
          description: The new value.
          type: string
      type: object
    ApplicationRole:
      additionalProperties: false
      description: Details of an application role.
      properties:
        defaultGroups:
          description: The groups that are granted default access for this application role. As a group's name can change, use of `defaultGroupsDetails` is recommended to identify a groups.
          items:
            type: string
          type: array
          uniqueItems: true
        defaultGroupsDetails:
          description: The groups that are granted default access for this application role.
          items:
            $ref: "#/components/schemas/GroupName"
          type: array
        defined:
          description: Deprecated.
          type: boolean
        groupDetails:
          description: The groups associated with the application role.
          items:
            $ref: "#/components/schemas/GroupName"
          type: array
        groups:
          description: The groups associated with the application role. As a group's name can change, use of `groupDetails` is recommended to identify a groups.
          items:
            type: string
          type: array
          uniqueItems: true
        hasUnlimitedSeats:
          type: boolean
        key:
          description: The key of the application role.
          type: string
        name:
          description: The display name of the application role.
          type: string
        numberOfSeats:
          description: The maximum count of users on your license.
          format: int32
          type: integer
        platform:
          description: Indicates if the application role belongs to Jira platform (`jira-core`).
          type: boolean
        remainingSeats:
          description: The count of users remaining on your license.
          format: int32
          type: integer
        selectedByDefault:
          description: Determines whether this application role should be selected by default on user creation.
          type: boolean
        userCount:
          description: The number of users counting against your license.
          format: int32
          type: integer
        userCountDescription:
          description: The [type of users](https://confluence.atlassian.com/x/lRW3Ng) being counted against your license.
          type: string
      type: object
    AssociateFieldConfigurationsWithIssueTypesRequest:
      additionalProperties: false
      description: Details of a field configuration to issue type mappings.
      properties:
        mappings:
          description: Field configuration to issue type mappings.
          items:
            $ref: "#/components/schemas/FieldConfigurationToIssueTypeMapping"
          type: array
          uniqueItems: true
          writeOnly: true
      required:
        - mappings
      type: object
    AssociatedItemBean:
      additionalProperties: false
      description: Details of an item associated with the changed record.
      properties:
        id:
          description: The ID of the associated record.
          readOnly: true
          type: string
        name:
          description: The name of the associated record.
          readOnly: true
          type: string
        parentId:
          description: The ID of the associated parent record.
          readOnly: true
          type: string
        parentName:
          description: The name of the associated parent record.
          readOnly: true
          type: string
        typeName:
          description: The type of the associated record.
          readOnly: true
          type: string
      type: object
    Attachment:
      additionalProperties: true
      description: Details about an attachment.
      properties:
        author:
          allOf:
            - $ref: "#/components/schemas/UserDetails"
          description: Details of the user who added the attachment.
          readOnly: true
        content:
          description: The content of the attachment.
          readOnly: true
          type: string
        created:
          description: The datetime the attachment was created.
          format: date-time
          readOnly: true
          type: string
        filename:
          description: The file name of the attachment.
          readOnly: true
          type: string
        id:
          description: The ID of the attachment.
          readOnly: true
          type: string
        mimeType:
          description: The MIME type of the attachment.
          readOnly: true
          type: string
        self:
          description: The URL of the attachment details response.
          readOnly: true
          type: string
        size:
          description: The size of the attachment.
          format: int64
          readOnly: true
          type: integer
        thumbnail:
          description: The URL of a thumbnail representing the attachment.
          readOnly: true
          type: string
      type: object
    AttachmentArchive:
      additionalProperties: false
      properties:
        entries:
          items:
            $ref: "#/components/schemas/AttachmentArchiveEntry"
          type: array
        moreAvailable:
          type: boolean
        totalEntryCount:
          format: int32
          type: integer
        totalNumberOfEntriesAvailable:
          format: int32
          type: integer
      type: object
    AttachmentArchiveEntry:
      additionalProperties: false
      properties:
        abbreviatedName:
          type: string
        entryIndex:
          format: int64
          type: integer
        mediaType:
          type: string
        name:
          type: string
        size:
          format: int64
          type: integer
      type: object
    AttachmentArchiveImpl:
      additionalProperties: false
      properties:
        entries:
          description: The list of the items included in the archive.
          items:
            $ref: "#/components/schemas/AttachmentArchiveEntry"
          type: array
        totalEntryCount:
          description: The number of items in the archive.
          format: int32
          type: integer
      type: object
    AttachmentArchiveItemReadable:
      additionalProperties: false
      description: Metadata for an item in an attachment archive.
      properties:
        index:
          description: The position of the item within the archive.
          format: int64
          readOnly: true
          type: integer
        label:
          description: The label for the archive item.
          readOnly: true
          type: string
        mediaType:
          description: The MIME type of the archive item.
          readOnly: true
          type: string
        path:
          description: The path of the archive item.
          readOnly: true
          type: string
        size:
          description: The size of the archive item.
          readOnly: true
          type: string
      type: object
    AttachmentArchiveMetadataReadable:
      additionalProperties: false
      description: Metadata for an archive (for example a zip) and its contents.
      properties:
        entries:
          description: The list of the items included in the archive.
          items:
            $ref: "#/components/schemas/AttachmentArchiveItemReadable"
          readOnly: true
          type: array
        id:
          description: The ID of the attachment.
          format: int64
          readOnly: true
          type: integer
        mediaType:
          description: The MIME type of the attachment.
          readOnly: true
          type: string
        name:
          description: The name of the archive file.
          readOnly: true
          type: string
        totalEntryCount:
          description: The number of items included in the archive.
          format: int64
          readOnly: true
          type: integer
      type: object
    AttachmentMetadata:
      additionalProperties: false
      description: Metadata for an issue attachment.
      properties:
        author:
          allOf:
            - $ref: "#/components/schemas/User"
          description: Details of the user who attached the file.
          readOnly: true
        content:
          description: The URL of the attachment.
          readOnly: true
          type: string
        created:
          description: The datetime the attachment was created.
          format: date-time
          readOnly: true
          type: string
        filename:
          description: The name of the attachment file.
          readOnly: true
          type: string
        id:
          description: The ID of the attachment.
          format: int64
          readOnly: true
          type: integer
        mimeType:
          description: The MIME type of the attachment.
          readOnly: true
          type: string
        properties:
          additionalProperties:
            readOnly: true
          description: Additional properties of the attachment.
          readOnly: true
          type: object
        self:
          description: The URL of the attachment metadata details.
          format: uri
          readOnly: true
          type: string
        size:
          description: The size of the attachment.
          format: int64
          readOnly: true
          type: integer
        thumbnail:
          description: The URL of a thumbnail representing the attachment.
          readOnly: true
          type: string
      type: object
      xml:
        name: attachment
    AttachmentSettings:
      additionalProperties: false
      description: Details of the instance's attachment settings.
      properties:
        enabled:
          description: Whether the ability to add attachments is enabled.
          readOnly: true
          type: boolean
        uploadLimit:
          description: The maximum size of attachments permitted, in bytes.
          format: int64
          readOnly: true
          type: integer
      type: object
    AuditRecordBean:
      additionalProperties: false
      description: An audit record.
      properties:
        associatedItems:
          description: The list of items associated with the changed record.
          items:
            $ref: "#/components/schemas/AssociatedItemBean"
          readOnly: true
          type: array
        authorKey:
          description: Deprecated, use `authorAccountId` instead. The key of the user who created the audit record.
          readOnly: true
          type: string
        category:
          description: The category of the audit record. For a list of these categories, see the help article [Auditing in Jira applications](https://confluence.atlassian.com/x/noXKM).
          readOnly: true
          type: string
        changedValues:
          description: The list of values changed in the record event.
          items:
            $ref: "#/components/schemas/ChangedValueBean"
          readOnly: true
          type: array
        created:
          description: The date and time on which the audit record was created.
          format: date-time
          readOnly: true
          type: string
        description:
          description: The description of the audit record.
          readOnly: true
          type: string
        eventSource:
          description: The event the audit record originated from.
          readOnly: true
          type: string
        id:
          description: The ID of the audit record.
          format: int64
          readOnly: true
          type: integer
        objectItem:
          $ref: "#/components/schemas/AssociatedItemBean"
        remoteAddress:
          description: The URL of the computer where the creation of the audit record was initiated.
          readOnly: true
          type: string
        summary:
          description: The summary of the audit record.
          readOnly: true
          type: string
      type: object
    AuditRecords:
      additionalProperties: false
      description: Container for a list of audit records.
      properties:
        limit:
          description: The requested or default limit on the number of audit items to be returned.
          format: int32
          readOnly: true
          type: integer
        offset:
          description: The number of audit items skipped before the first item in this list.
          format: int32
          readOnly: true
          type: integer
        records:
          description: The list of audit items.
          items:
            $ref: "#/components/schemas/AuditRecordBean"
          readOnly: true
          type: array
        total:
          description: The total number of audit items returned.
          format: int64
          readOnly: true
          type: integer
      type: object
    AutoCompleteSuggestion:
      additionalProperties: false
      description: A field auto-complete suggestion.
      properties:
        displayName:
          description: The display name of a suggested item. If `fieldValue` or `predicateValue` are provided, the matching text is highlighted with the HTML bold tag.
          type: string
        value:
          description: The value of a suggested item.
          type: string
      type: object
    AutoCompleteSuggestions:
      additionalProperties: false
      description: The results from a JQL query.
      properties:
        results:
          description: The list of suggested item.
          items:
            $ref: "#/components/schemas/AutoCompleteSuggestion"
          type: array
      type: object
    AvailableDashboardGadget:
      additionalProperties: false
      description: The details of the available dashboard gadget.
      properties:
        moduleKey:
          description: The module key of the gadget type.
          readOnly: true
          type: string
        title:
          description: The title of the gadget.
          readOnly: true
          type: string
        uri:
          description: The URI of the gadget type.
          readOnly: true
          type: string
      required:
        - title
      type: object
    AvailableDashboardGadgetsResponse:
      additionalProperties: false
      description: The list of available gadgets.
      properties:
        gadgets:
          description: The list of available gadgets.
          items:
            $ref: "#/components/schemas/AvailableDashboardGadget"
          readOnly: true
          type: array
      required:
        - gadgets
      type: object
    Avatar:
      additionalProperties: true
      description: Details of an avatar.
      properties:
        fileName:
          description: The file name of the avatar icon. Returned for system avatars.
          readOnly: true
          type: string
        id:
          description: The ID of the avatar.
          type: string
        isDeletable:
          description: Whether the avatar can be deleted.
          readOnly: true
          type: boolean
        isSelected:
          description: Whether the avatar is used in Jira. For example, shown as a project's avatar.
          readOnly: true
          type: boolean
        isSystemAvatar:
          description: Whether the avatar is a system avatar.
          readOnly: true
          type: boolean
        owner:
          description: The owner of the avatar. For a system avatar the owner is null (and nothing is returned). For non-system avatars this is the appropriate identifier, such as the ID for a project or the account ID for a user.
          readOnly: true
          type: string
        urls:
          additionalProperties:
            format: uri
            readOnly: true
            type: string
          description: The list of avatar icon URLs.
          readOnly: true
          type: object
      required:
        - id
      type: object
    AvatarUrlsBean:
      additionalProperties: false
      properties:
        16x16:
          description: The URL of the item's 16x16 pixel avatar.
          format: uri
          type: string
        24x24:
          description: The URL of the item's 24x24 pixel avatar.
          format: uri
          type: string
        32x32:
          description: The URL of the item's 32x32 pixel avatar.
          format: uri
          type: string
        48x48:
          description: The URL of the item's 48x48 pixel avatar.
          format: uri
          type: string
      type: object
    Avatars:
      additionalProperties: false
      description: Details about system and custom avatars.
      properties:
        custom:
          description: Custom avatars list.
          items:
            $ref: "#/components/schemas/Avatar"
          readOnly: true
          type: array
        system:
          description: System avatars list.
          items:
            $ref: "#/components/schemas/Avatar"
          readOnly: true
          type: array
      type: object
    BulkCustomFieldOptionCreateRequest:
      additionalProperties: false
      description: Details of the options to create for a custom field.
      properties:
        options:
          description: Details of options to create.
          items:
            $ref: "#/components/schemas/CustomFieldOptionCreate"
          type: array
      type: object
      writeOnly: true
    BulkCustomFieldOptionUpdateRequest:
      additionalProperties: false
      description: Details of the options to update for a custom field.
      properties:
        options:
          description: Details of the options to update.
          items:
            $ref: "#/components/schemas/CustomFieldOptionUpdate"
          type: array
      type: object
      writeOnly: true
    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
    BulkIssuePropertyUpdateRequest:
      additionalProperties: false
      description: Bulk issue property update request details.
      properties:
        expression:
          description: EXPERIMENTAL. The Jira expression to calculate the value of the property. The value of the expression must be an object that can be converted to JSON, such as a number, boolean, string, list, or map. The context variables available to the expression are `issue` and `user`. Issues for which the expression returns a value whose JSON representation is longer than 32768 characters are ignored.
          type: string
        filter:
          allOf:
            - $ref: "#/components/schemas/IssueFilterForBulkPropertySet"
          description: The bulk operation filter.
        value:
          description: The value of the property. The value must be a [valid](https://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.
      type: object
    BulkOperationErrorResult:
      additionalProperties: false
      properties:
        elementErrors:
          $ref: "#/components/schemas/ErrorCollection"
        failedElementNumber:
          format: int32
          type: integer
        status:
          format: int32
          type: integer
      type: object
    BulkPermissionGrants:
      additionalProperties: false
      description: Details of global and project permissions granted to the user.
      properties:
        globalPermissions:
          description: List of permissions granted to the user.
          items:
            type: string
          type: array
          uniqueItems: true
        projectPermissions:
          description: List of project permissions and the projects and issues those permissions provide access to.
          items:
            $ref: "#/components/schemas/BulkProjectPermissionGrants"
          type: array
          uniqueItems: true
      required:
        - globalPermissions
        - projectPermissions
      type: object
    BulkPermissionsRequestBean:
      additionalProperties: false
      description: Details of global permissions to look up and project permissions with associated projects and issues to look up.
      properties:
        accountId:
          description: The account ID of a user.
          type: string
        globalPermissions:
          description: Global permissions to look up.
          items:
            type: string
          type: array
          uniqueItems: true
        projectPermissions:
          description: Project permissions with associated projects and issues to look up.
          items:
            $ref: "#/components/schemas/BulkProjectPermissions"
          type: array
          uniqueItems: true
      type: object
    BulkProjectPermissionGrants:
      additionalProperties: false
      description: List of project permissions and the projects and issues those permissions grant access to.
      properties:
        issues:
          description: IDs of the issues the user has the permission for.
          items:
            format: int64
            type: integer
          type: array
          uniqueItems: true
        permission:
          description: A project permission,
          type: string
        projects:
          description: IDs of the projects the user has the permission for.
          items:
            format: int64
            type: integer
          type: array
          uniqueItems: true
      required:
        - issues
        - permission
        - projects
      type: object
    BulkProjectPermissions:
      additionalProperties: false
      description: Details of project permissions and associated issues and projects to look up.
      properties:
        issues:
          description: List of issue IDs.
          items:
            format: int64
            type: integer
          type: array
          uniqueItems: true
        permissions:
          description: List of project permissions.
          items:
            type: string
          type: array
          uniqueItems: true
        projects:
          description: List of project IDs.
          items:
            format: int64
            type: integer
          type: array
          uniqueItems: true
      required:
        - permissions
      type: object
    ChangeDetails:
      additionalProperties: false
      description: A change item.
      properties:
        field:
          description: The name of the field changed.
          readOnly: true
          type: string
        fieldId:
          description: The ID of the field changed.
          readOnly: true
          type: string
        fieldtype:
          description: The type of the field changed.
          readOnly: true
          type: string
        from:
          description: The details of the original value.
          readOnly: true
          type: string
        fromString:
          description: The details of the original value as a string.
          readOnly: true
          type: string
        to:
          description: The details of the new value.
          readOnly: true
          type: string
      type: object
    ChangeFilterOwner:
      additionalProperties: false
      description: The account ID of the new owner.
      properties:
        accountId:
          description: The account ID of the new owner.
          type: string
      required:
        - accountId
      type: object
      writeOnly: true
    ChangedValueBean:
      additionalProperties: false
      description: Details of names changed in the record event.
      properties:
        changedFrom:
          description: The value of the field before the change.
          readOnly: true
          type: string
        changedTo:
          description: The value of the field after the change.
          readOnly: true
          type: string
        fieldName:
          description: The name of the field changed.
          readOnly: true
          type: string
      type: object
    ChangedWorklog:
      additionalProperties: false
      description: Details of a changed worklog.
      properties:
        properties:
          description: Details of properties associated with the change.
          items:
            $ref: "#/components/schemas/EntityProperty"
          readOnly: true
          type: array
        updatedTime:
          description: The datetime of the change.
          format: int64
          readOnly: true
          type: integer
        worklogId:
          description: The ID of the worklog.
          format: int64
          readOnly: true
          type: integer
      type: object
    ChangedWorklogs:
      additionalProperties: false
      description: List of changed worklogs.
      properties:
        lastPage:
          type: boolean
        nextPage:
          description: The URL of the next list of changed worklogs.
          format: uri
          readOnly: true
          type: string
        self:
          description: The URL of this changed worklogs list.
          format: uri
          readOnly: true
          type: string
        since:
          description: The datetime of the first worklog item in the list.
          format: int64
          readOnly: true
          type: integer
        until:
          description: The datetime of the last worklog item in the list.
          format: int64
          readOnly: true
          type: integer
        values:
          description: Changed worklog list.
          items:
            $ref: "#/components/schemas/ChangedWorklog"
          readOnly: true
          type: array
      type: object
    Changelog:
      additionalProperties: false
      description: A log of changes made to issue fields. Changelogs related to workflow associations are currently being deprecated.
      properties:
        author:
          allOf:
            - $ref: "#/components/schemas/UserDetails"
          description: The user who made the change.
          readOnly: true
        created:
          description: The date on which the change took place.
          format: date-time
          readOnly: true
          type: string
        historyMetadata:
          allOf:
            - $ref: "#/components/schemas/HistoryMetadata"
          description: The history metadata associated with the changed.
          readOnly: true
        id:
          description: The ID of the changelog.
          readOnly: true
          type: string
        items:
          description: The list of items changed.
          items:
            $ref: "#/components/schemas/ChangeDetails"
          readOnly: true
          type: array
      type: object
    ColumnItem:
      additionalProperties: false
      description: Details of an issue navigator column item.
      properties:
        label:
          description: The issue navigator column label.
          type: string
        value:
          description: The issue navigator column value.
          type: string
      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
    ComponentIssuesCount:
      additionalProperties: false
      description: Count of issues assigned to a component.
      properties:
        issueCount:
          description: The count of issues assigned to a component.
          format: int64
          readOnly: true
          type: integer
        self:
          description: The URL for this count of issues for a component.
          format: uri
          readOnly: true
          type: string
      type: object
      xml:
        name: component
    ComponentWithIssueCount:
      additionalProperties: false
      description: Details about a component with a count of the issues it contains.
      properties:
        assignee:
          allOf:
            - $ref: "#/components/schemas/User"
          description: The details of the user associated with `assigneeType`, if any. See `realAssignee` for details of the user assigned to issues created with this component.
        assigneeType:
          description: |-
            The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType` for details on how the type of the user, and hence the user, assigned to issues is determined. Takes the following values:

             *  `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the component is in.
             *  `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component.
             *  `UNASSIGNED` an assignee is not set for issues created with this component.
             *  `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the project that the component is in.
          enum:
            - PROJECT_DEFAULT
            - COMPONENT_LEAD
            - PROJECT_LEAD
            - UNASSIGNED
          readOnly: true
          type: string
        description:
          description: The description for the component.
          readOnly: true
          type: string
        id:
          description: The unique identifier for the component.
          readOnly: true
          type: string
        isAssigneeTypeValid:
          description: Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but the component lead is not set, then `false` is returned.
          readOnly: true
          type: boolean
        issueCount:
          description: Count of issues for the component.
          format: int64
          readOnly: true
          type: integer
        lead:
          allOf:
            - $ref: "#/components/schemas/User"
          description: The user details for the component's lead user.
        name:
          description: The name for the component.
          readOnly: true
          type: string
        project:
          description: The key of the project to which the component is assigned.
          readOnly: true
          type: string
        projectId:
          description: Not used.
          format: int64
          readOnly: true
          type: integer
        realAssignee:
          allOf:
            - $ref: "#/components/schemas/User"
          description: The user assigned to issues created with this component, when `assigneeType` does not identify a valid assignee.
        realAssigneeType:
          description: |-
            The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values:

             *  `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in.
             *  `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in.
             *  `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues.
             *  `PROJECT_DEFAULT` when none of the preceding cases are true.
          enum:
            - PROJECT_DEFAULT
            - COMPONENT_LEAD
            - PROJECT_LEAD
            - UNASSIGNED
          readOnly: true
          type: string
        self:
          description: The URL for this count of the issues contained in the component.
          format: uri
          readOnly: true
          type: string
      type: object
    CompoundClause:
      description: A JQL query clause that consists of nested clauses. For example, `(labels in (urgent, blocker) OR lastCommentedBy = currentUser()). Note that, where nesting is not defined, the parser nests JQL clauses based on the operator precedence. For example, "A OR B AND C" is parsed as "(A OR B) AND C". See Setting the precedence of operators for more information about precedence in JQL queries.`
      properties:
        clauses:
          description: The list of nested clauses.
          items:
            $ref: "#/components/schemas/JqlQueryClause"
          type: array
        operator:
          description: The operator between the clauses.
          enum:
            - and
            - or
            - not
          type: string
      required:
        - clauses
        - operator
      type: object
    Configuration:
      additionalProperties: false
      description: Details about the configuration of Jira.
      properties:
        attachmentsEnabled:
          description: Whether the ability to add attachments to issues is enabled.
          readOnly: true
          type: boolean
        issueLinkingEnabled:
          description: Whether the ability to link issues is enabled.
          readOnly: true
          type: boolean
        subTasksEnabled:
          description: Whether the ability to create subtasks for issues is enabled.
          readOnly: true
          type: boolean
        timeTrackingConfiguration:
          allOf:
            - $ref: "#/components/schemas/TimeTrackingConfiguration"
          description: The configuration of time tracking.
          readOnly: true
        timeTrackingEnabled:
          description: Whether the ability to track time is enabled. This property is deprecated.
          readOnly: true
          type: boolean
        unassignedIssuesAllowed:
          description: Whether the ability to create unassigned issues is enabled. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.
          readOnly: true
          type: boolean
        votingEnabled:
          description: Whether the ability for users to vote on issues is enabled. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.
          readOnly: true
          type: boolean
        watchingEnabled:
          description: Whether the ability for users to watch issues is enabled. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.
          readOnly: true
          type: boolean
      type: object
    ConnectCustomFieldValue:
      description: A list of custom field details.
      properties:
        _type:
          description: The type of custom field.
          enum:
            - StringIssueField
            - NumberIssueField
            - RichTextIssueField
            - SingleSelectIssueField
            - MultiSelectIssueField
            - TextIssueField
          type: string
          writeOnly: true
        fieldID:
          description: The custom field ID.
          type: integer
          writeOnly: true
        issueID:
          description: The issue ID.
          type: integer
          writeOnly: true
        number:
          description: The value of number type custom field when `_type` is `NumberIssueField`.
          type: number
        optionID:
          description: The value of single select and multiselect custom field type when `_type` is `SingleSelectIssueField` or `MultiSelectIssueField`.
          type: string
        richText:
          description: The value of richText type custom field when `_type` is `RichTextIssueField`.
          type: string
        string:
          description: The value of string type custom field when `_type` is `StringIssueField`.
          type: string
        text:
          description: The value of of text custom field type when `_type` is `TextIssueField`.
          type: string
      required:
        - _type
        - fieldID
        - issueID
      type: object
      writeOnly: true
    ConnectCustomFieldValues:
      additionalProperties: false
      description: Details of updates for a custom field.
      properties:
        updateValueList:
          description: The list of custom field update details.
          items:
            $ref: "#/components/schemas/ConnectCustomFieldValue"
          type: array
      type: object
      writeOnly: true
    ConnectModule:
      description: |-
        A [Connect module](https://developer.atlassian.com/cloud/jira/platform/about-jira-modules/) in the same format as in the
        [app descriptor](https://developer.atlassian.com/cloud/jira/platform/app-descriptor/).
      example:
        description:
          value: field with team
        extractions:
          - name: categoryName
            path: category
            type: text
        key: team-field
        name:
          value: Team
        type: single_select
      type: object
    ConnectModules:
      example:
        jiraEntityProperties:
          - entityType: issue
            key: dynamic-attachment-entity-property
            keyConfigurations:
              - extractions:
                  - alias: attachmentExtension
                    objectName: extension
                    type: text
                propertyKey: attachment
            name:
              value: Attachment Index Document
        jiraIssueFields:
          - description:
              value: A dynamically added single-select field
            extractions:
              - name: categoryName
                path: category
                type: text
            key: dynamic-select-field
            name:
              value: Dynamic single select
            type: single_select
      properties:
        modules:
          description: |-
            A list of app modules in the same format as the `modules` property in the
            [app descriptor](https://developer.atlassian.com/cloud/jira/platform/app-descriptor/).
          items:
            $ref: "#/components/schemas/ConnectModule"
          type: array
      required:
        - modules
      type: object
    ConnectWorkflowTransitionRule:
      description: A workflow transition rule.
      properties:
        configuration:
          $ref: "#/components/schemas/RuleConfiguration"
        id:
          description: The ID of the transition rule.
          example: "123"
          type: string
        key:
          description: The key of the rule, as defined in the Connect app descriptor.
          example: WorkflowKey
          type: string
        transition:
          $ref: "#/components/schemas/WorkflowTransition"
      required:
        - configuration
        - id
        - key
      type: object
    ContainerForProjectFeatures:
      additionalProperties: false
      description: The list of features on a project.
      properties:
        features:
          description: The project features.
          items:
            $ref: "#/components/schemas/ProjectFeature"
          type: array
      type: object
    ContainerForRegisteredWebhooks:
      additionalProperties: false
      description: Container for a list of registered webhooks. Webhook details are returned in the same order as the request.
      properties:
        webhookRegistrationResult:
          description: A list of registered webhooks.
          items:
            $ref: "#/components/schemas/RegisteredWebhook"
          type: array
      type: object
    ContainerForWebhookIDs:
      additionalProperties: false
      description: Container for a list of webhook IDs.
      properties:
        webhookIds:
          description: A list of webhook IDs.
          items:
            description: A list of webhook IDs.
            format: int64
            type: integer
          type: array
      required:
        - webhookIds
      type: object
    ContainerOfWorkflowSchemeAssociations:
      additionalProperties: false
      description: A container for a list of workflow schemes together with the projects they are associated with.
      properties:
        values:
          description: A list of workflow schemes together with projects they are associated with.
          items:
            $ref: "#/components/schemas/WorkflowSchemeAssociations"
          type: array
      required:
        - values
      type: object
    Context:
      additionalProperties: false
      description: A context.
      properties:
        id:
          description: The ID of the context.
          format: int64
          readOnly: true
          type: integer
        name:
          description: The name of the context.
          readOnly: true
          type: string
        scope:
          allOf:
            - $ref: "#/components/schemas/Scope"
          description: The scope of the context.
      type: object
    ContextForProjectAndIssueType:
      additionalProperties: false
      description: The project and issue type mapping with a matching custom field context.
      properties:
        contextId:
          description: The ID of the custom field context.
          type: string
        issueTypeId:
          description: The ID of the issue type.
          type: string
        projectId:
          description: The ID of the project.
          type: string
      required:
        - contextId
        - issueTypeId
        - projectId
      type: object
    ContextualConfiguration:
      additionalProperties: false
      description: Details of the contextual configuration for a custom field.
      properties:
        configuration:
          description: The field configuration.
        fieldContextId:
          description: The ID of the field context the configuration is associated with.
          readOnly: true
          type: string
        id:
          description: The ID of the configuration.
          type: string
        schema:
          description: The field value schema.
      required:
        - fieldContextId
        - id
      type: object
    ConvertedJQLQueries:
      additionalProperties: false
      description: The converted JQL queries.
      properties:
        queriesWithUnknownUsers:
          description: List of queries containing user information that could not be mapped to an existing user
          items:
            $ref: "#/components/schemas/JQLQueryWithUnknownUsers"
          type: array
        queryStrings:
          description: The list of converted query strings with account IDs in place of user identifiers.
          items:
            type: string
          type: array
      type: object
    CreateCustomFieldContext:
      additionalProperties: false
      description: The details of a created custom field context.
      properties:
        description:
          description: The description of the context.
          type: string
        id:
          description: The ID of the context.
          readOnly: true
          type: string
        issueTypeIds:
          description: The list of issue types IDs for the context. If the list is empty, the context refers to all issue types.
          items:
            type: string
          type: array
        name:
          description: The name of the context.
          type: string
        projectIds:
          description: The list of project IDs associated with the context. If the list is empty, the context is global.
          items:
            type: string
          type: array
      required:
        - name
      type: object
    CreateIssueSecuritySchemeDetails:
      additionalProperties: true
      description: Issue security scheme and it's details
      properties:
        description:
          description: The description of the issue security scheme.
          maxLength: 255
          type: string
          writeOnly: true
        levels:
          description: The list of scheme levels which should be added to the security scheme.
          items:
            $ref: "#/components/schemas/SecuritySchemeLevelBean"
          type: array
          writeOnly: true
        name:
          description: The name of the issue security scheme. Must be unique (case-insensitive).
          maxLength: 60
          type: string
          writeOnly: true
      required:
        - name
      type: object
    CreateNotificationSchemeDetails:
      additionalProperties: true
      description: Details of an notification scheme.
      properties:
        description:
          description: The description of the notification scheme.
          maxLength: 4000
          type: string
          writeOnly: true
        name:
          description: The name of the notification scheme. Must be unique (case-insensitive).
          maxLength: 255
          type: string
          writeOnly: true
        notificationSchemeEvents:
          description: The list of notifications which should be added to the notification scheme.
          items:
            $ref: "#/components/schemas/NotificationSchemeEventDetails"
          type: array
          writeOnly: true
      required:
        - name
      type: object
    CreatePriorityDetails:
      additionalProperties: true
      description: Details of an issue priority.
      properties:
        description:
          description: The description of the priority.
          maxLength: 255
          type: string
          writeOnly: true
        iconUrl:
          description: The URL of an icon for the priority. Accepted protocols are HTTP and HTTPS. Built in icons can also be used.
          enum:
            - /images/icons/priorities/blocker.png
            - /images/icons/priorities/critical.png
            - /images/icons/priorities/high.png
            - /images/icons/priorities/highest.png
            - /images/icons/priorities/low.png
            - /images/icons/priorities/lowest.png
            - /images/icons/priorities/major.png
            - /images/icons/priorities/medium.png
            - /images/icons/priorities/minor.png
            - /images/icons/priorities/trivial.png
          maxLength: 255
          type: string
          writeOnly: true
        name:
          description: The name of the priority. Must be unique.
          maxLength: 60
          type: string
          writeOnly: true
        statusColor:
          description: The status color of the priority in 3-digit or 6-digit hexadecimal format.
          type: string
          writeOnly: true
      required:
        - name
        - statusColor
      type: object
    CreateProjectDetails:
      additionalProperties: false
      description: Details about the project.
      properties:
        assigneeType:
          description: The default assignee when creating issues for this project.
          enum:
            - PROJECT_LEAD
            - UNASSIGNED
          type: string
        avatarId:
          description: An integer value for the project's avatar.
          format: int64
          type: integer
        categoryId:
          description: The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-3-projectCategory-get) operation.
          format: int64
          type: integer
        description:
          description: A brief description of the project.
          type: string
        fieldConfigurationScheme:
          description: The ID of the field configuration scheme for the project. Use the [Get all field configuration schemes](#api-rest-api-3-fieldconfigurationscheme-get) operation to get a list of field configuration scheme IDs. If you specify the field configuration scheme you cannot specify the project template key.
          format: int64
          type: integer
        issueSecurityScheme:
          description: The ID of the issue security scheme for the project, which enables you to control who can and cannot view issues. Use the [Get issue security schemes](#api-rest-api-3-issuesecurityschemes-get) resource to get all issue security scheme IDs.
          format: int64
          type: integer
        issueTypeScheme:
          description: The ID of the issue type scheme for the project. Use the [Get all issue type schemes](#api-rest-api-3-issuetypescheme-get) operation to get a list of issue type scheme IDs. If you specify the issue type scheme you cannot specify the project template key.
          format: int64
          type: integer
        issueTypeScreenScheme:
          description: The ID of the issue type screen scheme for the project. Use the [Get all issue type screen schemes](#api-rest-api-3-issuetypescreenscheme-get) operation to get a list of issue type screen scheme IDs. If you specify the issue type screen scheme you cannot specify the project template key.
          format: int64
          type: integer
        key:
          description: Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric characters. The maximum length is 10 characters.
          type: string
        lead:
          description: This parameter is deprecated because of privacy changes. Use `leadAccountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. The user name of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Cannot be provided with `leadAccountId`.
          type: string
        leadAccountId:
          description: The account ID of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Cannot be provided with `lead`.
          maxLength: 128
          type: string
        name:
          description: The name of the project.
          type: string
        notificationScheme:
          description: The ID of the notification scheme for the project. Use the [Get notification schemes](#api-rest-api-3-notificationscheme-get) resource to get a list of notification scheme IDs.
          format: int64
          type: integer
        permissionScheme:
          description: The ID of the permission scheme for the project. Use the [Get all permission schemes](#api-rest-api-3-permissionscheme-get) resource to see a list of all permission scheme IDs.
          format: int64
          type: integer
        projectTemplateKey:
          description: A predefined configuration for a project. The type of the `projectTemplateKey` must match with the type of the `projectTypeKey`.
          enum:
            - com.pyxis.greenhopper.jira:gh-simplified-agility-kanban
            - com.pyxis.greenhopper.jira:gh-simplified-agility-scrum
            - com.pyxis.greenhopper.jira:gh-simplified-basic
            - com.pyxis.greenhopper.jira:gh-simplified-kanban-classic
            - com.pyxis.greenhopper.jira:gh-simplified-scrum-classic
            - com.atlassian.servicedesk:simplified-it-service-management
            - com.atlassian.servicedesk:simplified-general-service-desk
            - com.atlassian.servicedesk:simplified-general-service-desk-it
            - com.atlassian.servicedesk:simplified-general-service-desk-business
            - com.atlassian.servicedesk:simplified-internal-service-desk
            - com.atlassian.servicedesk:simplified-external-service-desk
            - com.atlassian.servicedesk:simplified-hr-service-desk
            - com.atlassian.servicedesk:simplified-facilities-service-desk
            - com.atlassian.servicedesk:simplified-legal-service-desk
            - com.atlassian.servicedesk:simplified-marketing-service-desk
            - com.atlassian.servicedesk:simplified-finance-service-desk
            - com.atlassian.servicedesk:simplified-analytics-service-desk
            - com.atlassian.servicedesk:simplified-design-service-desk
            - com.atlassian.servicedesk:simplified-sales-service-desk
            - com.atlassian.servicedesk:simplified-halp-service-desk
            - com.atlassian.servicedesk:simplified-custom-project-service-desk
            - com.atlassian.jira-core-project-templates:jira-core-simplified-content-management
            - com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval
            - com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking
            - com.atlassian.jira-core-project-templates:jira-core-simplified-process-control
            - com.atlassian.jira-core-project-templates:jira-core-simplified-procurement
            - com.atlassian.jira-core-project-templates:jira-core-simplified-project-management
            - com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment
            - com.atlassian.jira-core-project-templates:jira-core-simplified-task-
          type: string
        projectTypeKey:
          description: The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes), which defines the application-specific feature set. If you don't specify the project template you have to specify the project type.
          enum:
            - software
            - service_desk
            - business
          type: string
        url:
          description: A link to information about this project, such as project documentation
          type: string
        workflowScheme:
          description: The ID of the workflow scheme for the project. Use the [Get all workflow schemes](#api-rest-api-3-workflowscheme-get) operation to get a list of workflow scheme IDs. If you specify the workflow scheme you cannot specify the project template key.
          format: int64
          type: integer
      required:
        - key
        - name
      type: object
    CreateResolutionDetails:
      additionalProperties: true
      description: Details of an issue resolution.
      properties:
        description:
          description: The description of the resolution.
          maxLength: 255
          type: string
          writeOnly: true
        name:
          description: The name of the resolution. Must be unique (case-insensitive).
          maxLength: 60
          type: string
          writeOnly: true
      required:
        - name
      type: object
    CreateUiModificationDetails:
      additionalProperties: false
      description: The details of a UI modification.
      properties:
        contexts:
          description: List of contexts of the UI modification. The maximum number of contexts is 1000.
          items:
            $ref: "#/components/schemas/UiModificationContextDetails"
          type: array
          writeOnly: true
        data:
          description: The data of the UI modification. The maximum size of the data is 50000 characters.
          type: string
          writeOnly: true
        description:
          description: The description of the UI modification. The maximum length is 255 characters.
          type: string
          writeOnly: true
        name:
          description: The name of the UI modification. The maximum length is 255 characters.
          type: string
          writeOnly: true
      required:
        - name
      type: object
    CreateUpdateRoleRequestBean:
      additionalProperties: false
      properties:
        description:
          description: A description of the project role. Required when fully updating a project role. Optional when creating or partially updating a project role.
          type: string
        name:
          description: The name of the project role. Must be unique. Cannot begin or end with whitespace. The maximum length is 255 characters. Required when creating a project role. Optional when partially updating a project role.
          type: string
      type: object
    CreateWorkflowCondition:
      additionalProperties: false
      description: A workflow transition condition.
      properties:
        conditions:
          description: The list of workflow conditions.
          items:
            $ref: "#/components/schemas/CreateWorkflowCondition"
          type: array
        configuration:
          additionalProperties:
            description: EXPERIMENTAL. The configuration of the transition rule.
          description: EXPERIMENTAL. The configuration of the transition rule.
          type: object
        operator:
          description: The compound condition operator.
          enum:
            - AND
            - OR
          type: string
        type:
          description: The type of the transition rule.
          type: string
      type: object
    CreateWorkflowDetails:
      additionalProperties: false
      description: The details of a workflow.
      properties:
        description:
          description: The description of the workflow. The maximum length is 1000 characters.
          type: string
        name:
          description: The name of the workflow. The name must be unique. The maximum length is 255 characters. Characters can be separated by a whitespace but the name cannot start or end with a whitespace.
          type: string
        statuses:
          description: The statuses of the workflow. Any status that does not include a transition is added to the workflow without a transition.
          items:
            $ref: "#/components/schemas/CreateWorkflowStatusDetails"
          type: array
          uniqueItems: true
        transitions:
          description: |-
            The transitions of the workflow. For the request to be valid, these transitions must:

             *  include one *initial* transition.
             *  not use the same name for a *global* and *directed* transition.
             *  have a unique name for each *global* transition.
             *  have a unique 'to' status for each *global* transition.
             *  have unique names for each transition from a status.
             *  not have a 'from' status on *initial* and *global* transitions.
             *  have a 'from' status on *directed* transitions.

            All the transition statuses must be included in `statuses`.
          items:
            $ref: "#/components/schemas/CreateWorkflowTransitionDetails"
          type: array
      required:
        - name
        - statuses
        - transitions
      type: object
      writeOnly: true
    CreateWorkflowStatusDetails:
      additionalProperties: false
      description: The details of a transition status.
      properties:
        id:
          description: The ID of the status.
          type: string
        properties:
          additionalProperties:
            type: string
          description: The properties of the status.
          type: object
      required:
        - id
      type: object
      writeOnly: true
    CreateWorkflowTransitionDetails:
      additionalProperties: false
      description: The details of a workflow transition.
      properties:
        description:
          description: The description of the transition. The maximum length is 1000 characters.
          type: string
        from:
          description: The statuses the transition can start from.
          items:
            type: string
          type: array
        name:
          description: The name of the transition. The maximum length is 60 characters.
          type: string
        properties:
          additionalProperties:
            type: string
          description: The properties of the transition.
          type: object
        rules:
          allOf:
            - $ref: "#/components/schemas/CreateWorkflowTransitionRulesDetails"
          description: The rules of the transition.
        screen:
          allOf:
            - $ref: "#/components/schemas/CreateWorkflowTransitionScreenDetails"
          description: The screen of the transition.
        to:
          description: The status the transition goes to.
          type: string
        type:
          description: The type of the transition.
          enum:
            - global
            - initial
            - directed
          type: string
      required:
        - name
        - to
        - type
      type: object
      writeOnly: true
    CreateWorkflowTransitionRule:
      additionalProperties: false
      description: A workflow transition rule.
      properties:
        configuration:
          additionalProperties:
            description: EXPERIMENTAL. The configuration of the transition rule.
          description: EXPERIMENTAL. The configuration of the transition rule.
          type: object
        type:
          description: The type of the transition rule.
          type: string
      required:
        - type
      type: object
    CreateWorkflowTransitionRulesDetails:
      additionalProperties: false
      description: The details of a workflow transition rules.
      properties:
        conditions:
          allOf:
            - $ref: "#/components/schemas/CreateWorkflowCondition"
          description: The workflow conditions.
        postFunctions:
          description: |-
            The workflow post functions.

            **Note:** The default post functions are always added to the *initial* transition, as in:

                "postFunctions": [
                    {
                        "type": "IssueCreateFunction"
                    },
                    {
                        "type": "IssueReindexFunction"
                    },
                    {
                        "type": "FireIssueEventFunction",
                        "configuration": {
                            "event": {
                                "id": "1",
                                "name": "issue_created"
                            }
                        }
                    }
                ]

            **Note:** The default post functions are always added to the *global* and *directed* transitions, as in:

                "postFunctions": [
                    {
                        "type": "UpdateIssueStatusFunction"
                    },
                    {
                        "type": "CreateCommentFunction"
                    },
                    {
                        "type": "GenerateChangeHistoryFunction"
                    },
                    {
                        "type": "IssueReindexFunction"
                    },
                    {
                        "type": "FireIssueEventFunction",
                        "configuration": {
                            "event": {
                                "id": "13",
                                "name": "issue_generic"
                            }
                        }
                    }
                ]
          items:
            $ref: "#/components/schemas/CreateWorkflowTransitionRule"
          type: array
        validators:
          description: |-
            The workflow validators.

            **Note:** The default permission validator is always added to the *initial* transition, as in:

                "validators": [
                    {
                        "type": "PermissionValidator",
                        "configuration": {
                            "permissionKey": "CREATE_ISSUES"
                        }
                    }
                ]
          items:
            $ref: "#/components/schemas/CreateWorkflowTransitionRule"
          type: array
      type: object
      writeOnly: true
    CreateWorkflowTransitionScreenDetails:
      additionalProperties: false
      description: The details of a transition screen.
      properties:
        id:
          description: The ID of the screen.
          type: string
      required:
        - id
      type: object
      writeOnly: true
    CreatedIssue:
      additionalProperties: false
      description: Details about a created issue or subtask.
      properties:
        id:
          description: The ID of the created issue or subtask.
          readOnly: true
          type: string
        key:
          description: The key of the created issue or subtask.
          readOnly: true
          type: string
        self:
          description: The URL of the created issue or subtask.
          readOnly: true
          type: string
        transition:
          allOf:
            - $ref: "#/components/schemas/NestedResponse"
          description: The response code and messages related to any requested transition.
          readOnly: true
        watchers:
          allOf:
            - $ref: "#/components/schemas/NestedResponse"
          description: The response code and messages related to any requested watchers.
          readOnly: true
      type: object
    CreatedIssues:
      additionalProperties: false
      description: Details about the issues created and the errors for requests that failed.
      properties:
        errors:
          description: Error details for failed issue creation requests.
          items:
            $ref: "#/components/schemas/BulkOperationErrorResult"
          readOnly: true
          type: array
        issues:
          description: Details of the issues created.
          items:
            $ref: "#/components/schemas/CreatedIssue"
          readOnly: true
          type: array
      type: object
    CustomContextVariable:
      additionalProperties: false
      discriminator:
        mapping:
          issue: "#/components/schemas/IssueContextVariable"
          json: "#/components/schemas/JsonContextVariable"
          user: "#/components/schemas/UserContextVariable"
        propertyName: type
      oneOf:
        - $ref: "#/components/schemas/UserContextVariable"
        - $ref: "#/components/schemas/IssueContextVariable"
        - $ref: "#/components/schemas/JsonContextVariable"
      properties:
        type:
          description: Type of custom context variable.
          type: string
      required:
        - type
      type: object
    CustomFieldConfigurations:
      additionalProperties: false
      description: Details of configurations for a custom field.
      properties:
        configurations:
          description: The list of custom field configuration details.
          items:
            $ref: "#/components/schemas/ContextualConfiguration"
          maxItems: 1000
          minItems: 1
          type: array
          uniqueItems: true
      required:
        - configurations
      type: object
      writeOnly: true
    CustomFieldContext:
      additionalProperties: false
      description: The details of a custom field context.
      properties:
        description:
          description: The description of the context.
          type: string
        id:
          description: The ID of the context.
          type: string
        isAnyIssueType:
          description: Whether the context apply to all issue types.
          type: boolean
        isGlobalContext:
          description: Whether the context is global.
          type: boolean
        name:
          description: The name of the context.
          type: string
      required:
        - description
        - id
        - isAnyIssueType
        - isGlobalContext
        - name
      type: object
    CustomFieldContextDefaultValue:
      additionalProperties: false
      discriminator:
        mapping:
          datepicker: "#/components/schemas/CustomFieldContextDefaultValueDate"
          datetimepicker: "#/components/schemas/CustomFieldContextDefaultValueDateTime"
          float: "#/components/schemas/CustomFieldContextDefaultValueFloat"
          forge.datetime: "#/components/schemas/CustomFieldContextDefaultValueForgeDateTimeField"
          forge.group: "#/components/schemas/CustomFieldContextDefaultValueForgeGroupField"
          forge.group.list: "#/components/schemas/CustomFieldContextDefaultValueForgeMultiGroupField"
          forge.number: "#/components/schemas/CustomFieldContextDefaultValueForgeNumberField"
          forge.object: "#/components/schemas/CustomFieldContextDefaultValueForgeObjectField"
          forge.string: "#/components/schemas/CustomFieldContextDefaultValueForgeStringField"
          forge.string.list: "#/components/schemas/CustomFieldContextDefaultValueForgeMultiStringField"
          forge.user: "#/components/schemas/CustomFieldContextDefaultValueForgeUserField"
          forge.user.list: "#/components/schemas/CustomFieldContextDefaultValueForgeMultiUserField"
          grouppicker.multiple: "#/components/schemas/CustomFieldContextDefaultValueMultipleGroupPicker"
          grouppicker.single: "#/components/schemas/CustomFieldContextDefaultValueSingleGroupPicker"
          labels: "#/components/schemas/CustomFieldContextDefaultValueLabels"
          multi.user.select: "#/components/schemas/CustomFieldContextDefaultValueMultiUserPicker"
          option.cascading: "#/components/schemas/CustomFieldContextDefaultValueCascadingOption"
          option.multiple: "#/components/schemas/CustomFieldContextDefaultValueMultipleOption"
          option.single: "#/components/schemas/CustomFieldContextDefaultValueSingleOption"
          project: "#/components/schemas/CustomFieldContextDefaultValueProject"
          readonly: "#/components/schemas/CustomFieldContextDefaultValueReadOnly"
          single.user.select: "#/components/schemas/CustomFieldContextSingleUserPickerDefaults"
          textarea: "#/components/schemas/CustomFieldContextDefaultValueTextArea"
          textfield: "#/components/schemas/CustomFieldContextDefaultValueTextField"
          url: "#/components/schemas/CustomFieldContextDefaultValueURL"
          version.multiple: "#/components/schemas/CustomFieldContextDefaultValueMultipleVersionPicker"
          version.single: "#/components/schemas/CustomFieldContextDefaultValueSingleVersionPicker"
        propertyName: type
      oneOf:
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueCascadingOption"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueMultipleOption"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueSingleOption"
        - $ref: "#/components/schemas/CustomFieldContextSingleUserPickerDefaults"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueMultiUserPicker"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueSingleGroupPicker"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueMultipleGroupPicker"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueDate"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueDateTime"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueURL"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueProject"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueFloat"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueLabels"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueTextField"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueTextArea"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueReadOnly"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueSingleVersionPicker"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueMultipleVersionPicker"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueForgeStringField"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueForgeMultiStringField"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueForgeObjectField"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueForgeDateTimeField"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueForgeGroupField"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueForgeMultiGroupField"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueForgeNumberField"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueForgeUserField"
        - $ref: "#/components/schemas/CustomFieldContextDefaultValueForgeMultiUserField"
      type: object
    CustomFieldContextDefaultValueCascadingOption:
      description: The default value for a cascading select custom field.
      properties:
        cascadingOptionId:
          description: The ID of the default cascading option.
          type: string
        contextId:
          description: The ID of the context.
          type: string
        optionId:
          description: The ID of the default option.
          type: string
        type:
          type: string
      required:
        - contextId
        - optionId
        - type
      type: object
    CustomFieldContextDefaultValueDate:
      description: The default value for a Date custom field.
      properties:
        date:
          description: The default date in ISO format. Ignored if `useCurrent` is true.
          type: string
        type:
          type: string
        useCurrent:
          default: false
          description: Whether to use the current date.
          type: boolean
      required:
        - type
      type: object
    CustomFieldContextDefaultValueDateTime:
      description: The default value for a date time custom field.
      properties:
        dateTime:
          description: The default date-time in ISO format. Ignored if `useCurrent` is true.
          type: string
        type:
          type: string
        useCurrent:
          default: false
          description: Whether to use the current date.
          type: boolean
      required:
        - type
      type: object
    CustomFieldContextDefaultValueFloat:
      description: Default value for a float (number) custom field.
      properties:
        number:
          description: The default floating-point number.
          format: double
          type: number
        type:
          type: string
      required:
        - number
        - type
      type: object
    CustomFieldContextDefaultValueForgeDateTimeField:
      description: The default value for a Forge date time custom field.
      properties:
        contextId:
          description: The ID of the context.
          type: string
        dateTime:
          description: The default date-time in ISO format. Ignored if `useCurrent` is true.
          type: string
        type:
          type: string
        useCurrent:
          default: false
          description: Whether to use the current date.
          type: boolean
      required:
        - contextId
        - type
      type: object
    CustomFieldContextDefaultValueForgeGroupField:
      description: The default value for a Forge group custom field.
      properties:
        contextId:
          description: The ID of the context.
          type: string
        groupId:
          description: The ID of the the default group.
          type: string
        type:
          type: string
      required:
        - contextId
        - groupId
        - type
      type: object
    CustomFieldContextDefaultValueForgeMultiGroupField:
      description: The default value for a Forge collection of groups custom field.
      properties:
        contextId:
          description: The ID of the context.
          type: string
        groupIds:
          description: The IDs of the default groups.
          items:
            description: The IDs of the default groups.
            type: string
          type: array
          uniqueItems: true
        type:
          type: string
      required:
        - contextId
        - groupIds
        - type
      type: object
    CustomFieldContextDefaultValueForgeMultiStringField:
      description: The default text for a Forge collection of strings custom field.
      properties:
        type:
          type: string
        values:
          description: List of string values. The maximum length for a value is 254 characters.
          items:
            description: List of string values. The maximum length for a value is 254 characters.
            type: string
          type: array
      required:
        - type
      type: object
    CustomFieldContextDefaultValueForgeMultiUserField:
      description: Defaults for a Forge collection of users custom field.
      properties:
        accountIds:
          description: The IDs of the default users.
          items:
            description: The IDs of the default users.
            type: string
          type: array
        contextId:
          description: The ID of the context.
          type: string
        type:
          type: string
      required:
        - accountIds
        - contextId
        - type
      type: object
    CustomFieldContextDefaultValueForgeNumberField:
      description: Default value for a Forge number custom field.
      properties:
        contextId:
          description: The ID of the context.
          type: string
        number:
          description: The default floating-point number.
          format: double
          type: number
        type:
          type: string
      required:
        - contextId
        - number
        - type
      type: object
    CustomFieldContextDefaultValueForgeObjectField:
      description: The default value for a Forge object custom field.
      properties:
        object:
          description: The default JSON object.
          type: object
        type:
          type: string
      required:
        - type
      type: object
    CustomFieldContextDefaultValueForgeStringField:
      description: The default text for a Forge string custom field.
      properties:
        contextId:
          description: The ID of the context.
          type: string
        text:
          description: The default text. The maximum length is 254 characters.
          type: string
        type:
          type: string
      required:
        - contextId
        - type
      type: object
    CustomFieldContextDefaultValueForgeUserField:
      description: Defaults for a Forge user custom field.
      properties:
        accountId:
          description: The ID of the default user.
          type: string
        contextId:
          description: The ID of the context.
          type: string
        type:
          type: string
        userFilter:
          $ref: "#/components/schemas/UserFilter"
      required:
        - accountId
        - contextId
        - type
        - userFilter
      type: object
    CustomFieldContextDefaultValueLabels:
      description: Default value for a labels custom field.
      properties:
        labels:
          description: The default labels value.
          items:
            description: The default labels value.
            type: string
          type: array
        type:
          type: string
      required:
        - labels
        - type
      type: object
    CustomFieldContextDefaultValueMultiUserPicker:
      description: The default value for a User Picker (multiple) custom field.
      properties:
        accountIds:
          description: The IDs of the default users.
          items:
            description: The IDs of the default users.
            type: string
          type: array
        contextId:
          description: The ID of the context.
          type: string
        type:
          type: string
      required:
        - accountIds
        - contextId
        - type
      type: object
    CustomFieldContextDefaultValueMultipleGroupPicker:
      description: The default value for a multiple group picker custom field.
      properties:
        contextId:
          description: The ID of the context.
          type: string
        groupIds:
          description: The IDs of the default groups.
          items:
            description: The IDs of the default groups.
            type: string
          type: array
          uniqueItems: true
        type:
          type: string
      required:
        - contextId
        - groupIds
        - type
      type: object
    CustomFieldContextDefaultValueMultipleOption:
      description: The default value for a multi-select custom field.
      properties:
        contextId:
          description: The ID of the context.
          type: string
        optionIds:
          description: The list of IDs of the default options.
          items:
            description: The list of IDs of the default options.
            type: string
          type: array
        type:
          type: string
      required:
        - contextId
        - optionIds
        - type
      type: object
    CustomFieldContextDefaultValueMultipleVersionPicker:
      description: The default value for a multiple version picker custom field.
      properties:
        type:
          type: string
        versionIds:
          description: The IDs of the default versions.
          items:
            description: The IDs of the default versions.
            type: string
          type: array
          uniqueItems: true
        versionOrder:
          description: The order the pickable versions are displayed in. If not provided, the released-first order is used. Available version orders are `"releasedFirst"` and `"unreleasedFirst"`.
          type: string
      required:
        - type
        - versionIds
      type: object
    CustomFieldContextDefaultValueProject:
      description: The default value for a project custom field.
      properties:
        contextId:
          description: The ID of the context.
          type: string
        projectId:
          description: The ID of the default project.
          type: string
        type:
          type: string
      required:
        - contextId
        - projectId
        - type
      type: object
    CustomFieldContextDefaultValueReadOnly:
      description: The default text for a read only custom field.
      properties:
        text:
          description: The default text. The maximum length is 255 characters.
          type: string
        type:
          type: string
      required:
        - type
      type: object
    CustomFieldContextDefaultValueSingleGroupPicker:
      description: The default value for a group picker custom field.
      properties:
        contextId:
          description: The ID of the context.
          type: string
        groupId:
          description: The ID of the the default group.
          type: string
        type:
          type: string
      required:
        - contextId
        - groupId
        - type
      type: object
    CustomFieldContextDefaultValueSingleOption:
      description: The default value for a single select custom field.
      properties:
        contextId:
          description: The ID of the context.
          type: string
        optionId:
          description: The ID of the default option.
          type: string
        type:
          type: string
      required:
        - contextId
        - optionId
        - type
      type: object
    CustomFieldContextDefaultValueSingleVersionPicker:
      description: The default value for a version picker custom field.
      properties:
        type:
          type: string
        versionId:
          description: The ID of the default version.
          type: string
        versionOrder:
          description: The order the pickable versions are displayed in. If not provided, the released-first order is used. Available version orders are `"releasedFirst"` and `"unreleasedFirst"`.
          type: string
      required:
        - type
        - versionId
      type: object
    CustomFieldContextDefaultValueTextArea:
      description: The default text for a text area custom field.
      properties:
        text:
          description: The default text. The maximum length is 32767 characters.
          type: string
        type:
          type: string
      required:
        - type
      type: object
    CustomFieldContextDefaultValueTextField:
      description: The default text for a text custom field.
      properties:
        text:
          description: The default text. The maximum length is 254 characters.
          type: string
        type:
          type: string
      required:
        - type
      type: object
    CustomFieldContextDefaultValueURL:
      description: The default value for a URL custom field.
      properties:
        contextId:
          description: The ID of the context.
          type: string
        type:
          type: string
        url:
          description: The default URL.
          type: string
      required:
        - contextId
        - type
        - url
      type: object
    CustomFieldContextDefaultValueUpdate:
      additionalProperties: false
      description: Default values to update.
      properties:
        defaultValues:
          items:
            $ref: "#/components/schemas/CustomFieldContextDefaultValue"
          type: array
      type: object
    CustomFieldContextOption:
      additionalProperties: false
      description: Details of the custom field options for a context.
      properties:
        disabled:
          description: Whether the option is disabled.
          type: boolean
        id:
          description: The ID of the custom field option.
          type: string
        optionId:
          description: For cascading options, the ID of the custom field option containing the cascading option.
          type: string
        value:
          description: The value of the custom field option.
          type: string
      required:
        - disabled
        - id
        - value
      type: object
    CustomFieldContextProjectMapping:
      additionalProperties: false
      description: Details of a context to project association.
      properties:
        contextId:
          description: The ID of the context.
          readOnly: true
          type: string
        isGlobalContext:
          description: Whether context is global.
          readOnly: true
          type: boolean
        projectId:
          description: The ID of the project.
          readOnly: true
          type: string
      required:
        - contextId
      type: object
    CustomFieldContextSingleUserPickerDefaults:
      description: Defaults for a User Picker (single) custom field.
      properties:
        accountId:
          description: The ID of the default user.
          type: string
        contextId:
          description: The ID of the context.
          type: string
        type:
          type: string
        userFilter:
          $ref: "#/components/schemas/UserFilter"
      required:
        - accountId
        - contextId
        - type
        - userFilter
      type: object
    CustomFieldContextUpdateDetails:
      additionalProperties: false
      description: Details of a custom field context.
      properties:
        description:
          description: The description of the custom field context. The maximum length is 255 characters.
          type: string
          writeOnly: true
        name:
          description: The name of the custom field context. The name must be unique. The maximum length is 255 characters.
          type: string
          writeOnly: true
      type: object
    CustomFieldCreatedContextOptionsList:
      additionalProperties: false
      description: A list of custom field options for a context.
      properties:
        options:
          description: The created custom field options.
          items:
            $ref: "#/components/schemas/CustomFieldContextOption"
          type: array
      type: object
    CustomFieldDefinitionJsonBean:
      additionalProperties: false
      properties:
        description:
          description: The description of the custom field, which is displayed in Jira.
          type: string
        name:
          description: The name of the custom field, which is displayed in Jira. This is not the unique identifier.
          type: string
        searcherKey:
          description: |-
            The searcher defines the way the field is searched in Jira. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher*.  
            The search UI (basic search and JQL search) will display different operations and values for the field, based on the field searcher. You must specify a searcher that is valid for the field type, as listed below (abbreviated values shown):

             *  `cascadingselect`: `cascadingselectsearcher`
             *  `datepicker`: `daterange`
             *  `datetime`: `datetimerange`
             *  `float`: `exactnumber` or `numberrange`
             *  `grouppicker`: `grouppickersearcher`
             *  `importid`: `exactnumber` or `numberrange`
             *  `labels`: `labelsearcher`
             *  `multicheckboxes`: `multiselectsearcher`
             *  `multigrouppicker`: `multiselectsearcher`
             *  `multiselect`: `multiselectsearcher`
             *  `multiuserpicker`: `userpickergroupsearcher`
             *  `multiversion`: `versionsearcher`
             *  `project`: `projectsearcher`
             *  `radiobuttons`: `multiselectsearcher`
             *  `readonlyfield`: `textsearcher`
             *  `select`: `multiselectsearcher`
             *  `textarea`: `textsearcher`
             *  `textfield`: `textsearcher`
             *  `url`: `exacttextsearcher`
             *  `userpicker`: `userpickergroupsearcher`
             *  `version`: `versionsearcher`

            If no searcher is provided, the field isn't searchable. However, [Forge custom fields](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#jira-custom-field-type--beta-) have a searcher set automatically, so are always searchable.
          enum:
            - com.atlassian.jira.plugin.system.customfieldtypes:cascadingselectsearcher
            - com.atlassian.jira.plugin.system.customfieldtypes:daterange
            - com.atlassian.jira.plugin.system.customfieldtypes:datetimerange
            - com.atlassian.jira.plugin.system.customfieldtypes:exactnumber
            - com.atlassian.jira.plugin.system.customfieldtypes:exacttextsearcher
            - com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher
            - com.atlassian.jira.plugin.system.customfieldtypes:labelsearcher
            - com.atlassian.jira.plugin.system.customfieldtypes:multiselectsearcher
            - com.atlassian.jira.plugin.system.customfieldtypes:numberrange
            - com.atlassian.jira.plugin.system.customfieldtypes:projectsearcher
            - com.atlassian.jira.plugin.system.customfieldtypes:textsearcher
            - com.atlassian.jira.plugin.system.customfieldtypes:userpickergroupsearcher
            - com.atlassian.jira.plugin.system.customfieldtypes:versionsearcher
          type: string
        type:
          description: |-
            The type of the custom field. These built-in custom field types are available:

             *  `cascadingselect`: Enables values to be selected from two levels of select lists (value: `com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect`)
             *  `datepicker`: Stores a date using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:datepicker`)
             *  `datetime`: Stores a date with a time component (value: `com.atlassian.jira.plugin.system.customfieldtypes:datetime`)
             *  `float`: Stores and validates a numeric (floating point) input (value: `com.atlassian.jira.plugin.system.customfieldtypes:float`)
             *  `grouppicker`: Stores a user group using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:grouppicker`)
             *  `importid`: A read-only field that stores the ID the issue had in the system it was imported from (value: `com.atlassian.jira.plugin.system.customfieldtypes:importid`)
             *  `labels`: Stores labels (value: `com.atlassian.jira.plugin.system.customfieldtypes:labels`)
             *  `multicheckboxes`: Stores multiple values using checkboxes (value: ``)
             *  `multigrouppicker`: Stores multiple user groups using a picker control (value: ``)
             *  `multiselect`: Stores multiple values using a select list (value: `com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes`)
             *  `multiuserpicker`: Stores multiple users using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:multigrouppicker`)
             *  `multiversion`: Stores multiple versions from the versions available in a project using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:multiversion`)
             *  `project`: Stores a project from a list of projects that the user is permitted to view (value: `com.atlassian.jira.plugin.system.customfieldtypes:project`)
             *  `radiobuttons`: Stores a value using radio buttons (value: `com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons`)
             *  `readonlyfield`: Stores a read-only text value, which can only be populated via the API (value: `com.atlassian.jira.plugin.system.customfieldtypes:readonlyfield`)
             *  `select`: Stores a value from a configurable list of options (value: `com.atlassian.jira.plugin.system.customfieldtypes:select`)
             *  `textarea`: Stores a long text string using a multiline text area (value: `com.atlassian.jira.plugin.system.customfieldtypes:textarea`)
             *  `textfield`: Stores a text string using a single-line text box (value: `com.atlassian.jira.plugin.system.customfieldtypes:textfield`)
             *  `url`: Stores a URL (value: `com.atlassian.jira.plugin.system.customfieldtypes:url`)
             *  `userpicker`: Stores a user using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:userpicker`)
             *  `version`: Stores a version using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:version`)

            To create a field based on a [Forge custom field type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#jira-custom-field-type--beta-), use the ID of the Forge custom field type as the value. For example, `ari:cloud:ecosystem::extension/e62f20a2-4b61-4dbe-bfb9-9a88b5e3ac84/548c5df1-24aa-4f7c-bbbb-3038d947cb05/static/my-cf-type-key`.
          type: string
      required:
        - name
        - type
      type: object
    CustomFieldOption:
      additionalProperties: false
      description: Details of a custom option for a field.
      properties:
        self:
          description: The URL of these custom field option details.
          format: uri
          readOnly: true
          type: string
        value:
          description: The value of the custom field option.
          readOnly: true
          type: string
      type: object
      xml:
        name: customFieldOption
    CustomFieldOptionCreate:
      additionalProperties: false
      description: Details of a custom field option to create.
      properties:
        disabled:
          description: Whether the option is disabled.
          type: boolean
        optionId:
          description: For cascading options, the ID of the custom field object containing the cascading option.
          type: string
        value:
          description: The value of the custom field option.
          type: string
      required:
        - value
      type: object
    CustomFieldOptionUpdate:
      additionalProperties: false
      description: Details of a custom field option for a context.
      properties:
        disabled:
          description: Whether the option is disabled.
          type: boolean
        id:
          description: The ID of the custom field option.
          type: string
        value:
          description: The value of the custom field option.
          type: string
      required:
        - id
      type: object
    CustomFieldReplacement:
      additionalProperties: false
      description: Details about the replacement for a deleted version.
      properties:
        customFieldId:
          description: The ID of the custom field in which to replace the version number.
          format: int64
          type: integer
        moveTo:
          description: The version number to use as a replacement for the deleted version.
          format: int64
          type: integer
      type: object
    CustomFieldUpdatedContextOptionsList:
      additionalProperties: false
      description: A list of custom field options for a context.
      properties:
        options:
          description: The updated custom field options.
          items:
            $ref: "#/components/schemas/CustomFieldOptionUpdate"
          type: array
      type: object
    CustomFieldValueUpdate:
      additionalProperties: false
      description: A list of issue IDs and the value to update a custom field to.
      properties:
        issueIds:
          description: The list of issue IDs.
          items:
            format: int64
            type: integer
            writeOnly: true
          type: array
          writeOnly: true
        value:
          description: |-
            The value for the custom field. The value must be compatible with the [custom field type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/#data-types) as follows:

             *  `string` the value must be a string.
             *  `number` the value must be a number.
             *  `datetime` the value must be a string that represents a date in the ISO format or the simplified extended ISO format. For example, `"2023-01-18T12:00:00-03:00"` or `"2023-01-18T12:00:00.000Z"`. However, the milliseconds part is ignored.
             *  `user` the value must be an object that contains the `accountId` field.
             *  `group` the value must be an object that contains the group `name` or `groupId` field. Because group names can change, we recommend using `groupId`.

            A list of appropriate values must be provided if the field is of the `list` [collection type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/#collection-types).
      required:
        - issueIds
        - value
      type: object
      writeOnly: true
    CustomFieldValueUpdateDetails:
      additionalProperties: false
      description: Details of updates for a custom field.
      properties:
        updates:
          description: The list of custom field update details.
          items:
            $ref: "#/components/schemas/CustomFieldValueUpdate"
          type: array
      type: object
      writeOnly: true
    Dashboard:
      additionalProperties: false
      description: Details of a dashboard.
      properties:
        automaticRefreshMs:
          description: The automatic refresh interval for the dashboard in milliseconds.
          format: int32
          readOnly: true
          type: integer
        description:
          type: string
        editPermissions:
          description: The details of any edit share permissions for the dashboard.
          items:
            $ref: "#/components/schemas/SharePermission"
          readOnly: true
          type: array
        id:
          description: The ID of the dashboard.
          readOnly: true
          type: string
        isFavourite:
          description: Whether the dashboard is selected as a favorite by the user.
          readOnly: true
          type: boolean
        isWritable:
          description: Whether the current user has permission to edit the dashboard.
          readOnly: true
          type: boolean
        name:
          description: The name of the dashboard.
          readOnly: true
          type: string
        owner:
          allOf:
            - $ref: "#/components/schemas/UserBean"
          description: The owner of the dashboard.
          readOnly: true
        popularity:
          description: The number of users who have this dashboard as a favorite.
          format: int64
          readOnly: true
          type: integer
        rank:
          description: The rank of this dashboard.
          format: int32
          readOnly: true
          type: integer
        self:
          description: The URL of these dashboard details.
          format: uri
          readOnly: true
          type: string
        sharePermissions:
          description: The details of any view share permissions for the dashboard.
          items:
            $ref: "#/components/schemas/SharePermission"
          readOnly: true
          type: array
        systemDashboard:
          description: Whether the current dashboard is system dashboard.
          readOnly: true
          type: boolean
        view:
          description: The URL of the dashboard.
          readOnly: true
          type: string
      type: object
    DashboardDetails:
      additionalProperties: false
      description: Details of a dashboard.
      properties:
        description:
          description: The description of the dashboard.
          type: string
        editPermissions:
          description: The edit permissions for the dashboard.
          items:
            $ref: "#/components/schemas/SharePermission"
          type: array
        name:
          description: The name of the dashboard.
          type: string
        sharePermissions:
          description: The share permissions for the dashboard.
          items:
            $ref: "#/components/schemas/SharePermission"
          type: array
      required:
        - editPermissions
        - name
        - sharePermissions
      type: object
    DashboardGadget:
      additionalProperties: false
      description: Details of a gadget.
      properties:
        color:
          description: The color of the gadget. Should be one of `blue`, `red`, `yellow`, `green`, `cyan`, `purple`, `gray`, or `white`.
          enum:
            - blue
            - red
            - yellow
            - green
            - cyan
            - purple
            - gray
            - white
          readOnly: true
          type: string
        id:
          description: The ID of the gadget instance.
          format: int64
          readOnly: true
          type: integer
        moduleKey:
          description: The module key of the gadget type.
          readOnly: true
          type: string
        position:
          allOf:
            - $ref: "#/components/schemas/DashboardGadgetPosition"
          description: The position of the gadget.
          readOnly: true
        title:
          description: The title of the gadget.
          readOnly: true
          type: string
        uri:
          description: The URI of the gadget type.
          readOnly: true
          type: string
      required:
        - color
        - id
        - position
        - title
      type: object
    DashboardGadgetPosition:
      additionalProperties: false
      description: Details of a gadget position.
      properties:
        The column position of the gadget.:
          format: int32
          type: integer
        The row position of the gadget.:
          format: int32
          type: integer
      required:
        - The column position of the gadget.
        - The row position of the gadget.
      type: object
      writeOnly: true
    DashboardGadgetResponse:
      additionalProperties: false
      description: The list of gadgets on the dashboard.
      properties:
        gadgets:
          description: The list of gadgets.
          items:
            $ref: "#/components/schemas/DashboardGadget"
          readOnly: true
          type: array
      required:
        - gadgets
      type: object
    DashboardGadgetSettings:
      additionalProperties: false
      description: Details of the settings for a dashboard gadget.
      properties:
        color:
          description: The color of the gadget. Should be one of `blue`, `red`, `yellow`, `green`, `cyan`, `purple`, `gray`, or `white`.
          type: string
          writeOnly: true
        ignoreUriAndModuleKeyValidation:
          description: Whether to ignore the validation of module key and URI. For example, when a gadget is created that is a part of an application that isn't installed.
          type: boolean
          writeOnly: true
        moduleKey:
          description: The module key of the gadget type. Can't be provided with `uri`.
          type: string
          writeOnly: true
        position:
          allOf:
            - $ref: "#/components/schemas/DashboardGadgetPosition"
          description: The position of the gadget. When the gadget is placed into the position, other gadgets in the same column are moved down to accommodate it.
        title:
          description: The title of the gadget.
          type: string
          writeOnly: true
        uri:
          description: The URI of the gadget type. Can't be provided with `moduleKey`.
          type: string
          writeOnly: true
      type: object
    DashboardGadgetUpdateRequest:
      additionalProperties: false
      description: The details of the gadget to update.
      properties:
        color:
          description: The color of the gadget. Should be one of `blue`, `red`, `yellow`, `green`, `cyan`, `purple`, `gray`, or `white`.
          type: string
          writeOnly: true
        position:
          allOf:
            - $ref: "#/components/schemas/DashboardGadgetPosition"
          description: The position of the gadget.
        title:
          description: The title of the gadget.
          type: string
          writeOnly: true
      type: object
    DefaultLevelValue:
      additionalProperties: true
      description: Details of scheme and new default level.
      maxLength: 1000
      properties:
        defaultLevelId:
          description: The ID of the issue security level to set as default for the specified scheme. Providing null will reset the default level.
          type: string
          writeOnly: true
        issueSecuritySchemeId:
          description: The ID of the issue security scheme to set default level for.
          type: string
          writeOnly: true
      required:
        - defaultLevelId
        - issueSecuritySchemeId
      type: object
      writeOnly: true
    DefaultShareScope:
      additionalProperties: false
      description: Details of the scope of the default sharing for new filters and dashboards.
      properties:
        scope:
          description: |-
            The scope of the default sharing for new filters and dashboards:

             *  `AUTHENTICATED` Shared with all logged-in users.
             *  `GLOBAL` Shared with all logged-in users. This shows as `AUTHENTICATED` in the response.
             *  `PRIVATE` Not shared with any users.
          enum:
            - GLOBAL
            - AUTHENTICATED
            - PRIVATE
          type: string
      required:
        - scope
      type: object
      xml:
        name: defaultShareScope
    DefaultWorkflow:
      additionalProperties: false
      description: Details about the default workflow.
      properties:
        updateDraftIfNeeded:
          description: Whether a draft workflow scheme is created or updated when updating an active workflow scheme. The draft is updated with the new default workflow. Defaults to `false`.
          type: boolean
        workflow:
          description: The name of the workflow to set as the default workflow.
          type: string
      required:
        - workflow
      type: object
    DeleteAndReplaceVersionBean:
      additionalProperties: false
      properties:
        customFieldReplacementList:
          description: An array of custom field IDs (`customFieldId`) and version IDs (`moveTo`) to update when the fields contain the deleted version.
          items:
            $ref: "#/components/schemas/CustomFieldReplacement"
          type: array
        moveAffectedIssuesTo:
          description: The ID of the version to update `affectedVersion` to when the field contains the deleted version.
          format: int64
          type: integer
        moveFixIssuesTo:
          description: The ID of the version to update `fixVersion` to when the field contains the deleted version.
          format: int64
          type: integer
      type: object
    DeprecatedWorkflow:
      additionalProperties: false
      description: Details about a workflow.
      properties:
        default:
          type: boolean
        description:
          description: The description of the workflow.
          readOnly: true
          type: string
        lastModifiedDate:
          description: The datetime the workflow was last modified.
          readOnly: true
          type: string
        lastModifiedUser:
          description: This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
          readOnly: true
          type: string
        lastModifiedUserAccountId:
          description: The account ID of the user that last modified the workflow.
          readOnly: true
          type: string
        name:
          description: The name of the workflow.
          readOnly: true
          type: string
        scope:
          allOf:
            - $ref: "#/components/schemas/Scope"
          description: The scope where this workflow applies
          readOnly: true
        steps:
          description: The number of steps included in the workflow.
          format: int32
          readOnly: true
          type: integer
      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
    EntityPropertyDetails:
      properties:
        entityId:
          description: The entity property ID.
          example: 123
          type: number
        key:
          description: The entity property key.
          example: mykey
          type: string
        value:
          description: The new value of the entity property.
          example: newValue
          type: string
      required:
        - entityId
        - key
        - value
      type: object
    ErrorCollection:
      additionalProperties: false
      description: Error messages from an operation.
      properties:
        errorMessages:
          description: The list of error messages produced by this operation. For example, "input parameter 'key' must be provided"
          items:
            type: string
          type: array
        errors:
          additionalProperties:
            type: string
          description: 'The list of errors by parameter returned by the operation. For example,"projectKey": "Project keys must start with an uppercase letter, followed by one or more uppercase alphanumeric characters."'
          type: object
        status:
          format: int32
          type: integer
      type: object
    ErrorMessage:
      additionalProperties: false
      example:
        message: The request is not from a Connect app.
      properties:
        message:
          description: The error message.
          type: string
      required:
        - message
      type: object
    EventNotification:
      additionalProperties: false
      description: Details about a notification associated with an event.
      properties:
        emailAddress:
          description: The email address.
          type: string
        expand:
          description: Expand options that include additional event notification details in the response.
          type: string
        field:
          allOf:
            - $ref: "#/components/schemas/FieldDetails"
          description: The custom user or group field.
        group:
          allOf:
            - $ref: "#/components/schemas/GroupName"
          description: The specified group.
        id:
          description: The ID of the notification.
          format: int64
          type: integer
        notificationType:
          description: Identifies the recipients of the notification.
          enum:
            - CurrentAssignee
            - Reporter
            - CurrentUser
            - ProjectLead
            - ComponentLead
            - User
            - Group
            - ProjectRole
            - EmailAddress
            - AllWatchers
            - UserCustomField
            - GroupCustomField
          type: string
        parameter:
          description: |-
            As a group's name can change, use of `recipient` is recommended. The identifier associated with the `notificationType` value that defines the receiver of the notification, where the receiver isn't implied by `notificationType` value. So, when `notificationType` is:

             *  `User` The `parameter` is the user account ID.
             *  `Group` The `parameter` is the group name.
             *  `ProjectRole` The `parameter` is the project role ID.
             *  `UserCustomField` The `parameter` is the ID of the custom field.
             *  `GroupCustomField` The `parameter` is the ID of the custom field.
          type: string
        projectRole:
          allOf:
            - $ref: "#/components/schemas/ProjectRole"
          description: The specified project role.
        recipient:
          description: |-
            The identifier associated with the `notificationType` value that defines the receiver of the notification, where the receiver isn't implied by the `notificationType` value. So, when `notificationType` is:

             *  `User`, `recipient` is the user account ID.
             *  `Group`, `recipient` is the group ID.
             *  `ProjectRole`, `recipient` is the project role ID.
             *  `UserCustomField`, `recipient` is the ID of the custom field.
             *  `GroupCustomField`, `recipient` is the ID of the custom field.
          type: string
        user:
          allOf:
            - $ref: "#/components/schemas/UserDetails"
          description: The specified user.
      type: object
    FailedWebhook:
      additionalProperties: false
      description: Details about a failed webhook.
      properties:
        body:
          description: The webhook body.
          type: string
        failureTime:
          description: The time the webhook was added to the list of failed webhooks (that is, the time of the last failed retry).
          format: int64
          type: integer
        id:
          description: The webhook ID, as sent in the `X-Atlassian-Webhook-Identifier` header with the webhook.
          type: string
        url:
          description: The original webhook destination.
          type: string
      required:
        - failureTime
        - id
        - url
      type: object
    FailedWebhooks:
      additionalProperties: false
      description: A page of failed webhooks.
      properties:
        maxResults:
          description: The maximum number of items on the page. If the list of values is shorter than this number, then there are no more pages.
          format: int32
          type: integer
        next:
          description: The URL to the next page of results. Present only if the request returned at least one result.The next page may be empty at the time of receiving the response, but new failed webhooks may appear in time. You can save the URL to the next page and query for new results periodically (for example, every hour).
          format: uri
          type: string
        values:
          description: The list of webhooks.
          items:
            $ref: "#/components/schemas/FailedWebhook"
          type: array
      required:
        - maxResults
        - values
      type: object
    Field:
      additionalProperties: false
      description: Details of a field.
      properties:
        contextsCount:
          description: Number of contexts where the field is used.
          format: int64
          type: integer
        description:
          description: The description of the field.
          type: string
        id:
          description: The ID of the field.
          type: string
        isLocked:
          description: Whether the field is locked.
          type: boolean
        isUnscreenable:
          description: Whether the field is shown on screen or not.
          type: boolean
        key:
          description: The key of the field.
          type: string
        lastUsed:
          $ref: "#/components/schemas/FieldLastUsed"
        name:
          description: The name of the field.
          type: string
        projectsCount:
          description: Number of projects where the field is used.
          format: int64
          type: integer
        schema:
          $ref: "#/components/schemas/JsonTypeBean"
        screensCount:
          description: Number of screens where the field is used.
          format: int64
          type: integer
        searcherKey:
          description: The searcher key of the field. Returned for custom fields.
          type: string
      required:
        - id
        - name
        - schema
      type: object
    FieldChangedClause:
      description: A clause that asserts whether a field was changed. For example, `status CHANGED AFTER startOfMonth(-1M)`.See [CHANGED](https://confluence.atlassian.com/x/dgiiLQ#Advancedsearching-operatorsreference-CHANGEDCHANGED) for more information about the CHANGED operator.
      properties:
        field:
          $ref: "#/components/schemas/JqlQueryField"
        operator:
          description: The operator applied to the field.
          enum:
            - changed
          type: string
        predicates:
          description: The list of time predicates.
          items:
            $ref: "#/components/schemas/JqlQueryClauseTimePredicate"
          type: array
      required:
        - field
        - operator
        - predicates
      type: object
    FieldConfiguration:
      additionalProperties: false
      description: Details of a field configuration.
      properties:
        description:
          description: The description of the field configuration.
          type: string
        id:
          description: The ID of the field configuration.
          format: int64
          type: integer
        isDefault:
          description: Whether the field configuration is the default.
          type: boolean
        name:
          description: The name of the field configuration.
          type: string
      required:
        - description
        - id
        - name
      type: object
    FieldConfigurationDetails:
      additionalProperties: false
      description: Details of a field configuration.
      properties:
        description:
          description: The description of the field configuration.
          maxLength: 255
          type: string
          writeOnly: true
        name:
          description: The name of the field configuration. Must be unique.
          maxLength: 255
          type: string
          writeOnly: true
      required:
        - name
      type: object
    FieldConfigurationIssueTypeItem:
      additionalProperties: false
      description: The field configuration for an issue type.
      properties:
        fieldConfigurationId:
          description: The ID of the field configuration.
          type: string
        fieldConfigurationSchemeId:
          description: The ID of the field configuration scheme.
          type: string
        issueTypeId:
          description: The ID of the issue type or *default*. When set to *default* this field configuration issue type item applies to all issue types without a field configuration.
          type: string
      required:
        - fieldConfigurationId
        - fieldConfigurationSchemeId
        - issueTypeId
      type: object
    FieldConfigurationItem:
      additionalProperties: false
      description: A field within a field configuration.
      properties:
        description:
          description: The description of the field within the field configuration.
          type: string
        id:
          description: The ID of the field within the field configuration.
          type: string
        isHidden:
          description: Whether the field is hidden in the field configuration.
          type: boolean
        isRequired:
          description: Whether the field is required in the field configuration.
          type: boolean
        renderer:
          description: The renderer type for the field within the field configuration.
          type: string
      required:
        - id
      type: object
    FieldConfigurationItemsDetails:
      additionalProperties: false
      description: Details of field configuration items.
      properties:
        fieldConfigurationItems:
          description: Details of fields in a field configuration.
          items:
            $ref: "#/components/schemas/FieldConfigurationItem"
          type: array
          writeOnly: true
      required:
        - fieldConfigurationItems
      type: object
    FieldConfigurationScheme:
      additionalProperties: false
      description: Details of a field configuration scheme.
      properties:
        description:
          description: The description of the field configuration scheme.
          type: string
        id:
          description: The ID of the field configuration scheme.
          type: string
        name:
          description: The name of the field configuration scheme.
          type: string
      required:
        - id
        - name
      type: object
    FieldConfigurationSchemeProjectAssociation:
      additionalProperties: false
      description: Associated field configuration scheme and project.
      properties:
        fieldConfigurationSchemeId:
          description: The ID of the field configuration scheme. If the field configuration scheme ID is `null`, the operation assigns the default field configuration scheme.
          type: string
          writeOnly: true
        projectId:
          description: The ID of the project.
          type: string
          writeOnly: true
      required:
        - projectId
      type: object
    FieldConfigurationSchemeProjects:
      additionalProperties: false
      description: Project list with assigned field configuration schema.
      properties:
        fieldConfigurationScheme:
          $ref: "#/components/schemas/FieldConfigurationScheme"
        projectIds:
          description: The IDs of projects using the field configuration scheme.
          items:
            description: The IDs of projects using the field configuration scheme.
            type: string
          type: array
      required:
        - projectIds
      type: object
    FieldConfigurationToIssueTypeMapping:
      additionalProperties: false
      description: The field configuration to issue type mapping.
      properties:
        fieldConfigurationId:
          description: The ID of the field configuration.
          type: string
          writeOnly: true
        issueTypeId:
          description: The ID of the issue type or *default*. When set to *default* this field configuration issue type item applies to all issue types without a field configuration. An issue type can be included only once in a request.
          type: string
          writeOnly: true
      required:
        - fieldConfigurationId
        - issueTypeId
      type: object
      writeOnly: true
    FieldDetails:
      additionalProperties: false
      description: Details about a field.
      properties:
        clauseNames:
          description: The names that can be used to reference the field in an advanced search. For more information, see [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ).
          items:
            type: string
          type: array
          uniqueItems: true
        custom:
          description: Whether the field is a custom field.
          type: boolean
        id:
          description: The ID of the field.
          type: string
        key:
          description: The key of the field.
          type: string
        name:
          description: The name of the field.
          type: string
        navigable:
          description: Whether the field can be used as a column on the issue navigator.
          type: boolean
        orderable:
          description: Whether the content of the field can be used to order lists.
          type: boolean
        schema:
          allOf:
            - $ref: "#/components/schemas/JsonTypeBean"
          description: The data schema for the field.
        scope:
          allOf:
            - $ref: "#/components/schemas/Scope"
          description: The scope of the field.
        searchable:
          description: Whether the content of the field can be searched.
          type: boolean
      type: object
      xml:
        name: field
    FieldLastUsed:
      additionalProperties: false
      description: Information about the most recent use of a field.
      properties:
        type:
          description: |-
            Last used value type:

             *  *TRACKED*: field is tracked and a last used date is available.
             *  *NOT\_TRACKED*: field is not tracked, last used date is not available.
             *  *NO\_INFORMATION*: field is tracked, but no last used date is available.
          enum:
            - TRACKED
            - NOT_TRACKED
            - NO_INFORMATION
          type: string
        value:
          description: The date when the value of the field last changed.
          format: date-time
          type: string
      type: object
    FieldMetadata:
      additionalProperties: false
      description: The metadata describing an issue field.
      properties:
        allowedValues:
          description: The list of values allowed in the field.
          items:
            readOnly: true
          readOnly: true
          type: array
        autoCompleteUrl:
          description: The URL that can be used to automatically complete the field.
          readOnly: true
          type: string
        configuration:
          additionalProperties:
            readOnly: true
          description: The configuration properties.
          readOnly: true
          type: object
        defaultValue:
          description: The default value of the field.
          readOnly: true
        hasDefaultValue:
          description: Whether the field has a default value.
          readOnly: true
          type: boolean
        key:
          description: The key of the field.
          readOnly: true
          type: string
        name:
          description: The name of the field.
          readOnly: true
          type: string
        operations:
          description: The list of operations that can be performed on the field.
          items:
            readOnly: true
            type: string
          readOnly: true
          type: array
        required:
          description: Whether the field is required.
          readOnly: true
          type: boolean
        schema:
          allOf:
            - $ref: "#/components/schemas/JsonTypeBean"
          description: The data type of the field.
          readOnly: true
      required:
        - key
        - name
        - operations
        - required
        - schema
      type: object
      xml:
        name: availableField
    FieldReferenceData:
      additionalProperties: false
      description: Details of a field that can be used in advanced searches.
      properties:
        auto:
          description: Whether the field provide auto-complete suggestions.
          enum:
            - "true"
            - "false"
          type: string
        cfid:
          description: If the item is a custom field, the ID of the custom field.
          type: string
        deprecated:
          description: Whether this field has been deprecated.
          enum:
            - "true"
            - "false"
          type: string
        deprecatedSearcherKey:
          description: The searcher key of the field, only passed when the field is deprecated.
          type: string
        displayName:
          description: |-
            The display name contains the following:

             *  for system fields, the field name. For example, `Summary`.
             *  for collapsed custom fields, the field name followed by a hyphen and then the field name and field type. For example, `Component - Component[Dropdown]`.
             *  for other custom fields, the field name followed by a hyphen and then the custom field ID. For example, `Component - cf[10061]`.
          type: string
        operators:
          description: The valid search operators for the field.
          items:
            type: string
          type: array
        orderable:
          description: Whether the field can be used in a query's `ORDER BY` clause.
          enum:
            - "true"
            - "false"
          type: string
        searchable:
          description: Whether the content of this field can be searched.
          enum:
            - "true"
            - "false"
          type: string
        types:
          description: The data types of items in the field.
          items:
            type: string
          type: array
        value:
          description: The field identifier.
          type: string
      type: object
    FieldUpdateOperation:
      additionalProperties: false
      description: Details of an operation to perform on a field.
      properties:
        add:
          description: The value to add to the field.
          example: triaged
        copy:
          description: The field value to copy from another issue.
          example:
            issuelinks:
              sourceIssues:
                - key: FP-5
        edit:
          description: The value to edit in the field.
          example:
            originalEstimate: 1w 1d
            remainingEstimate: 4d
        remove:
          description: The value to removed from the field.
          example: blocker
        set:
          description: The value to set in the field.
          example: A new summary
      type: object
    FieldValueClause:
      description: A clause that asserts the current value of a field. For example, `summary ~ test`.
      properties:
        field:
          $ref: "#/components/schemas/JqlQueryField"
        operand:
          $ref: "#/components/schemas/JqlQueryClauseOperand"
        operator:
          description: The operator between the field and operand.
          enum:
            - =
            - "!="
            - ">"
            - <
            - ">="
            - <=
            - in
            - not in
            - "~"
            - ~=
            - is
            - is not
          type: string
      required:
        - field
        - operand
        - operator
      type: object
    FieldWasClause:
      description: A clause that asserts a previous value of a field. For example, `status WAS "Resolved" BY currentUser() BEFORE "2019/02/02"`. See [WAS](https://confluence.atlassian.com/x/dgiiLQ#Advancedsearching-operatorsreference-WASWAS) for more information about the WAS operator.
      properties:
        field:
          $ref: "#/components/schemas/JqlQueryField"
        operand:
          $ref: "#/components/schemas/JqlQueryClauseOperand"
        operator:
          description: The operator between the field and operand.
          enum:
            - was
            - was in
            - was not in
            - was not
          type: string
        predicates:
          description: The list of time predicates.
          items:
            $ref: "#/components/schemas/JqlQueryClauseTimePredicate"
          type: array
      required:
        - field
        - operand
        - operator
        - predicates
      type: object
    Fields:
      additionalProperties: false
      description: Key fields from the linked issue.
      properties:
        assignee:
          allOf:
            - $ref: "#/components/schemas/UserDetails"
          description: The assignee of the linked issue.
          readOnly: true
        issueType:
          allOf:
            - $ref: "#/components/schemas/IssueTypeDetails"
          description: The type of the linked issue.
          readOnly: true
        issuetype:
          $ref: "#/components/schemas/IssueTypeDetails"
          description: The type of the linked issue.
        priority:
          allOf:
            - $ref: "#/components/schemas/Priority"
          description: The priority of the linked issue.
          readOnly: true
        status:
          allOf:
            - $ref: "#/components/schemas/StatusDetails"
          description: The status of the linked issue.
          readOnly: true
        summary:
          description: The summary description of the linked issue.
          readOnly: true
          type: string
        timetracking:
          allOf:
            - $ref: "#/components/schemas/TimeTrackingDetails"
          description: The time tracking of the linked issue.
          readOnly: true
      type: object
    Filter:
      additionalProperties: false
      description: Details about a filter.
      properties:
        description:
          description: A description of the filter.
          type: string
        editPermissions:
          description: The groups and projects that can edit the filter.
          items:
            $ref: "#/components/schemas/SharePermission"
          type: array
        favourite:
          description: Whether the filter is selected as a favorite.
          type: boolean
        favouritedCount:
          description: The count of how many users have selected this filter as a favorite, including the filter owner.
          format: int64
          readOnly: true
          type: integer
        id:
          description: The unique identifier for the filter.
          readOnly: true
          type: string
        jql:
          description: The JQL query for the filter. For example, *project = SSP AND issuetype = Bug*.
          type: string
        name:
          description: The name of the filter. Must be unique.
          type: string
        owner:
          allOf:
            - $ref: "#/components/schemas/User"
          description: The user who owns the filter. This is defaulted to the creator of the filter, however Jira administrators can change the owner of a shared filter in the admin settings.
          readOnly: true
        searchUrl:
          description: A URL to view the filter results in Jira, using the [Search for issues using JQL](#api-rest-api-3-filter-search-get) operation with the filter's JQL string to return the filter results. For example, *https://your-domain.atlassian.net/rest/api/3/search?jql=project+%3D+SSP+AND+issuetype+%3D+Bug*.
          format: uri
          readOnly: true
          type: string
        self:
          description: The URL of the filter.
          format: uri
          readOnly: true
          type: string
        sharePermissions:
          description: The groups and projects that the filter is shared with.
          items:
            $ref: "#/components/schemas/SharePermission"
          type: array
        sharedUsers:
          allOf:
            - $ref: "#/components/schemas/UserList"
          description: A paginated list of the users that the filter is shared with. This includes users that are members of the groups or can browse the projects that the filter is shared with.
          readOnly: true
        subscriptions:
          allOf:
            - $ref: "#/components/schemas/FilterSubscriptionsList"
          description: A paginated list of the users that are subscribed to the filter.
          readOnly: true
        viewUrl:
          description: A URL to view the filter results in Jira, using the ID of the filter. For example, *https://your-domain.atlassian.net/issues/?filter=10100*.
          format: uri
          readOnly: true
          type: string
      required:
        - name
      type: object
      xml:
        name: filter
    FilterDetails:
      additionalProperties: false
      description: Details of a filter.
      properties:
        description:
          description: The description of the filter.
          type: string
        editPermissions:
          description: The groups and projects that can edit the filter. This can be specified when updating a filter, but not when creating a filter.
          items:
            $ref: "#/components/schemas/SharePermission"
          type: array
        expand:
          description: Expand options that include additional filter details in the response.
          readOnly: true
          type: string
          xml:
            attribute: true
        favourite:
          description: Whether the filter is selected as a favorite by any users, not including the filter owner.
          readOnly: true
          type: boolean
        favouritedCount:
          description: The count of how many users have selected this filter as a favorite, including the filter owner.
          format: int64
          readOnly: true
          type: integer
        id:
          description: The unique identifier for the filter.
          readOnly: true
          type: string
        jql:
          description: The JQL query for the filter. For example, *project = SSP AND issuetype = Bug*.
          readOnly: true
          type: string
        name:
          description: The name of the filter.
          type: string
        owner:
          allOf:
            - $ref: "#/components/schemas/User"
          description: The user who owns the filter. Defaults to the creator of the filter, however, Jira administrators can change the owner of a shared filter in the admin settings.
          readOnly: true
        searchUrl:
          description: A URL to view the filter results in Jira, using the [Search for issues using JQL](#api-rest-api-3-filter-search-get) operation with the filter's JQL string to return the filter results. For example, *https://your-domain.atlassian.net/rest/api/3/search?jql=project+%3D+SSP+AND+issuetype+%3D+Bug*.
          format: uri
          readOnly: true
          type: string
        self:
          description: The URL of the filter.
          format: uri
          readOnly: true
          type: string
        sharePermissions:
          description: The groups and projects that the filter is shared with. This can be specified when updating a filter, but not when creating a filter.
          items:
            $ref: "#/components/schemas/SharePermission"
          type: array
        subscriptions:
          description: The users that are subscribed to the filter.
          items:
            $ref: "#/components/schemas/FilterSubscription"
          readOnly: true
          type: array
        viewUrl:
          description: A URL to view the filter results in Jira, using the ID of the filter. For example, *https://your-domain.atlassian.net/issues/?filter=10100*.
          format: uri
          readOnly: true
          type: string
      required:
        - name
      type: object
    FilterSubscription:
      additionalProperties: false
      description: Details of a user or group subscribing to a filter.
      properties:
        group:
          allOf:
            - $ref: "#/components/schemas/GroupName"
          description: The group subscribing to filter.
          readOnly: true
        id:
          description: The ID of the filter subscription.
          format: int64
          readOnly: true
          type: integer
        user:
          allOf:
            - $ref: "#/components/schemas/User"
          description: The user subscribing to filter.
          readOnly: true
      type: object
    FilterSubscriptionsList:
      additionalProperties: false
      description: A paginated list of subscriptions to a filter.
      properties:
        end-index:
          description: The index of the last item returned on the page.
          format: int32
          readOnly: true
          type: integer
          xml:
            attribute: true
            name: end-index
        items:
          description: The list of items.
          items:
            $ref: "#/components/schemas/FilterSubscription"
          readOnly: true
          type: array
        max-results:
          description: The maximum number of results that could be on the page.
          format: int32
          readOnly: true
          type: integer
          xml:
            attribute: true
            name: max-results
        size:
          description: The number of items on the page.
          format: int32
          readOnly: true
          type: integer
          xml:
            attribute: true
        start-index:
          description: The index of the first item returned on the page.
          format: int32
          readOnly: true
          type: integer
          xml:
            attribute: true
            name: start-index
      type: object
    FoundGroup:
      additionalProperties: false
      description: A group found in a search.
      properties:
        groupId:
          description: The ID of the group, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*.
          type: string
        html:
          description: The group name with the matched query string highlighted with the HTML bold tag.
          type: string
        labels:
          items:
            $ref: "#/components/schemas/GroupLabel"
          type: array
        name:
          description: The name of the group. The name of a group is mutable, to reliably identify a group use ``groupId`.`
          type: string
      type: object
      xml:
        name: group
    FoundGroups:
      additionalProperties: false
      description: The list of groups found in a search, including header text (Showing X of Y matching groups) and total of matched groups.
      properties:
        groups:
          items:
            $ref: "#/components/schemas/FoundGroup"
          type: array
        header:
          description: Header text indicating the number of groups in the response and the total number of groups found in the search.
          type: string
        total:
          description: The total number of groups found in the search.
          format: int32
          type: integer
      type: object
      xml:
        name: groupsuggestions
    FoundUsers:
      additionalProperties: false
      description: The list of users found in a search, including header text (Showing X of Y matching users) and total of matched users.
      properties:
        header:
          description: Header text indicating the number of users in the response and the total number of users found in the search.
          type: string
        total:
          description: The total number of users found in the search.
          format: int32
          type: integer
        users:
          items:
            $ref: "#/components/schemas/UserPickerUser"
          type: array
      type: object
    FoundUsersAndGroups:
      additionalProperties: false
      description: List of users and groups found in a search.
      properties:
        groups:
          $ref: "#/components/schemas/FoundGroups"
        users:
          $ref: "#/components/schemas/FoundUsers"
      type: object
    FunctionOperand:
      description: An operand that is a function. See [Advanced searching - functions reference](https://confluence.atlassian.com/x/dwiiLQ) for more information about JQL functions.
      properties:
        arguments:
          description: The list of function arguments.
          items:
            type: string
          type: array
        encodedOperand:
          description: Encoded operand, which can be used directly in a JQL query.
          type: string
        function:
          description: The name of the function.
          type: string
      required:
        - arguments
        - function
      type: object
    FunctionReferenceData:
      additionalProperties: false
      description: Details of functions that can be used in advanced searches.
      properties:
        displayName:
          description: The display name of the function.
          type: string
        isList:
          description: Whether the function can take a list of arguments.
          enum:
            - "true"
            - "false"
          type: string
        types:
          description: The data types returned by the function.
          items:
            type: string
          type: array
        value:
          description: The function identifier.
          type: string
      type: object
    GlobalScopeBean:
      additionalProperties: false
      properties:
        attributes:
          description: Defines the behavior of the option in the global context.If notSelectable is set, the option cannot be set as the field's value. This is useful for archiving an option that has previously been selected but shouldn't be used anymore.If defaultValue is set, the option is selected by default.
          items:
            enum:
              - notSelectable
              - defaultValue
            type: string
          type: array
          uniqueItems: true
      type: object
    Group:
      additionalProperties: false
      properties:
        expand:
          description: Expand options that include additional group details in the response.
          readOnly: true
          type: string
          xml:
            attribute: true
        groupId:
          description: The ID of the group, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*.
          nullable: true
          type: string
        name:
          description: The name of group.
          type: string
        self:
          description: The URL for these group details.
          format: uri
          readOnly: true
          type: string
        users:
          allOf:
            - $ref: "#/components/schemas/PagedListUserDetailsApplicationUser"
          description: A paginated list of the users that are members of the group. A maximum of 50 users is returned in the list, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 50 users, use`?expand=users[51:100]`.
          readOnly: true
      type: object
    GroupDetails:
      additionalProperties: false
      description: Details about a group.
      properties:
        groupId:
          description: The ID of the group, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*.
          nullable: true
          type: string
        name:
          description: The name of the group.
          type: string
      type: object
    GroupLabel:
      additionalProperties: false
      description: A group label.
      properties:
        text:
          description: The group label name.
          type: string
        title:
          description: The title of the group label.
          type: string
        type:
          description: The type of the group label.
          enum:
            - ADMIN
            - SINGLE
            - MULTIPLE
          type: string
      type: object
      xml:
        name: grouplabel
    GroupName:
      additionalProperties: false
      description: Details about a group.
      properties:
        groupId:
          description: The ID of the group, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*.
          nullable: true
          type: string
        name:
          description: The name of group.
          type: string
        self:
          description: The URL for these group details.
          format: uri
          readOnly: true
          type: string
      type: object
    HealthCheckResult:
      additionalProperties: false
      description: Jira instance health check results. Deprecated and no longer returned.
      properties:
        description:
          description: The description of the Jira health check item.
          type: string
        name:
          description: The name of the Jira health check item.
          type: string
        passed:
          description: Whether the Jira health check item passed or failed.
          type: boolean
      type: object
    Hierarchy:
      additionalProperties: false
      description: The project issue type hierarchy.
      properties:
        baseLevelId:
          description: "The ID of the base level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/)."
          format: int64
          type: integer
        levels:
          description: Details about the hierarchy level.
          items:
            $ref: "#/components/schemas/SimplifiedHierarchyLevel"
          readOnly: true
          type: array
      type: object
      xml:
        name: hierarchy
    HistoryMetadata:
      additionalProperties: true
      description: Details of issue history metadata.
      properties:
        activityDescription:
          description: The activity described in the history record.
          type: string
        activityDescriptionKey:
          description: The key of the activity described in the history record.
          type: string
        actor:
          allOf:
            - $ref: "#/components/schemas/HistoryMetadataParticipant"
          description: Details of the user whose action created the history record.
        cause:
          allOf:
            - $ref: "#/components/schemas/HistoryMetadataParticipant"
          description: Details of the cause that triggered the creation the history record.
        description:
          description: The description of the history record.
          type: string
        descriptionKey:
          description: The description key of the history record.
          type: string
        emailDescription:
          description: The description of the email address associated the history record.
          type: string
        emailDescriptionKey:
          description: The description key of the email address associated the history record.
          type: string
        extraData:
          additionalProperties:
            type: string
          description: Additional arbitrary information about the history record.
          type: object
        generator:
          allOf:
            - $ref: "#/components/schemas/HistoryMetadataParticipant"
          description: Details of the system that generated the history record.
        type:
          description: The type of the history record.
          type: string
      type: object
    HistoryMetadataParticipant:
      additionalProperties: true
      description: Details of user or system associated with a issue history metadata item.
      properties:
        avatarUrl:
          description: The URL to an avatar for the user or system associated with a history record.
          type: string
        displayName:
          description: The display name of the user or system associated with a history record.
          type: string
        displayNameKey:
          description: The key of the display name of the user or system associated with a history record.
          type: string
        id:
          description: The ID of the user or system associated with a history record.
          type: string
        type:
          description: The type of the user or system associated with a history record.
          type: string
        url:
          description: The URL of the user or system associated with a history record.
          type: string
      type: object
    Icon:
      additionalProperties: true
      description: |-
        An icon. If no icon is defined:

         *  for a status icon, no status icon displays in Jira.
         *  for the remote object icon, the default link icon displays in Jira.
      properties:
        link:
          description: The URL of the tooltip, used only for a status icon. If not set, the status icon in Jira is not clickable.
          type: string
        title:
          description: |-
            The title of the icon. This is used as follows:

             *  For a status icon it is used as a tooltip on the icon. If not set, the status icon doesn't display a tooltip in Jira.
             *  For the remote object icon it is used in conjunction with the application name to display a tooltip for the link's icon. The tooltip takes the format "\[application name\] icon title". Blank itemsare excluded from the tooltip title. If both items are blank, the icon tooltop displays as "Web Link".
          type: string
        url16x16:
          description: The URL of an icon that displays at 16x16 pixel in Jira.
          type: string
      type: object
    IconBean:
      additionalProperties: false
      description: An icon.
      properties:
        link:
          description: The URL of the tooltip, used only for a status icon.
          type: string
        title:
          description: The title of the icon, for use as a tooltip on the icon.
          type: string
        url16x16:
          description: The URL of a 16x16 pixel icon.
          type: string
      type: object
      xml:
        name: icon
    IdBean:
      additionalProperties: false
      properties:
        id:
          description: The ID of the permission scheme to associate with the project. Use the [Get all permission schemes](#api-rest-api-3-permissionscheme-get) resource to get a list of permission scheme IDs.
          format: int64
          type: integer
      required:
        - id
      type: object
    IdOrKeyBean:
      additionalProperties: false
      properties:
        id:
          description: The ID of the referenced item.
          format: int64
          type: integer
        key:
          description: The key of the referenced item.
          type: string
      type: object
    IncludedFields:
      additionalProperties: false
      properties:
        actuallyIncluded:
          items:
            type: string
          type: array
          uniqueItems: true
        excluded:
          items:
            type: string
          type: array
          uniqueItems: true
        included:
          items:
            type: string
          type: array
          uniqueItems: true
      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
    IssueChangelogIds:
      additionalProperties: false
      description: A list of changelog IDs.
      properties:
        changelogIds:
          description: The list of changelog IDs.
          items:
            format: int64
            type: integer
          type: array
          uniqueItems: true
      required:
        - changelogIds
      type: object
    IssueCommentListRequestBean:
      additionalProperties: false
      properties:
        ids:
          description: The list of comment IDs. A maximum of 1000 IDs can be specified.
          items:
            format: int64
            type: integer
          type: array
          uniqueItems: true
      required:
        - ids
      type: object
    IssueContextVariable:
      description: An [issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue) specified by ID or key. All the fields of the issue object are available in the Jira expression.
      properties:
        id:
          description: The issue ID.
          format: int64
          type: integer
        key:
          description: The issue key.
          type: string
        type:
          description: Type of custom context variable.
          type: string
      required:
        - type
      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
    IssueEntityProperties:
      additionalProperties: false
      description: Lists of issues and entity properties. See [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/) for more information.
      properties:
        entitiesIds:
          description: A list of entity property IDs.
          items:
            format: int64
            type: integer
          maxItems: 10000
          minItems: 1
          type: array
          uniqueItems: true
        properties:
          additionalProperties:
            $ref: "#/components/schemas/JsonNode"
          description: A list of entity property keys and values.
          maxProperties: 10
          minProperties: 1
          type: object
      type: object
    IssueEntityPropertiesForMultiUpdate:
      additionalProperties: false
      description: An issue ID with entity property values. See [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/) for more information.
      maxProperties: 100
      minProperties: 1
      properties:
        issueID:
          description: The ID of the issue.
          format: int64
          type: integer
        properties:
          additionalProperties:
            $ref: "#/components/schemas/JsonNode"
          description: Entity properties to set on the issue. The maximum length of an issue property value is 32768 characters.
          maxProperties: 10
          minProperties: 1
          type: object
      type: object
    IssueEvent:
      additionalProperties: false
      description: Details about an issue event.
      properties:
        id:
          description: The ID of the event.
          format: int64
          readOnly: true
          type: integer
        name:
          description: The name of the event.
          readOnly: true
          type: string
      type: object
    IssueFieldOption:
      additionalProperties: false
      description: Details of the options for a select list issue field.
      properties:
        config:
          $ref: "#/components/schemas/IssueFieldOptionConfiguration"
        id:
          description: The unique identifier for the option. This is only unique within the select field's set of options.
          format: int64
          type: integer
        properties:
          additionalProperties: {}
          description: The properties of the object, as arbitrary key-value pairs. These properties can be searched using JQL, if the extractions (see [Issue Field Option Property Index](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field-option-property-index/)) are defined in the descriptor for the issue field module.
          type: object
        value:
          description: The option's name, which is displayed in Jira.
          type: string
      required:
        - id
        - value
      type: object
    IssueFieldOptionConfiguration:
      additionalProperties: false
      description: Details of the projects the option is available in.
      properties:
        attributes:
          description: DEPRECATED
          items:
            enum:
              - notSelectable
              - defaultValue
            type: string
          type: array
          uniqueItems: true
        scope:
          allOf:
            - $ref: "#/components/schemas/IssueFieldOptionScopeBean"
          description: Defines the projects that the option is available in. If the scope is not defined, then the option is available in all projects.
      type: object
    IssueFieldOptionCreateBean:
      additionalProperties: true
      properties:
        config:
          $ref: "#/components/schemas/IssueFieldOptionConfiguration"
        properties:
          additionalProperties: {}
          description: The properties of the option as arbitrary key-value pairs. These properties can be searched using JQL, if the extractions (see https://developer.atlassian.com/cloud/jira/platform/modules/issue-field-option-property-index/) are defined in the descriptor for the issue field module.
          type: object
        value:
          description: The option's name, which is displayed in Jira.
          type: string
      required:
        - value
      type: object
    IssueFieldOptionScopeBean:
      additionalProperties: false
      properties:
        global:
          allOf:
            - $ref: "#/components/schemas/GlobalScopeBean"
          description: Defines the behavior of the option within the global context. If this property is set, even if set to an empty object, then the option is available in all projects.
        projects:
          description: DEPRECATED
          items:
            format: int64
            type: integer
          type: array
          uniqueItems: true
        projects2:
          description: Defines the projects in which the option is available and the behavior of the option within each project. Specify one object per project. The behavior of the option in a project context overrides the behavior in the global context.
          items:
            $ref: "#/components/schemas/ProjectScopeBean"
          type: array
          uniqueItems: true
      type: object
    IssueFilterForBulkPropertyDelete:
      additionalProperties: false
      description: Bulk operation filter details.
      properties:
        currentValue:
          description: The value of properties to perform the bulk operation on.
        entityIds:
          description: List of issues to perform the bulk delete operation on.
          items:
            format: int64
            type: integer
          type: array
          uniqueItems: true
      type: object
    IssueFilterForBulkPropertySet:
      additionalProperties: false
      description: Bulk operation filter details.
      properties:
        currentValue:
          description: The value of properties to perform the bulk operation on.
        entityIds:
          description: List of issues to perform the bulk operation on.
          items:
            format: int64
            type: integer
          type: array
          uniqueItems: true
        hasProperty:
          description: Whether the bulk operation occurs only when the property is present on or absent from an issue.
          type: boolean
      type: object
    IssueLink:
      additionalProperties: false
      description: Details of a link between issues.
      properties:
        id:
          description: The ID of the issue link.
          readOnly: true
          type: string
        inwardIssue:
          allOf:
            - $ref: "#/components/schemas/LinkedIssue"
          description: Provides details about the linked issue. If presenting this link in a user interface, use the `inward` field of the issue link type to label the link.
        outwardIssue:
          allOf:
            - $ref: "#/components/schemas/LinkedIssue"
          description: Provides details about the linked issue. If presenting this link in a user interface, use the `outward` field of the issue link type to label the link.
        self:
          description: The URL of the issue link.
          format: uri
          readOnly: true
          type: string
        type:
          allOf:
            - $ref: "#/components/schemas/IssueLinkType"
          description: The type of link between the issues.
      required:
        - inwardIssue
        - outwardIssue
        - type
      type: object
      xml:
        name: issueLinks
    IssueLinkType:
      additionalProperties: false
      description: |-
        This object is used as follows:

         *  In the [ issueLink](#api-rest-api-3-issueLink-post) resource it defines and reports on the type of link between the issues. Find a list of issue link types with [Get issue link types](#api-rest-api-3-issueLinkType-get).
         *  In the [ issueLinkType](#api-rest-api-3-issueLinkType-post) resource it defines and reports on issue link types.
      properties:
        id:
          description: |-
            The ID of the issue link type and is used as follows:

             *  In the [ issueLink](#api-rest-api-3-issueLink-post) resource it is the type of issue link. Required on create when `name` isn't provided. Otherwise, read only.
             *  In the [ issueLinkType](#api-rest-api-3-issueLinkType-post) resource it is read only.
          type: string
        inward:
          description: |-
            The description of the issue link type inward link and is used as follows:

             *  In the [ issueLink](#api-rest-api-3-issueLink-post) resource it is read only.
             *  In the [ issueLinkType](#api-rest-api-3-issueLinkType-post) resource it is required on create and optional on update. Otherwise, read only.
          type: string
        name:
          description: |-
            The name of the issue link type and is used as follows:

             *  In the [ issueLink](#api-rest-api-3-issueLink-post) resource it is the type of issue link. Required on create when `id` isn't provided. Otherwise, read only.
             *  In the [ issueLinkType](#api-rest-api-3-issueLinkType-post) resource it is required on create and optional on update. Otherwise, read only.
          type: string
        outward:
          description: |-
            The description of the issue link type outward link and is used as follows:

             *  In the [ issueLink](#api-rest-api-3-issueLink-post) resource it is read only.
             *  In the [ issueLinkType](#api-rest-api-3-issueLinkType-post) resource it is required on create and optional on update. Otherwise, read only.
          type: string
        self:
          description: The URL of the issue link type. Read only.
          format: uri
          readOnly: true
          type: string
      type: object
    IssueLinkTypes:
      additionalProperties: false
      description: A list of issue link type beans.
      properties:
        issueLinkTypes:
          description: The issue link type bean.
          items:
            $ref: "#/components/schemas/IssueLinkType"
          readOnly: true
          type: array
          xml:
            name: issueLinkTypes
      type: object
      xml:
        name: issueLinkTypes
    IssueList:
      additionalProperties: false
      description: A list of issue IDs.
      properties:
        issueIds:
          description: The list of issue IDs.
          items:
            type: string
          type: array
      required:
        - issueIds
      type: object
    IssueMatches:
      additionalProperties: false
      description: A list of matched issues or errors for each JQL query, in the order the JQL queries were passed.
      properties:
        matches:
          items:
            $ref: "#/components/schemas/IssueMatchesForJQL"
          type: array
      required:
        - matches
      type: object
    IssueMatchesForJQL:
      additionalProperties: false
      description: A list of the issues matched to a JQL query or details of errors encountered during matching.
      properties:
        errors:
          description: A list of errors.
          items:
            description: A list of errors.
            type: string
          type: array
          uniqueItems: true
        matchedIssues:
          description: A list of issue IDs.
          items:
            description: A list of issue IDs.
            format: int64
            type: integer
          type: array
          uniqueItems: true
      required:
        - errors
        - matchedIssues
      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
    IssuePickerSuggestionsIssueType:
      additionalProperties: false
      description: A type of issue suggested for use in auto-completion.
      properties:
        id:
          description: The ID of the type of issues suggested for use in auto-completion.
          readOnly: true
          type: string
        issues:
          description: A list of issues suggested for use in auto-completion.
          items:
            $ref: "#/components/schemas/SuggestedIssue"
          readOnly: true
          type: array
        label:
          description: The label of the type of issues suggested for use in auto-completion.
          readOnly: true
          type: string
        msg:
          description: If no issue suggestions are found, returns a message indicating no suggestions were found,
          readOnly: true
          type: string
        sub:
          description: If issue suggestions are found, returns a message indicating the number of issues suggestions found and returned.
          readOnly: true
          type: string
      type: object
    IssueSecurityLevelMember:
      additionalProperties: false
      description: Issue security level member.
      properties:
        holder:
          allOf:
            - $ref: "#/components/schemas/PermissionHolder"
          description: The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](../api-group-permission-schemes/#holder-object) in *Get all permission schemes* for more information.
        id:
          description: The ID of the issue security level member.
          format: int64
          type: integer
        issueSecurityLevelId:
          description: The ID of the issue security level.
          format: int64
          type: integer
      required:
        - holder
        - id
        - issueSecurityLevelId
      type: object
    IssueSecuritySchemeToProjectMapping:
      additionalProperties: true
      description: Details about an project using security scheme mapping.
      properties:
        issueSecuritySchemeId:
          readOnly: true
          type: string
        projectId:
          readOnly: true
          type: string
      type: object
    IssueTransition:
      additionalProperties: true
      description: Details of an issue transition.
      properties:
        expand:
          description: Expand options that include additional transition details in the response.
          readOnly: true
          type: string
        fields:
          additionalProperties:
            $ref: "#/components/schemas/FieldMetadata"
          description: Details of the fields associated with the issue transition screen. Use this information to populate `fields` and `update` in a transition request.
          readOnly: true
          type: object
        hasScreen:
          description: Whether there is a screen associated with the issue transition.
          readOnly: true
          type: boolean
        id:
          description: The ID of the issue transition. Required when specifying a transition to undertake.
          type: string
        isAvailable:
          description: Whether the transition is available to be performed.
          readOnly: true
          type: boolean
        isConditional:
          description: Whether the issue has to meet criteria before the issue transition is applied.
          readOnly: true
          type: boolean
        isGlobal:
          description: Whether the issue transition is global, that is, the transition is applied to issues regardless of their status.
          readOnly: true
          type: boolean
        isInitial:
          description: Whether this is the initial issue transition for the workflow.
          readOnly: true
          type: boolean
        looped:
          type: boolean
        name:
          description: The name of the issue transition.
          readOnly: true
          type: string
        to:
          allOf:
            - $ref: "#/components/schemas/StatusDetails"
          description: Details of the issue status after the transition.
          readOnly: true
      type: object
    IssueTypeCreateBean:
      additionalProperties: false
      properties:
        description:
          description: The description of the issue type.
          type: string
        hierarchyLevel:
          description: |-
            The hierarchy level of the issue type. Use:

             *  `-1` for Subtask.
             *  `0` for Base.

            Defaults to `0`.
          format: int32
          type: integer
        name:
          description: The unique name for the issue type. The maximum length is 60 characters.
          type: string
        type:
          description: |-
            Deprecated. Use `hierarchyLevel` instead. See the [deprecation notice](https://community.developer.atlassian.com/t/deprecation-of-the-epic-link-parent-link-and-other-related-fields-in-rest-apis-and-webhooks/54048) for details.

            Whether the issue type is `subtype` or `standard`. Defaults to `standard`.
          enum:
            - subtask
            - standard
          type: string
      required:
        - name
      type: object
    IssueTypeDetails:
      additionalProperties: false
      description: Details about an issue type.
      properties:
        avatarId:
          description: The ID of the issue type's avatar.
          format: int64
          readOnly: true
          type: integer
        description:
          description: The description of the issue type.
          readOnly: true
          type: string
        entityId:
          description: Unique ID for next-gen projects.
          format: uuid
          readOnly: true
          type: string
        hierarchyLevel:
          description: Hierarchy level of the issue type.
          format: int32
          readOnly: true
          type: integer
        iconUrl:
          description: The URL of the issue type's avatar.
          readOnly: true
          type: string
        id:
          description: The ID of the issue type.
          readOnly: true
          type: string
        name:
          description: The name of the issue type.
          readOnly: true
          type: string
        scope:
          allOf:
            - $ref: "#/components/schemas/Scope"
          description: Details of the next-gen projects the issue type is available in.
          readOnly: true
        self:
          description: The URL of these issue type details.
          readOnly: true
          type: string
        subtask:
          description: Whether this issue type is used to create subtasks.
          readOnly: true
          type: boolean
      type: object
    IssueTypeIds:
      additionalProperties: false
      description: The list of issue type IDs.
      properties:
        issueTypeIds:
          description: The list of issue type IDs.
          items:
            type: string
            writeOnly: true
          type: array
          writeOnly: true
      required:
        - issueTypeIds
      type: object
    IssueTypeIdsToRemove:
      additionalProperties: false
      description: The list of issue type IDs to be removed from the field configuration scheme.
      properties:
        issueTypeIds:
          description: The list of issue type IDs. Must contain unique values not longer than 255 characters and not be empty. Maximum of 100 IDs.
          items:
            type: string
          type: array
      required:
        - issueTypeIds
      type: object
    IssueTypeInfo:
      additionalProperties: false
      description: Details of an issue type.
      properties:
        avatarId:
          description: The avatar of the issue type.
          format: int64
          readOnly: true
          type: integer
        id:
          description: The ID of the issue type.
          format: int64
          readOnly: true
          type: integer
        name:
          description: The name of the issue type.
          readOnly: true
          type: string
      type: object
    IssueTypeIssueCreateMetadata:
      additionalProperties: false
      description: Details of the issue creation metadata for an issue type.
      properties:
        avatarId:
          description: The ID of the issue type's avatar.
          format: int64
          readOnly: true
          type: integer
        description:
          description: The description of the issue type.
          readOnly: true
          type: string
        entityId:
          description: Unique ID for next-gen projects.
          format: uuid
          readOnly: true
          type: string
        expand:
          description: Expand options that include additional issue type metadata details in the response.
          readOnly: true
          type: string
          xml:
            attribute: true
        fields:
          additionalProperties:
            $ref: "#/components/schemas/FieldMetadata"
          description: List of the fields available when creating an issue for the issue type.
          readOnly: true
          type: object
        hierarchyLevel:
          description: Hierarchy level of the issue type.
          format: int32
          readOnly: true
          type: integer
        iconUrl:
          description: The URL of the issue type's avatar.
          readOnly: true
          type: string
        id:
          description: The ID of the issue type.
          readOnly: true
          type: string
        name:
          description: The name of the issue type.
          readOnly: true
          type: string
        scope:
          allOf:
            - $ref: "#/components/schemas/Scope"
          description: Details of the next-gen projects the issue type is available in.
          readOnly: true
        self:
          description: The URL of these issue type details.
          readOnly: true
          type: string
        subtask:
          description: Whether this issue type is used to create subtasks.
          readOnly: true
          type: boolean
      type: object
    IssueTypeScheme:
      additionalProperties: false
      description: Details of an issue type scheme.
      properties:
        defaultIssueTypeId:
          description: The ID of the default issue type of the issue type scheme.
          type: string
        description:
          description: The description of the issue type scheme.
          type: string
        id:
          description: The ID of the issue type scheme.
          type: string
        isDefault:
          description: Whether the issue type scheme is the default.
          type: boolean
        name:
          description: The name of the issue type scheme.
          type: string
      required:
        - id
        - name
      type: object
    IssueTypeSchemeDetails:
      additionalProperties: false
      description: Details of an issue type scheme and its associated issue types.
      properties:
        defaultIssueTypeId:
          description: The ID of the default issue type of the issue type scheme. This ID must be included in `issueTypeIds`.
          type: string
          writeOnly: true
        description:
          description: The description of the issue type scheme. The maximum length is 4000 characters.
          type: string
          writeOnly: true
        issueTypeIds:
          description: The list of issue types IDs of the issue type scheme. At least one standard issue type ID is required.
          items:
            type: string
            writeOnly: true
          type: array
          writeOnly: true
        name:
          description: The name of the issue type scheme. The name must be unique. The maximum length is 255 characters.
          type: string
          writeOnly: true
      required:
        - issueTypeIds
        - name
      type: object
    IssueTypeSchemeID:
      additionalProperties: false
      description: The ID of an issue type scheme.
      properties:
        issueTypeSchemeId:
          description: The ID of the issue type scheme.
          readOnly: true
          type: string
      required:
        - issueTypeSchemeId
      type: object
    IssueTypeSchemeMapping:
      additionalProperties: false
      description: Issue type scheme item.
      properties:
        issueTypeId:
          description: The ID of the issue type.
          type: string
        issueTypeSchemeId:
          description: The ID of the issue type scheme.
          type: string
      required:
        - issueTypeId
        - issueTypeSchemeId
      type: object
    IssueTypeSchemeProjectAssociation:
      additionalProperties: false
      description: Details of the association between an issue type scheme and project.
      properties:
        issueTypeSchemeId:
          description: The ID of the issue type scheme.
          type: string
          writeOnly: true
        projectId:
          description: The ID of the project.
          type: string
          writeOnly: true
      required:
        - issueTypeSchemeId
        - projectId
      type: object
    IssueTypeSchemeProjects:
      additionalProperties: false
      description: Issue type scheme with a list of the projects that use it.
      properties:
        issueTypeScheme:
          allOf:
            - $ref: "#/components/schemas/IssueTypeScheme"
          description: Details of an issue type scheme.
        projectIds:
          description: The IDs of the projects using the issue type scheme.
          items:
            type: string
          type: array
      required:
        - issueTypeScheme
        - projectIds
      type: object
    IssueTypeSchemeUpdateDetails:
      additionalProperties: false
      description: Details of the name, description, and default issue type for an issue type scheme.
      properties:
        defaultIssueTypeId:
          description: The ID of the default issue type of the issue type scheme.
          type: string
          writeOnly: true
        description:
          description: The description of the issue type scheme. The maximum length is 4000 characters.
          type: string
          writeOnly: true
        name:
          description: The name of the issue type scheme. The name must be unique. The maximum length is 255 characters.
          type: string
          writeOnly: true
      type: object
    IssueTypeScreenScheme:
      additionalProperties: false
      description: Details of an issue type screen scheme.
      properties:
        description:
          description: The description of the issue type screen scheme.
          type: string
        id:
          description: The ID of the issue type screen scheme.
          type: string
        name:
          description: The name of the issue type screen scheme.
          type: string
      required:
        - id
        - name
      type: object
    IssueTypeScreenSchemeDetails:
      additionalProperties: false
      description: The details of an issue type screen scheme.
      properties:
        description:
          description: The description of the issue type screen scheme. The maximum length is 255 characters.
          type: string
          writeOnly: true
        issueTypeMappings:
          description: The IDs of the screen schemes for the issue type IDs and *default*. A *default* entry is required to create an issue type screen scheme, it defines the mapping for all issue types without a screen scheme.
          items:
            $ref: "#/components/schemas/IssueTypeScreenSchemeMapping"
          type: array
          writeOnly: true
        name:
          description: The name of the issue type screen scheme. The name must be unique. The maximum length is 255 characters.
          type: string
          writeOnly: true
      required:
        - issueTypeMappings
        - name
      type: object
    IssueTypeScreenSchemeId:
      additionalProperties: false
      description: The ID of an issue type screen scheme.
      properties:
        id:
          description: The ID of the issue type screen scheme.
          readOnly: true
          type: string
      required:
        - id
      type: object
    IssueTypeScreenSchemeItem:
      additionalProperties: false
      description: The screen scheme for an issue type.
      properties:
        issueTypeId:
          description: The ID of the issue type or *default*. Only issue types used in classic projects are accepted. When creating an issue screen scheme, an entry for *default* must be provided and defines the mapping for all issue types without a screen scheme. Otherwise, a *default* entry can't be provided.
          type: string
        issueTypeScreenSchemeId:
          description: The ID of the issue type screen scheme.
          type: string
        screenSchemeId:
          description: The ID of the screen scheme.
          type: string
      required:
        - issueTypeId
        - issueTypeScreenSchemeId
        - screenSchemeId
      type: object
    IssueTypeScreenSchemeMapping:
      additionalProperties: false
      description: The IDs of the screen schemes for the issue type IDs.
      properties:
        issueTypeId:
          description: The ID of the issue type or *default*. Only issue types used in classic projects are accepted. An entry for *default* must be provided and defines the mapping for all issue types without a screen scheme.
          type: string
          writeOnly: true
        screenSchemeId:
          description: The ID of the screen scheme. Only screen schemes used in classic projects are accepted.
          type: string
          writeOnly: true
      required:
        - issueTypeId
        - screenSchemeId
      type: object
      writeOnly: true
    IssueTypeScreenSchemeMappingDetails:
      additionalProperties: false
      description: A list of issue type screen scheme mappings.
      properties:
        issueTypeMappings:
          description: The list of issue type to screen scheme mappings. A *default* entry cannot be specified because a default entry is added when an issue type screen scheme is created.
          items:
            $ref: "#/components/schemas/IssueTypeScreenSchemeMapping"
          type: array
          writeOnly: true
      required:
        - issueTypeMappings
      type: object
    IssueTypeScreenSchemeProjectAssociation:
      additionalProperties: false
      description: Associated issue type screen scheme and project.
      properties:
        issueTypeScreenSchemeId:
          description: The ID of the issue type screen scheme.
          type: string
          writeOnly: true
        projectId:
          description: The ID of the project.
          type: string
          writeOnly: true
      type: object
    IssueTypeScreenSchemeUpdateDetails:
      additionalProperties: false
      description: Details of an issue type screen scheme.
      properties:
        description:
          description: The description of the issue type screen scheme. The maximum length is 255 characters.
          type: string
          writeOnly: true
        name:
          description: The name of the issue type screen scheme. The name must be unique. The maximum length is 255 characters.
          type: string
          writeOnly: true
      type: object
    IssueTypeScreenSchemesProjects:
      additionalProperties: false
      description: Issue type screen scheme with a list of the projects that use it.
      properties:
        issueTypeScreenScheme:
          allOf:
            - $ref: "#/components/schemas/IssueTypeScreenScheme"
          description: Details of an issue type screen scheme.
        projectIds:
          description: The IDs of the projects using the issue type screen scheme.
          items:
            type: string
          type: array
      required:
        - issueTypeScreenScheme
        - projectIds
      type: object
    IssueTypeToContextMapping:
      additionalProperties: false
      description: Mapping of an issue type to a context.
      properties:
        contextId:
          description: The ID of the context.
          type: string
        isAnyIssueType:
          description: Whether the context is mapped to any issue type.
          type: boolean
        issueTypeId:
          description: The ID of the issue type.
          type: string
      required:
        - contextId
      type: object
    IssueTypeUpdateBean:
      additionalProperties: false
      properties:
        avatarId:
          description: The ID of an issue type avatar.
          format: int64
          type: integer
        description:
          description: The description of the issue type.
          type: string
        name:
          description: The unique name for the issue type. The maximum length is 60 characters.
          type: string
      type: object
    IssueTypeWithStatus:
      additionalProperties: false
      description: Status details for an issue type.
      properties:
        id:
          description: The ID of the issue type.
          readOnly: true
          type: string
        name:
          description: The name of the issue type.
          readOnly: true
          type: string
        self:
          description: The URL of the issue type's status details.
          readOnly: true
          type: string
        statuses:
          description: List of status details for the issue type.
          items:
            $ref: "#/components/schemas/StatusDetails"
          readOnly: true
          type: array
        subtask:
          description: Whether this issue type represents subtasks.
          readOnly: true
          type: boolean
      required:
        - id
        - name
        - self
        - statuses
        - subtask
      type: object
    IssueTypeWorkflowMapping:
      additionalProperties: false
      description: Details about the mapping between an issue type and a workflow.
      properties:
        issueType:
          description: The ID of the issue type. Not required if updating the issue type-workflow mapping.
          type: string
        updateDraftIfNeeded:
          description: Set to true to create or update the draft of a workflow scheme and update the mapping in the draft, when the workflow scheme cannot be edited. Defaults to `false`. Only applicable when updating the workflow-issue types mapping.
          type: boolean
        workflow:
          description: The name of the workflow.
          type: string
      type: object
    IssueTypesWorkflowMapping:
      additionalProperties: false
      description: Details about the mapping between issue types and a workflow.
      properties:
        defaultMapping:
          description: Whether the workflow is the default workflow for the workflow scheme.
          type: boolean
        issueTypes:
          description: The list of issue type IDs.
          items:
            type: string
          type: array
        updateDraftIfNeeded:
          description: Whether a draft workflow scheme is created or updated when updating an active workflow scheme. The draft is updated with the new workflow-issue types mapping. Defaults to `false`.
          type: boolean
        workflow:
          description: The name of the workflow. Optional if updating the workflow-issue types mapping.
          type: string
      type: object
    IssueUpdateDetails:
      additionalProperties: true
      description: Details of an issue update request.
      properties:
        fields:
          additionalProperties: {}
          description: List of issue screen fields to update, specifying the sub-field to update and its value for each field. This field provides a straightforward option when setting a sub-field. When multiple sub-fields or other operations are required, use `update`. Fields included in here cannot be included in `update`.
          type: object
        historyMetadata:
          allOf:
            - $ref: "#/components/schemas/HistoryMetadata"
          description: Additional issue history details.
        properties:
          description: Details of issue properties to be add or update.
          items:
            $ref: "#/components/schemas/EntityProperty"
          type: array
        transition:
          allOf:
            - $ref: "#/components/schemas/IssueTransition"
          description: Details of a transition. Required when performing a transition, optional when creating or editing an issue.
        update:
          additionalProperties:
            items:
              $ref: "#/components/schemas/FieldUpdateOperation"
            type: array
          description: A Map containing the field field name and a list of operations to perform on the issue screen field. Note that fields included in here cannot be included in `fields`.
          type: object
      type: object
    IssueUpdateMetadata:
      description: A list of editable field details.
      properties:
        fields:
          additionalProperties:
            $ref: "#/components/schemas/FieldMetadata"
          readOnly: true
          type: object
      type: object
    IssuesAndJQLQueries:
      additionalProperties: false
      description: List of issues and JQL queries.
      properties:
        issueIds:
          description: A list of issue IDs.
          items:
            description: A list of issue IDs.
            format: int64
            type: integer
          type: array
          uniqueItems: true
        jqls:
          description: A list of JQL queries.
          items:
            description: A list of JQL queries.
            type: string
          type: array
      required:
        - issueIds
        - jqls
      type: object
    IssuesJqlMetaDataBean:
      additionalProperties: false
      description: The description of the page of issues loaded by the provided JQL query.
      properties:
        count:
          description: The number of issues that were loaded in this evaluation.
          format: int32
          type: integer
        maxResults:
          description: The maximum number of issues that could be loaded in this evaluation.
          format: int32
          type: integer
        startAt:
          description: The index of the first issue.
          format: int64
          type: integer
        totalCount:
          description: The total number of issues the JQL returned.
          format: int64
          type: integer
        validationWarnings:
          description: Any warnings related to the JQL query. Present only if the validation mode was set to `warn`.
          items:
            type: string
          type: array
      required:
        - count
        - maxResults
        - startAt
        - totalCount
      type: object
    IssuesMetaBean:
      additionalProperties: false
      description: Meta data describing the `issues` context variable.
      properties:
        jql:
          $ref: "#/components/schemas/IssuesJqlMetaDataBean"
      type: object
    IssuesUpdateBean:
      additionalProperties: true
      properties:
        issueUpdates:
          items:
            $ref: "#/components/schemas/IssueUpdateDetails"
          type: array
      type: object
    JQLPersonalDataMigrationRequest:
      additionalProperties: false
      description: The JQL queries to be converted.
      properties:
        queryStrings:
          description: A list of queries with user identifiers. Maximum of 100 queries.
          items:
            type: string
          type: array
      type: object
    JQLQueryWithUnknownUsers:
      additionalProperties: false
      description: JQL queries that contained users that could not be found
      properties:
        convertedQuery:
          description: The converted query, with accountIDs instead of user identifiers, or 'unknown' for users that could not be found
          type: string
        originalQuery:
          description: The original query, for reference
          type: string
      type: object
    JQLReferenceData:
      additionalProperties: false
      description: Lists of JQL reference data.
      properties:
        jqlReservedWords:
          description: List of JQL query reserved words.
          items:
            type: string
          type: array
        visibleFieldNames:
          description: List of fields usable in JQL queries.
          items:
            $ref: "#/components/schemas/FieldReferenceData"
          type: array
        visibleFunctionNames:
          description: List of functions usable in JQL queries.
          items:
            $ref: "#/components/schemas/FunctionReferenceData"
          type: array
      type: object
    JexpIssues:
      additionalProperties: false
      description: The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable.
      properties:
        jql:
          allOf:
            - $ref: "#/components/schemas/JexpJqlIssues"
          description: The JQL query that specifies the set of issues available in the Jira expression.
      type: object
    JexpJqlIssues:
      additionalProperties: false
      description: The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable. Not all issues returned by the JQL query are loaded, only those described by the `startAt` and `maxResults` properties. To determine whether it is necessary to iterate to ensure all the issues returned by the JQL query are evaluated, inspect `meta.issues.jql.count` in the response.
      properties:
        maxResults:
          description: The maximum number of issues to return from the JQL query. Inspect `meta.issues.jql.maxResults` in the response to ensure the maximum value has not been exceeded.
          format: int32
          type: integer
        query:
          description: The JQL query.
          type: string
        startAt:
          description: The index of the first issue to return from the JQL query.
          format: int64
          type: integer
        validation:
          default: strict
          description: Determines how to validate the JQL query and treat the validation results.
          enum:
            - strict
            - warn
            - none
          type: string
      type: object
    JiraExpressionAnalysis:
      additionalProperties: false
      description: Details about the analysed Jira expression.
      properties:
        complexity:
          $ref: "#/components/schemas/JiraExpressionComplexity"
        errors:
          description: A list of validation errors. Not included if the expression is valid.
          items:
            $ref: "#/components/schemas/JiraExpressionValidationError"
          type: array
        expression:
          description: The analysed expression.
          type: string
        type:
          description: EXPERIMENTAL. The inferred type of the expression.
          type: string
        valid:
          description: Whether the expression is valid and the interpreter will evaluate it. Note that the expression may fail at runtime (for example, if it executes too many expensive operations).
          type: boolean
      required:
        - expression
        - valid
      type: object
    JiraExpressionComplexity:
      additionalProperties: false
      description: Details about the complexity of the analysed Jira expression.
      properties:
        expensiveOperations:
          description: |-
            Information that can be used to determine how many [expensive operations](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#expensive-operations) the evaluation of the expression will perform. This information may be a formula or number. For example:

             *  `issues.map(i => i.comments)` performs as many expensive operations as there are issues on the issues list. So this parameter returns `N`, where `N` is the size of issue list.
             *  `new Issue(10010).comments` gets comments for one issue, so its complexity is `2` (`1` to retrieve issue 10010 from the database plus `1` to get its comments).
          type: string
        variables:
          additionalProperties:
            description: Variables used in the formula, mapped to the parts of the expression they refer to.
            type: string
          description: Variables used in the formula, mapped to the parts of the expression they refer to.
          type: object
      required:
        - expensiveOperations
      type: object
    JiraExpressionEvalContextBean:
      additionalProperties: false
      properties:
        board:
          description: The ID of the board that is available under the `board` variable when evaluating the expression.
          format: int64
          type: integer
        custom:
          description: |-
            Custom context variables and their types. These variable types are available for use in a custom context:

             *  `user`: A [user](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user) specified as an Atlassian account ID.
             *  `issue`: An [issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue) specified by ID or key. All the fields of the issue object are available in the Jira expression.
             *  `json`: A JSON object containing custom content.
             *  `list`: A JSON list of `user`, `issue`, or `json` variable types.
          items:
            $ref: "#/components/schemas/CustomContextVariable"
          type: array
        customerRequest:
          description: The ID of the customer request that is available under the `customerRequest` variable when evaluating the expression. This is the same as the ID of the underlying Jira issue, but the customer request context variable will have a different type.
          format: int64
          type: integer
        issue:
          allOf:
            - $ref: "#/components/schemas/IdOrKeyBean"
          description: The issue that is available under the `issue` variable when evaluating the expression.
        issues:
          allOf:
            - $ref: "#/components/schemas/JexpIssues"
          description: The collection of issues that is available under the `issues` variable when evaluating the expression.
        project:
          allOf:
            - $ref: "#/components/schemas/IdOrKeyBean"
          description: The project that is available under the `project` variable when evaluating the expression.
        serviceDesk:
          description: The ID of the service desk that is available under the `serviceDesk` variable when evaluating the expression.
          format: int64
          type: integer
        sprint:
          description: The ID of the sprint that is available under the `sprint` variable when evaluating the expression.
          format: int64
          type: integer
      type: object
    JiraExpressionEvalRequestBean:
      additionalProperties: false
      properties:
        context:
          allOf:
            - $ref: "#/components/schemas/JiraExpressionEvalContextBean"
          description: The context in which the Jira expression is evaluated.
        expression:
          description: The Jira expression to evaluate.
          example: "{ key: issue.key, type: issue.issueType.name, links: issue.links.map(link => link.linkedIssue.id) }"
          type: string
      required:
        - expression
      type: object
    JiraExpressionEvaluationMetaDataBean:
      additionalProperties: false
      properties:
        complexity:
          allOf:
            - $ref: "#/components/schemas/JiraExpressionsComplexityBean"
          description: Contains information about the expression complexity. For example, the number of steps it took to evaluate the expression.
        issues:
          allOf:
            - $ref: "#/components/schemas/IssuesMetaBean"
          description: Contains information about the `issues` variable in the context. For example, is the issues were loaded with JQL, information about the page will be included here.
      type: object
    JiraExpressionForAnalysis:
      additionalProperties: false
      description: Details of Jira expressions for analysis.
      properties:
        contextVariables:
          additionalProperties:
            description: Context variables and their types. The type checker assumes that <a href="https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#context-variables">common context variables</a>, such as <code>issue</code> or <code>project</code>, are available in context and sets their type. Use this property to override the default types or provide details of new variables.
            type: string
          description: Context variables and their types. The type checker assumes that [common context variables](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#context-variables), such as `issue` or `project`, are available in context and sets their type. Use this property to override the default types or provide details of new variables.
          type: object
        expressions:
          description: The list of Jira expressions to analyse.
          example: issues.map(issue => issue.properties['property_key'])
          items:
            description: The list of Jira expressions to analyse.
            example: issues.map(issue => issue.properties['property_key'])
            type: string
          type: array
      required:
        - expressions
      type: object
    JiraExpressionResult:
      additionalProperties: false
      description: The result of evaluating a Jira expression.
      properties:
        meta:
          allOf:
            - $ref: "#/components/schemas/JiraExpressionEvaluationMetaDataBean"
          description: Contains various characteristics of the performed expression evaluation.
        value:
          description: The value of the evaluated expression. It may be a primitive JSON value or a Jira REST API object. (Some expressions do not produce any meaningful results—for example, an expression that returns a lambda function—if that's the case a simple string representation is returned. These string representations should not be relied upon and may change without notice.)
      required:
        - value
      type: object
    JiraExpressionValidationError:
      additionalProperties: false
      description: |-
        Details about syntax and type errors. The error details apply to the entire expression, unless the object includes:

         *  `line` and `column`
         *  `expression`
      properties:
        column:
          description: The text column in which the error occurred.
          format: int32
          type: integer
        expression:
          description: The part of the expression in which the error occurred.
          type: string
        line:
          description: The text line in which the error occurred.
          format: int32
          type: integer
        message:
          description: Details about the error.
          example: "!, -, typeof, (, IDENTIFIER, null, true, false, NUMBER, STRING, TEMPLATE_LITERAL, new, [ or { expected, > encountered."
          type: string
        type:
          description: The error type.
          enum:
            - syntax
            - type
            - other
          type: string
      required:
        - message
        - type
      type: object
    JiraExpressionsAnalysis:
      additionalProperties: false
      description: Details about the analysed Jira expression.
      properties:
        results:
          description: The results of Jira expressions analysis.
          items:
            $ref: "#/components/schemas/JiraExpressionAnalysis"
          type: array
      required:
        - results
      type: object
    JiraExpressionsComplexityBean:
      additionalProperties: false
      properties:
        beans:
          allOf:
            - $ref: "#/components/schemas/JiraExpressionsComplexityValueBean"
          description: The number of Jira REST API beans returned in the response.
        expensiveOperations:
          allOf:
            - $ref: "#/components/schemas/JiraExpressionsComplexityValueBean"
          description: The number of expensive operations executed while evaluating the expression. Expensive operations are those that load additional data, such as entity properties, comments, or custom fields.
        primitiveValues:
          allOf:
            - $ref: "#/components/schemas/JiraExpressionsComplexityValueBean"
          description: The number of primitive values returned in the response.
        steps:
          allOf:
            - $ref: "#/components/schemas/JiraExpressionsComplexityValueBean"
          description: The number of steps it took to evaluate the expression, where a step is a high-level operation performed by the expression. A step is an operation such as arithmetic, accessing a property, accessing a context variable, or calling a function.
      required:
        - beans
        - expensiveOperations
        - primitiveValues
        - steps
      type: object
    JiraExpressionsComplexityValueBean:
      additionalProperties: false
      properties:
        limit:
          description: The maximum allowed complexity. The evaluation will fail if this value is exceeded.
          format: int32
          type: integer
        value:
          description: The complexity value of the current expression.
          format: int32
          type: integer
      required:
        - limit
        - value
      type: object
    JiraStatus:
      additionalProperties: false
      description: Details of a status.
      properties:
        description:
          description: The description of the status.
          type: string
        id:
          description: The ID of the status.
          type: string
        name:
          description: The name of the status.
          type: string
        scope:
          $ref: "#/components/schemas/StatusScope"
        statusCategory:
          description: The category of the status.
          enum:
            - TODO
            - IN_PROGRESS
            - DONE
          type: string
        usages:
          description: Projects and issue types where the status is used. Only available if the `usages` expand is requested.
          items:
            $ref: "#/components/schemas/ProjectIssueTypes"
          type: array
          uniqueItems: true
      type: object
    JqlFunctionPrecomputationBean:
      additionalProperties: false
      description: Jql function precomputation.
      properties:
        arguments:
          items:
            readOnly: true
            type: string
          readOnly: true
          type: array
        created:
          format: date-time
          readOnly: true
          type: string
        field:
          readOnly: true
          type: string
        functionKey:
          readOnly: true
          type: string
        functionName:
          readOnly: true
          type: string
        id:
          readOnly: true
          type: string
        operator:
          readOnly: true
          type: string
        updated:
          format: date-time
          readOnly: true
          type: string
        used:
          format: date-time
          readOnly: true
          type: string
        value:
          readOnly: true
          type: string
      type: object
    JqlFunctionPrecomputationUpdateBean:
      additionalProperties: false
      description: Precomputation id and its new value.
      properties:
        id:
          format: int64
          type: integer
          writeOnly: true
        value:
          type: string
          writeOnly: true
      required:
        - id
        - value
      type: object
      writeOnly: true
    JqlFunctionPrecomputationUpdateRequestBean:
      additionalProperties: false
      description: List of pairs (id and value) for precomputation updates.
      properties:
        values:
          items:
            $ref: "#/components/schemas/JqlFunctionPrecomputationUpdateBean"
          type: array
      type: object
      writeOnly: true
    JqlQueriesToParse:
      additionalProperties: false
      description: A list of JQL queries to parse.
      properties:
        queries:
          description: A list of queries to parse.
          items:
            minLength: 1
            type: string
          minLength: 1
          type: array
      required:
        - queries
      type: object
      writeOnly: true
    JqlQueriesToSanitize:
      additionalProperties: false
      description: The list of JQL queries to sanitize for the given account IDs.
      properties:
        queries:
          description: The list of JQL queries to sanitize. Must contain unique values. Maximum of 20 queries.
          items:
            $ref: "#/components/schemas/JqlQueryToSanitize"
          type: array
      required:
        - queries
      type: object
      writeOnly: true
    JqlQuery:
      additionalProperties: false
      description: A parsed JQL query.
      properties:
        orderBy:
          $ref: "#/components/schemas/JqlQueryOrderByClause"
        where:
          $ref: "#/components/schemas/JqlQueryClause"
      type: object
    JqlQueryClause:
      additionalProperties: false
      anyOf:
        - $ref: "#/components/schemas/CompoundClause"
        - $ref: "#/components/schemas/FieldValueClause"
        - $ref: "#/components/schemas/FieldWasClause"
        - $ref: "#/components/schemas/FieldChangedClause"
      description: A JQL query clause.
      type: object
    JqlQueryClauseOperand:
      anyOf:
        - $ref: "#/components/schemas/ListOperand"
        - $ref: "#/components/schemas/ValueOperand"
        - $ref: "#/components/schemas/FunctionOperand"
        - $ref: "#/components/schemas/KeywordOperand"
      description: Details of an operand in a JQL clause.
      type: object
    JqlQueryClauseTimePredicate:
      description: A time predicate for a temporal JQL clause.
      properties:
        operand:
          $ref: "#/components/schemas/JqlQueryClauseOperand"
        operator:
          description: The operator between the field and the operand.
          enum:
            - before
            - after
            - from
            - to
            - on
            - during
            - by
          type: string
      required:
        - operand
        - operator
      type: object
    JqlQueryField:
      additionalProperties: false
      description: A field used in a JQL query. See [Advanced searching - fields reference](https://confluence.atlassian.com/x/dAiiLQ) for more information about fields in JQL queries.
      properties:
        encodedName:
          description: The encoded name of the field, which can be used directly in a JQL query.
          type: string
        name:
          description: The name of the field.
          type: string
        property:
          description: When the field refers to a value in an entity property, details of the entity property value.
          items:
            $ref: "#/components/schemas/JqlQueryFieldEntityProperty"
          type: array
      required:
        - name
      type: object
    JqlQueryFieldEntityProperty:
      description: Details of an entity property.
      properties:
        entity:
          description: The object on which the property is set.
          example: issue
          type: string
        key:
          description: The key of the property.
          example: stats
          type: string
        path:
          description: The path in the property value to query.
          example: comments.count
          type: string
        type:
          description: The type of the property value extraction. Not available if the extraction for the property is not registered on the instance with the [Entity property](https://developer.atlassian.com/cloud/jira/platform/modules/entity-property/) module.
          enum:
            - number
            - string
            - text
            - date
            - user
          example: number
          type: string
      required:
        - entity
        - key
        - path
      type: object
    JqlQueryOrderByClause:
      additionalProperties: false
      description: Details of the order-by JQL clause.
      properties:
        fields:
          description: The list of order-by clause fields and their ordering directives.
          items:
            $ref: "#/components/schemas/JqlQueryOrderByClauseElement"
          type: array
      required:
        - fields
      type: object
    JqlQueryOrderByClauseElement:
      additionalProperties: false
      description: An element of the order-by JQL clause.
      properties:
        direction:
          description: The direction in which to order the results.
          enum:
            - asc
            - desc
          type: string
        field:
          $ref: "#/components/schemas/JqlQueryField"
      required:
        - field
      type: object
    JqlQueryToSanitize:
      additionalProperties: false
      description: The JQL query to sanitize for the account ID. If the account ID is null, sanitizing is performed for an anonymous user.
      properties:
        accountId:
          description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
          maxLength: 128
          nullable: true
          type: string
        query:
          description: The query to sanitize.
          type: string
      required:
        - query
      type: object
      writeOnly: true
    JqlQueryUnitaryOperand:
      anyOf:
        - $ref: "#/components/schemas/ValueOperand"
        - $ref: "#/components/schemas/FunctionOperand"
        - $ref: "#/components/schemas/KeywordOperand"
      description: An operand that can be part of a list operand.
      type: object
    JsonContextVariable:
      description: A JSON object with custom content.
      properties:
        type:
          description: Type of custom context variable.
          type: string
        value:
          description: A JSON object containing custom content.
          type: object
      required:
        - type
      type: object
    JsonNode:
      additionalProperties: false
      maxProperties: 10
      minProperties: 1
      properties:
        array:
          type: boolean
        bigDecimal:
          type: boolean
        bigInteger:
          type: boolean
        bigIntegerValue:
          type: integer
        binary:
          type: boolean
        binaryValue:
          items:
            format: byte
            type: string
          type: array
        boolean:
          type: boolean
        booleanValue:
          type: boolean
        containerNode:
          type: boolean
        decimalValue:
          type: number
        double:
          type: boolean
        doubleValue:
          format: double
          type: number
        elements:
          type: object
        fieldNames:
          type: object
        fields:
          type: object
        floatingPointNumber:
          type: boolean
        int:
          type: boolean
        intValue:
          format: int32
          type: integer
        integralNumber:
          type: boolean
        long:
          type: boolean
        longValue:
          format: int64
          type: integer
        missingNode:
          type: boolean
        "null":
          type: boolean
        number:
          type: boolean
        numberType:
          enum:
            - INT
            - LONG
            - BIG_INTEGER
            - FLOAT
            - DOUBLE
            - BIG_DECIMAL
          type: string
        numberValue:
          type: number
        object:
          type: boolean
        pojo:
          type: boolean
        textValue:
          type: string
        textual:
          type: boolean
        valueAsBoolean:
          type: boolean
        valueAsDouble:
          format: double
          type: number
        valueAsInt:
          format: int32
          type: integer
        valueAsLong:
          format: int64
          type: integer
        valueAsText:
          type: string
        valueNode:
          type: boolean
      type: object
    JsonTypeBean:
      additionalProperties: false
      description: The schema of a field.
      properties:
        configuration:
          additionalProperties:
            readOnly: true
          description: If the field is a custom field, the configuration of the field.
          readOnly: true
          type: object
        custom:
          description: If the field is a custom field, the URI of the field.
          readOnly: true
          type: string
        customId:
          description: If the field is a custom field, the custom ID of the field.
          format: int64
          readOnly: true
          type: integer
        items:
          description: When the data type is an array, the name of the field items within the array.
          readOnly: true
          type: string
        system:
          description: If the field is a system field, the name of the field.
          readOnly: true
          type: string
        type:
          description: The data type of the field.
          readOnly: true
          type: string
      required:
        - type
      type: object
    KeywordOperand:
      description: An operand that is a JQL keyword. See [Advanced searching - keywords reference](https://confluence.atlassian.com/jiracorecloud/advanced-searching-keywords-reference-765593717.html#Advancedsearching-keywordsreference-EMPTYEMPTY) for more information about operand keywords.
      properties:
        keyword:
          description: The keyword that is the operand value.
          enum:
            - empty
          type: string
      required:
        - keyword
      type: object
    License:
      additionalProperties: false
      description: Details about a license for the Jira instance.
      properties:
        applications:
          description: The applications under this license.
          items:
            $ref: "#/components/schemas/LicensedApplication"
          readOnly: true
          type: array
      required:
        - applications
      type: object
    LicenseMetric:
      additionalProperties: false
      description: A license metric
      properties:
        key:
          description: The key of the license metric.
          type: string
        value:
          description: The value for the license metric.
          type: string
      type: object
    LicensedApplication:
      additionalProperties: false
      description: Details about a licensed Jira application.
      properties:
        id:
          description: The ID of the application.
          readOnly: true
          type: string
        plan:
          description: The licensing plan.
          enum:
            - UNLICENSED
            - FREE
            - PAID
          readOnly: true
          type: string
      required:
        - id
        - plan
      type: object
    LinkGroup:
      additionalProperties: false
      description: Details a link group, which defines issue operations.
      properties:
        groups:
          items:
            $ref: "#/components/schemas/LinkGroup"
          type: array
        header:
          $ref: "#/components/schemas/SimpleLink"
        id:
          type: string
        links:
          items:
            $ref: "#/components/schemas/SimpleLink"
          type: array
        styleClass:
          type: string
        weight:
          format: int32
          type: integer
      type: object
    LinkIssueRequestJsonBean:
      additionalProperties: false
      properties:
        comment:
          $ref: "#/components/schemas/Comment"
        inwardIssue:
          $ref: "#/components/schemas/LinkedIssue"
        outwardIssue:
          $ref: "#/components/schemas/LinkedIssue"
        type:
          $ref: "#/components/schemas/IssueLinkType"
      required:
        - inwardIssue
        - outwardIssue
        - type
      type: object
    LinkedIssue:
      additionalProperties: false
      description: The ID or key of a linked issue.
      properties:
        fields:
          allOf:
            - $ref: "#/components/schemas/Fields"
          description: The fields associated with the issue.
          readOnly: true
        id:
          description: The ID of an issue. Required if `key` isn't provided.
          type: string
        key:
          description: The key of an issue. Required if `id` isn't provided.
          type: string
        self:
          description: The URL of the issue.
          format: uri
          readOnly: true
          type: string
      type: object
    ListOperand:
      description: An operand that is a list of values.
      properties:
        encodedOperand:
          description: Encoded operand, which can be used directly in a JQL query.
          type: string
        values:
          description: The list of operand values.
          items:
            $ref: "#/components/schemas/JqlQueryUnitaryOperand"
          minLength: 1
          type: array
      required:
        - values
      type: object
    ListWrapperCallbackApplicationRole:
      additionalProperties: false
      type: object
    ListWrapperCallbackGroupName:
      additionalProperties: false
      type: object
    Locale:
      additionalProperties: false
      description: Details of a locale.
      properties:
        locale:
          description: "The locale code. The Java the locale format is used: a two character language code (ISO 639), an underscore, and two letter country code (ISO 3166). For example, en\\_US represents a locale of English (United States). Required on create."
          type: string
      type: object
    MoveFieldBean:
      additionalProperties: false
      properties:
        after:
          description: The ID of the screen tab field after which to place the moved screen tab field. Required if `position` isn't provided.
          format: uri
          type: string
        position:
          description: The named position to which the screen tab field should be moved. Required if `after` isn't provided.
          enum:
            - Earlier
            - Later
            - First
            - Last
          type: string
      type: object
    MultiIssueEntityProperties:
      additionalProperties: false
      description: A list of issues and their respective properties to set or update. See [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/) for more information.
      properties:
        issues:
          description: A list of issue IDs and their respective properties.
          items:
            $ref: "#/components/schemas/IssueEntityPropertiesForMultiUpdate"
          maxProperties: 100
          minProperties: 1
          type: array
      type: object
    MultipleCustomFieldValuesUpdate:
      additionalProperties: false
      description: A custom field and its new value with a list of issue to update.
      properties:
        customField:
          description: The ID or key of the custom field. For example, `customfield_10010`.
          type: string
          writeOnly: true
        issueIds:
          description: The list of issue IDs.
          items:
            format: int64
            type: integer
            writeOnly: true
          type: array
          writeOnly: true
        value:
          description: |-
            The value for the custom field. The value must be compatible with the [custom field type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/#data-types) as follows:

             *  `string` the value must be a string.
             *  `number` the value must be a number.
             *  `datetime` the value must be a string that represents a date in the ISO format or the simplified extended ISO format. For example, `"2023-01-18T12:00:00-03:00"` or `"2023-01-18T12:00:00.000Z"`. However, the milliseconds part is ignored.
             *  `user` the value must be an object that contains the `accountId` field.
             *  `group` the value must be an object that contains the group `name` or `groupId` field. Because group names can change, we recommend using `groupId`.

            A list of appropriate values must be provided if the field is of the `list` [collection type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/jira-custom-field/#collection-types).
      required:
        - customField
        - issueIds
        - value
      type: object
      writeOnly: true
    MultipleCustomFieldValuesUpdateDetails:
      additionalProperties: false
      description: List of updates for a custom fields.
      properties:
        updates:
          items:
            $ref: "#/components/schemas/MultipleCustomFieldValuesUpdate"
          type: array
      type: object
      writeOnly: true
    NestedResponse:
      additionalProperties: false
      properties:
        errorCollection:
          $ref: "#/components/schemas/ErrorCollection"
        status:
          format: int32
          type: integer
        warningCollection:
          $ref: "#/components/schemas/WarningCollection"
      type: object
    NewUserDetails:
      additionalProperties: true
      description: The user details.
      properties:
        applicationKeys:
          description: Deprecated, do not use.
          items:
            type: string
          type: array
        displayName:
          description: This property is no longer available. If the user has an Atlassian account, their display name is not changed. If the user does not have an Atlassian account, they are sent an email asking them set up an account.
          type: string
        emailAddress:
          description: The email address for the user.
          type: string
        key:
          description: This property is no longer available. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
          type: string
        name:
          description: This property is no longer available. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
          type: string
        password:
          description: This property is no longer available. If the user has an Atlassian account, their password is not changed. If the user does not have an Atlassian account, they are sent an email asking them set up an account.
          type: string
        products:
          description: "Products the new user has access to. Valid products are: jira-core, jira-servicedesk, jira-product-discovery, jira-software. If left empty, the user will get default product access. To create a user without product access, set this field to be an empty array."
          items:
            type: string
          type: array
          uniqueItems: true
        self:
          description: The URL of the user.
          readOnly: true
          type: string
      required:
        - emailAddress
      type: object
    Notification:
      additionalProperties: true
      description: Details about a notification.
      properties:
        htmlBody:
          description: The HTML body of the email notification for the issue.
          type: string
        restrict:
          allOf:
            - $ref: "#/components/schemas/NotificationRecipientsRestrictions"
          description: Restricts the notifications to users with the specified permissions.
        subject:
          description: The subject of the email notification for the issue. If this is not specified, then the subject is set to the issue key and summary.
          type: string
        textBody:
          description: The plain text body of the email notification for the issue.
          type: string
        to:
          allOf:
            - $ref: "#/components/schemas/NotificationRecipients"
          description: The recipients of the email notification for the issue.
      type: object
    NotificationEvent:
      additionalProperties: false
      description: Details about a notification event.
      properties:
        description:
          description: The description of the event.
          type: string
        id:
          description: The ID of the event. The event can be a [Jira system event](https://confluence.atlassian.com/x/8YdKLg#Creatinganotificationscheme-eventsEvents) or a [custom event](https://confluence.atlassian.com/x/AIlKLg).
          format: int64
          type: integer
        name:
          description: The name of the event.
          type: string
        templateEvent:
          allOf:
            - $ref: "#/components/schemas/NotificationEvent"
          description: The template of the event. Only custom events configured by Jira administrators have template.
      type: object
    NotificationRecipients:
      additionalProperties: true
      description: Details of the users and groups to receive the notification.
      properties:
        assignee:
          description: Whether the notification should be sent to the issue's assignees.
          type: boolean
        groupIds:
          description: List of groupIds to receive the notification.
          items:
            type: string
          type: array
        groups:
          description: List of groups to receive the notification.
          items:
            $ref: "#/components/schemas/GroupName"
          type: array
        reporter:
          description: Whether the notification should be sent to the issue's reporter.
          type: boolean
        users:
          description: List of users to receive the notification.
          items:
            $ref: "#/components/schemas/UserDetails"
          type: array
        voters:
          description: Whether the notification should be sent to the issue's voters.
          type: boolean
        watchers:
          description: Whether the notification should be sent to the issue's watchers.
          type: boolean
      type: object
    NotificationRecipientsRestrictions:
      additionalProperties: false
      description: Details of the group membership or permissions needed to receive the notification.
      properties:
        groupIds:
          description: List of groupId memberships required to receive the notification.
          items:
            type: string
          type: array
        groups:
          description: List of group memberships required to receive the notification.
          items:
            $ref: "#/components/schemas/GroupName"
          type: array
        permissions:
          description: List of permissions required to receive the notification.
          items:
            $ref: "#/components/schemas/RestrictedPermission"
          type: array
      type: object
    NotificationScheme:
      additionalProperties: false
      description: Details about a notification scheme.
      properties:
        description:
          description: The description of the notification scheme.
          type: string
        expand:
          description: Expand options that include additional notification scheme details in the response.
          type: string
        id:
          description: The ID of the notification scheme.
          format: int64
          type: integer
        name:
          description: The name of the notification scheme.
          type: string
        notificationSchemeEvents:
          description: The notification events and associated recipients.
          items:
            $ref: "#/components/schemas/NotificationSchemeEvent"
          type: array
        projects:
          description: The list of project IDs associated with the notification scheme.
          items:
            format: int64
            type: integer
          type: array
        scope:
          allOf:
            - $ref: "#/components/schemas/Scope"
          description: The scope of the notification scheme.
        self:
          type: string
      type: object
    NotificationSchemeAndProjectMappingJsonBean:
      additionalProperties: false
      properties:
        notificationSchemeId:
          type: string
        projectId:
          type: string
      type: object
    NotificationSchemeEvent:
      additionalProperties: false
      description: Details about a notification scheme event.
      properties:
        event:
          $ref: "#/components/schemas/NotificationEvent"
        notifications:
          items:
            $ref: "#/components/schemas/EventNotification"
          type: array
      type: object
    NotificationSchemeEventDetails:
      additionalProperties: true
      description: Details of a notification scheme event.
      properties:
        event:
          allOf:
            - $ref: "#/components/schemas/NotificationSchemeEventTypeId"
          description: The ID of the event.
        notifications:
          description: The list of notifications mapped to a specified event.
          items:
            $ref: "#/components/schemas/NotificationSchemeNotificationDetails"
          maxLength: 255
          type: array
          writeOnly: true
      required:
        - event
        - notifications
      type: object
      writeOnly: true
    NotificationSchemeEventTypeId:
      additionalProperties: true
      description: The ID of an event that is being mapped to notifications.
      properties:
        id:
          description: The ID of the notification scheme event.
          type: string
          writeOnly: true
      required:
        - id
      type: object
      writeOnly: true
    NotificationSchemeId:
      additionalProperties: true
      description: The ID of a notification scheme.
      properties:
        id:
          description: The ID of a notification scheme.
          readOnly: true
          type: string
      required:
        - id
      type: object
    NotificationSchemeNotificationDetails:
      additionalProperties: true
      description: Details of a notification within a notification scheme.
      maxLength: 255
      properties:
        notificationType:
          description: The notification type, e.g `CurrentAssignee`, `Group`, `EmailAddress`.
          type: string
          writeOnly: true
        parameter:
          description: The value corresponding to the specified notification type.
          type: string
          writeOnly: true
      required:
        - notificationType
      type: object
      writeOnly: true
    OperationMessage:
      additionalProperties: false
      example:
        message: An example message.
        statusCode: 200
      properties:
        message:
          description: The human-readable message that describes the result.
          type: string
        statusCode:
          description: The status code of the response.
          type: integer
      required:
        - message
        - statusCode
      type: object
    Operations:
      additionalProperties: true
      description: Details of the operations that can be performed on the issue.
      properties:
        linkGroups:
          description: Details of the link groups defining issue operations.
          items:
            $ref: "#/components/schemas/LinkGroup"
          readOnly: true
          type: array
      type: object
    OrderOfCustomFieldOptions:
      additionalProperties: false
      description: An ordered list of custom field option IDs and information on where to move them.
      properties:
        after:
          description: The ID of the custom field option or cascading option to place the moved options after. Required if `position` isn't provided.
          type: string
          writeOnly: true
        customFieldOptionIds:
          description: A list of IDs of custom field options to move. The order of the custom field option IDs in the list is the order they are given after the move. The list must contain custom field options or cascading options, but not both.
          items:
            type: string
            writeOnly: true
          type: array
          writeOnly: true
        position:
          description: The position the custom field options should be moved to. Required if `after` isn't provided.
          enum:
            - First
            - Last
          type: string
          writeOnly: true
      required:
        - customFieldOptionIds
      type: object
    OrderOfIssueTypes:
      additionalProperties: false
      description: An ordered list of issue type IDs and information about where to move them.
      properties:
        after:
          description: The ID of the issue type to place the moved issue types after. Required if `position` isn't provided.
          type: string
          writeOnly: true
        issueTypeIds:
          description: A list of the issue type IDs to move. The order of the issue type IDs in the list is the order they are given after the move.
          items:
            type: string
            writeOnly: true
          type: array
          writeOnly: true
        position:
          description: The position the issue types should be moved to. Required if `after` isn't provided.
          enum:
            - First
            - Last
          type: string
          writeOnly: true
      required:
        - issueTypeIds
      type: object
    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
    PageBeanComment:
      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/Comment"
          readOnly: true
          type: array
      type: object
    PageBeanComponentWithIssueCount:
      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/ComponentWithIssueCount"
          readOnly: true
          type: array
      type: object
    PageBeanContext:
      additionalProperties: false
      description: A page of items.
      properties:
        isLast:
          description: Whether this is the last page.
          readOnly: true
          type: boolean
        maxResults:
          description: The maximum number of items that could be returned.
          format: int32
          readOnly: true
          type: integer
        nextPage:
          description: If there is another page of results, the URL of the next page.
          format: uri
          readOnly: true
          type: string
        self:
          description: The URL of the page.
          format: uri
          readOnly: true
          type: string
        startAt:
          description: The index of the first item returned.
          format: int64
          readOnly: true
          type: integer
        total:
          description: The number of items returned.
          format: int64
          readOnly: true
          type: integer
        values:
          description: The list of items.
          items:
            $ref: "#/components/schemas/Context"
          readOnly: true
          type: array
      type: object
    PageBeanContextForProjectAndIssueType:
      additionalProperties: false
      description: A page of items.
      properties:
        isLast:
          description: Whether this is the last page.
          readOnly: true
          type: boolean
        maxResults:
          description: The maximum number of items that could be returned.
          format: int32
          readOnly: true
          type: integer
        nextPage:
          description: If there is another page of results, the URL of the next page.
          format: uri
          readOnly: true
          type: string
        self:
          description: The URL of the page.
          format: uri
          readOnly: true
          type: string
        startAt:
          description: The index of the first item returned.
          format: int64
          readOnly: true
          type: integer
        total:
          description: The number of items returned.
          format: int64
          readOnly: true
          type: integer
        values:
          description: The list of items.
          items:
            $ref: "#/components/schemas/ContextForProjectAndIssueType"
          readOnly: true
          type: array
      type: object
    PageBeanContextualConfiguration:
      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/ContextualConfiguration"
          readOnly: true
          type: array
      type: object
    PageBeanCustomFieldContext:
      additionalProperties: false
      description: A page of items.
      properties:
        isLast:
          description: Whether this is the last page.
          readOnly: true
          type: boolean
        maxResults:
          description: The maximum number of items that could be returned.
          format: int32
          readOnly: true
          type: integer
        nextPage:
          description: If there is another page of results, the URL of the next page.
          format: uri
          readOnly: true
          type: string
        self:
          description: The URL of the page.
          format: uri
          readOnly: true
          type: string
        startAt:
          description: The index of the first item returned.
          format: int64
          readOnly: true
          type: integer
        total:
          description: The number of items returned.
          format: int64
          readOnly: true
          type: integer
        values:
          description: The list of items.
          items:
            $ref: "#/components/schemas/CustomFieldContext"
          readOnly: true
          type: array
      type: object
    PageBeanCustomFieldContextDefaultValue:
      additionalProperties: false
      description: A page of items.
      properties:
        isLast:
          description: Whether this is the last page.
          readOnly: true
          type: boolean
        maxResults:
          description: The maximum number of items that could be returned.
          format: int32
          readOnly: true
          type: integer
        nextPage:
          description: If there is another page of results, the URL of the next page.
          format: uri
          readOnly: true
          type: string
        self:
          description: The URL of the page.
          format: uri
          readOnly: true
          type: string
        startAt:
          description: The index of the first item returned.
          format: int64
          readOnly: true
          type: integer
        total:
          description: The number of items returned.
          format: int64
          readOnly: true
          type: integer
        values:
          description: The list of items.
          items:
            $ref: "#/components/schemas/CustomFieldContextDefaultValue"
          readOnly: true
          type: array
      type: object
    PageBeanCustomFieldContextOption:
      additionalProperties: false
      description: A page of items.
      properties:
        isLast:
          description: Whether this is the last page.
          readOnly: true
          type: boolean
        maxResults:
          description: The maximum number of items that could be returned.
          format: int32
          readOnly: true
          type: integer
        nextPage:
          description: If there is another page of results, the URL of the next page.
          format: uri
          readOnly: true
          type: string
        self:
          description: The URL of the page.
          format: uri
          readOnly: true
          type: string
        startAt:
          description: The index of the first item returned.
          format: int64
          readOnly: true
          type: integer
        total:
          description: The number of items returned.
          format: int64
          readOnly: true
          type: integer
        values:
          description: The list of items.
          items:
            $ref: "#/components/schemas/CustomFieldContextOption"
          readOnly: true
          type: array
      type: object
    PageBeanCustomFieldContextProjectMapping:
      additionalProperties: false
      description: A page of items.
      properties:
        isLast:
          description: Whether this is the last page.
          readOnly: true
          type: boolean
        maxResults:
          description: The maximum number of items that could be returned.
          format: int32
          readOnly: true
          type: integer
        nextPage:
          description: If there is another page of results, the URL of the next page.
          format: uri
          readOnly: true
          type: string
        self:
          description: The URL of the page.
          format: uri
          readOnly: true
          type: string
        startAt:
          description: The index of the first item returned.
          format: int64
          readOnly: true
          type: integer
        total:
          description: The number of items returned.
          format: int64
          readOnly: true
          type: integer
        values:
          description: The list of items.
          items:
            $ref: "#/components/schemas/CustomFieldContextProjectMapping"
          readOnly: true
          type: array
      type: object
    PageBeanDashboard:
      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/Dashboard"
          readOnly: true
          type: array
      type: object
    PageBeanField:
      additionalProperties: false
      description: A page of items.
      properties:
        isLast:
          description: Whether this is the last page.
          readOnly: true
          type: boolean
        maxResults:
          description: The maximum number of items that could be returned.
          format: int32
          readOnly: true
          type: integer
        nextPage:
          description: If there is another page of results, the URL of the next page.
          format: uri
          readOnly: true
          type: string
        self:
          description: The URL of the page.
          format: uri
          readOnly: true
          type: string
        startAt:
          description: The index of the first item returned.
          format: int64
          readOnly: true
          type: integer
        total:
          description: The number of items returned.
          format: int64
          readOnly: true
          type: integer
        values:
          description: The list of items.
          items:
            $ref: "#/components/schemas/Field"
          readOnly: true
          type: array
      type: object
    PageBeanFieldConfigurationDetails:
      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/FieldConfigurationDetails"
          readOnly: true
          type: array
      type: object
    PageBeanFieldConfigurationIssueTypeItem:
      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/FieldConfigurationIssueTypeItem"
          readOnly: true
          type: array
      type: object
    PageBeanFieldConfigurationItem:
      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/FieldConfigurationItem"
          readOnly: true
          type: array
      type: object
    PageBeanFieldConfigurationScheme:
      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/FieldConfigurationScheme"
          readOnly: true
          type: array
      type: object
    PageBeanFieldConfigurationSchemeProjects:
      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/FieldConfigurationSchemeProjects"
          readOnly: true
          type: array
      type: object
    PageBeanFilterDetails:
      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/FilterDetails"
          readOnly: true
          type: array
      type: object
    PageBeanGroupDetails:
      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/GroupDetails"
          readOnly: true
          type: array
      type: object
    PageBeanIssueFieldOption:
      additionalProperties: false
      description: A page of items.
      properties:
        isLast:
          description: Whether this is the last page.
          readOnly: true
          type: boolean
        maxResults:
          description: The maximum number of items that could be returned.
          format: int32
          readOnly: true
          type: integer
        nextPage:
          description: If there is another page of results, the URL of the next page.
          format: uri
          readOnly: true
          type: string
        self:
          description: The URL of the page.
          format: uri
          readOnly: true
          type: string
        startAt:
          description: The index of the first item returned.
          format: int64
          readOnly: true
          type: integer
        total:
          description: The number of items returned.
          format: int64
          readOnly: true
          type: integer
        values:
          description: The list of items.
          items:
            $ref: "#/components/schemas/IssueFieldOption"
          readOnly: true
          type: array
      type: object
    PageBeanIssueSecurityLevelMember:
      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/IssueSecurityLevelMember"
          readOnly: true
          type: array
      type: object
    PageBeanIssueSecuritySchemeToProjectMapping:
      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/IssueSecuritySchemeToProjectMapping"
          readOnly: true
          type: array
      type: object
    PageBeanIssueTypeScheme:
      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/IssueTypeScheme"
          readOnly: true
          type: array
      type: object
    PageBeanIssueTypeSchemeMapping:
      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/IssueTypeSchemeMapping"
          readOnly: true
          type: array
      type: object
    PageBeanIssueTypeSchemeProjects:
      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/IssueTypeSchemeProjects"
          readOnly: true
          type: array
      type: object
    PageBeanIssueTypeScreenScheme:
      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/IssueTypeScreenScheme"
          readOnly: true
          type: array
      type: object
    PageBeanIssueTypeScreenSchemeItem:
      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/IssueTypeScreenSchemeItem"
          readOnly: true
          type: array
      type: object
    PageBeanIssueTypeScreenSchemesProjects:
      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/IssueTypeScreenSchemesProjects"
          readOnly: true
          type: array
      type: object
    PageBeanIssueTypeToContextMapping:
      additionalProperties: false
      description: A page of items.
      properties:
        isLast:
          description: Whether this is the last page.
          readOnly: true
          type: boolean
        maxResults:
          description: The maximum number of items that could be returned.
          format: int32
          readOnly: true
          type: integer
        nextPage:
          description: If there is another page of results, the URL of the next page.
          format: uri
          readOnly: true
          type: string
        self:
          description: The URL of the page.
          format: uri
          readOnly: true
          type: string
        startAt:
          description: The index of the first item returned.
          format: int64
          readOnly: true
          type: integer
        total:
          description: The number of items returned.
          format: int64
          readOnly: true
          type: integer
        values:
          description: The list of items.
          items:
            $ref: "#/components/schemas/IssueTypeToContextMapping"
          readOnly: true
          type: array
      type: object
    PageBeanJqlFunctionPrecomputationBean:
      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/JqlFunctionPrecomputationBean"
          readOnly: true
          type: array
      type: object
    PageBeanNotificationScheme:
      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/NotificationScheme"
          readOnly: true
          type: array
      type: object
    PageBeanNotificationSchemeAndProjectMappingJsonBean:
      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/NotificationSchemeAndProjectMappingJsonBean"
          readOnly: true
          type: array
      type: object
    PageBeanPriority:
      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/Priority"
          readOnly: true
          type: array
      type: object
    PageBeanProject:
      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/Project"
          readOnly: true
          type: array
      type: object
    PageBeanProjectDetails:
      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/ProjectDetails"
          readOnly: true
          type: array
      type: object
    PageBeanResolutionJsonBean:
      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/ResolutionJsonBean"
          readOnly: true
          type: array
      type: object
    PageBeanScreen:
      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/Screen"
          readOnly: true
          type: array
      type: object
    PageBeanScreenScheme:
      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/ScreenScheme"
          readOnly: true
          type: array
      type: object
    PageBeanScreenWithTab:
      additionalProperties: false
      description: A page of items.
      properties:
        isLast:
          description: Whether this is the last page.
          readOnly: true
          type: boolean
        maxResults:
          description: The maximum number of items that could be returned.
          format: int32
          readOnly: true
          type: integer
        nextPage:
          description: If there is another page of results, the URL of the next page.
          format: uri
          readOnly: true
          type: string
        self:
          description: The URL of the page.
          format: uri
          readOnly: true
          type: string
        startAt:
          description: The index of the first item returned.
          format: int64
          readOnly: true
          type: integer
        total:
          description: The number of items returned.
          format: int64
          readOnly: true
          type: integer
        values:
          description: The list of items.
          items:
            $ref: "#/components/schemas/ScreenWithTab"
          readOnly: true
          type: array
      type: object
    PageBeanSecurityLevel:
      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/SecurityLevel"
          readOnly: true
          type: array
      type: object
    PageBeanSecurityLevelMember:
      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/SecurityLevelMember"
          readOnly: true
          type: array
      type: object
    PageBeanSecuritySchemeWithProjects:
      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/SecuritySchemeWithProjects"
          readOnly: true
          type: array
      type: object
    PageBeanString:
      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:
            readOnly: true
            type: string
          readOnly: true
          type: array
      type: object
    PageBeanUiModificationDetails:
      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/UiModificationDetails"
          readOnly: true
          type: array
      type: object
    PageBeanUser:
      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/User"
          readOnly: true
          type: array
      type: object
    PageBeanUserDetails:
      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/UserDetails"
          readOnly: true
          type: array
      type: object
    PageBeanUserKey:
      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/UserKey"
          readOnly: true
          type: array
      type: object
    PageBeanVersion:
      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/Version"
          readOnly: true
          type: array
      type: object
    PageBeanWebhook:
      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/Webhook"
          readOnly: true
          type: array
      type: object
    PageBeanWorkflow:
      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/Workflow"
          readOnly: true
          type: array
      type: object
    PageBeanWorkflowScheme:
      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/WorkflowScheme"
          readOnly: true
          type: array
      type: object
    PageBeanWorkflowTransitionRules:
      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/WorkflowTransitionRules"
          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
    PageOfDashboards:
      additionalProperties: false
      description: A page containing dashboard details.
      properties:
        dashboards:
          description: List of dashboards.
          items:
            $ref: "#/components/schemas/Dashboard"
          readOnly: true
          type: array
        maxResults:
          description: The maximum number of results that could be on the page.
          format: int32
          readOnly: true
          type: integer
        next:
          description: The URL of the next page of results, if any.
          readOnly: true
          type: string
        prev:
          description: The URL of the previous page of results, if any.
          readOnly: true
          type: string
        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
    PageOfStatuses:
      additionalProperties: false
      properties:
        isLast:
          description: Whether this is the last page.
          type: boolean
        maxResults:
          description: The maximum number of items that could be returned.
          format: int32
          type: integer
        nextPage:
          description: The URL of the next page of results, if any.
          type: string
        self:
          description: The URL of this page.
          type: string
        startAt:
          description: The index of the first item returned on the page.
          format: int64
          type: integer
        total:
          description: Number of items that satisfy the search.
          format: int64
          type: integer
        values:
          description: The list of items.
          items:
            $ref: "#/components/schemas/JiraStatus"
          type: array
      type: object
    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
    PagedListUserDetailsApplicationUser:
      additionalProperties: false
      description: A paged list. To access additional details append `[start-index:end-index]` to the expand request. For example, `?expand=sharedUsers[10:40]` returns a list starting at item 10 and finishing at item 40.
      properties:
        end-index:
          description: The index of the last item returned on the page.
          format: int32
          readOnly: true
          type: integer
          xml:
            attribute: true
            name: end-index
        items:
          description: The list of items.
          items:
            $ref: "#/components/schemas/UserDetails"
          readOnly: true
          type: array
        max-results:
          description: The maximum number of results that could be on the page.
          format: int32
          readOnly: true
          type: integer
          xml:
            attribute: true
            name: max-results
        size:
          description: The number of items on the page.
          format: int32
          readOnly: true
          type: integer
          xml:
            attribute: true
        start-index:
          description: The index of the first item returned on the page.
          format: int32
          readOnly: true
          type: integer
          xml:
            attribute: true
            name: start-index
      type: object
    PaginatedResponseComment:
      additionalProperties: false
      properties:
        maxResults:
          format: int32
          type: integer
        results:
          items:
            $ref: "#/components/schemas/Comment"
          type: array
        startAt:
          format: int64
          type: integer
        total:
          format: int64
          type: integer
      type: object
    ParsedJqlQueries:
      additionalProperties: false
      description: A list of parsed JQL queries.
      properties:
        queries:
          description: A list of parsed JQL queries.
          items:
            $ref: "#/components/schemas/ParsedJqlQuery"
          minLength: 1
          type: array
      required:
        - queries
      type: object
    ParsedJqlQuery:
      additionalProperties: false
      description: Details of a parsed JQL query.
      minLength: 1
      properties:
        errors:
          description: The list of syntax or validation errors.
          items:
            type: string
          type: array
          uniqueItems: true
        query:
          description: The JQL query that was parsed and validated.
          type: string
        structure:
          allOf:
            - $ref: "#/components/schemas/JqlQuery"
          description: The syntax tree of the query. Empty if the query was invalid.
      required:
        - query
      type: object
    PermissionGrant:
      additionalProperties: false
      description: Details about a permission granted to a user or group.
      properties:
        holder:
          allOf:
            - $ref: "#/components/schemas/PermissionHolder"
          description: The user or group being granted the permission. It consists of a `type`, a type-dependent `parameter` and a type-dependent `value`. See [Holder object](../api-group-permission-schemes/#holder-object) in *Get all permission schemes* for more information.
        id:
          description: The ID of the permission granted details.
          format: int64
          readOnly: true
          type: integer
        permission:
          description: The permission to grant. This permission can be one of the built-in permissions or a custom permission added by an app. See [Built-in permissions](../api-group-permission-schemes/#built-in-permissions) in *Get all permission schemes* for more information about the built-in permissions. See the [project permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation for more information about custom permissions.
          type: string
        self:
          description: The URL of the permission granted details.
          format: uri
          readOnly: true
          type: string
      type: object
    PermissionGrants:
      additionalProperties: false
      description: List of permission grants.
      properties:
        expand:
          description: Expand options that include additional permission grant details in the response.
          readOnly: true
          type: string
        permissions:
          description: Permission grants list.
          items:
            $ref: "#/components/schemas/PermissionGrant"
          readOnly: true
          type: array
      type: object
    PermissionHolder:
      additionalProperties: false
      description: Details of a user, group, field, or project role that holds a permission. See [Holder object](../api-group-permission-schemes/#holder-object) in *Get all permission schemes* for more information.
      properties:
        expand:
          description: Expand options that include additional permission holder details in the response.
          readOnly: true
          type: string
        parameter:
          description: As a group's name can change, use of `value` is recommended. The identifier associated withthe `type` value that defines the holder of the permission.
          type: string
        type:
          description: The type of permission holder.
          type: string
        value:
          description: The identifier associated with the `type` value that defines the holder of the permission.
          type: string
      required:
        - type
      type: object
    PermissionScheme:
      additionalProperties: true
      description: Details of a permission scheme.
      properties:
        description:
          description: A description for the permission scheme.
          type: string
        expand:
          description: The expand options available for the permission scheme.
          readOnly: true
          type: string
        id:
          description: The ID of the permission scheme.
          format: int64
          readOnly: true
          type: integer
        name:
          description: The name of the permission scheme. Must be unique.
          type: string
        permissions:
          description: The permission scheme to create or update. See [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more information.
          items:
            $ref: "#/components/schemas/PermissionGrant"
          type: array
        scope:
          allOf:
            - $ref: "#/components/schemas/Scope"
          description: The scope of the permission scheme.
        self:
          description: The URL of the permission scheme.
          format: uri
          readOnly: true
          type: string
      required:
        - name
      type: object
    PermissionSchemes:
      additionalProperties: false
      description: List of all permission schemes.
      properties:
        permissionSchemes:
          description: Permission schemes list.
          items:
            $ref: "#/components/schemas/PermissionScheme"
          readOnly: true
          type: array
      type: object
    Permissions:
      additionalProperties: false
      description: Details about permissions.
      properties:
        permissions:
          additionalProperties:
            $ref: "#/components/schemas/UserPermission"
          description: List of permissions.
          readOnly: true
          type: object
      type: object
    PermissionsKeysBean:
      additionalProperties: false
      properties:
        permissions:
          description: A list of permission keys.
          items:
            type: string
          type: array
      required:
        - permissions
      type: object
    PermittedProjects:
      additionalProperties: false
      description: A list of projects in which a user is granted permissions.
      properties:
        projects:
          description: A list of projects.
          items:
            $ref: "#/components/schemas/ProjectIdentifierBean"
          readOnly: true
          type: array
      type: object
    Priority:
      additionalProperties: true
      description: An issue priority.
      properties:
        description:
          description: The description of the issue priority.
          type: string
        iconUrl:
          description: The URL of the icon for the issue priority.
          type: string
        id:
          description: The ID of the issue priority.
          type: string
        isDefault:
          description: Whether this priority is the default.
          type: boolean
        name:
          description: The name of the issue priority.
          type: string
        self:
          description: The URL of the issue priority.
          type: string
        statusColor:
          description: The color used to indicate the issue priority.
          type: string
      type: object
    PriorityId:
      additionalProperties: true
      description: The ID of an issue priority.
      properties:
        id:
          description: The ID of the issue priority.
          readOnly: true
          type: string
      required:
        - id
      type: object
    Project:
      additionalProperties: false
      description: Details about a project.
      properties:
        archived:
          description: Whether the project is archived.
          readOnly: true
          type: boolean
        archivedBy:
          allOf:
            - $ref: "#/components/schemas/User"
          description: The user who archived the project.
          readOnly: true
        archivedDate:
          description: The date when the project was archived.
          format: date-time
          readOnly: true
          type: string
        assigneeType:
          description: The default assignee when creating issues for this project.
          enum:
            - PROJECT_LEAD
            - UNASSIGNED
          readOnly: true
          type: string
        avatarUrls:
          allOf:
            - $ref: "#/components/schemas/AvatarUrlsBean"
          description: The URLs of the project's avatars.
          readOnly: true
        components:
          description: List of the components contained in the project.
          items:
            $ref: "#/components/schemas/ProjectComponent"
          readOnly: true
          type: array
        deleted:
          description: Whether the project is marked as deleted.
          readOnly: true
          type: boolean
        deletedBy:
          allOf:
            - $ref: "#/components/schemas/User"
          description: The user who marked the project as deleted.
          readOnly: true
        deletedDate:
          description: The date when the project was marked as deleted.
          format: date-time
          readOnly: true
          type: string
        description:
          description: A brief description of the project.
          readOnly: true
          type: string
        email:
          description: An email address associated with the project.
          type: string
        expand:
          description: Expand options that include additional project details in the response.
          readOnly: true
          type: string
          xml:
            attribute: true
        favourite:
          description: Whether the project is selected as a favorite.
          type: boolean
        id:
          description: The ID of the project.
          type: string
        insight:
          allOf:
            - $ref: "#/components/schemas/ProjectInsight"
          description: Insights about the project.
          readOnly: true
        isPrivate:
          description: Whether the project is private.
          readOnly: true
          type: boolean
        issueTypeHierarchy:
          allOf:
            - $ref: "#/components/schemas/Hierarchy"
          description: The issue type hierarchy for the project.
          readOnly: true
        issueTypes:
          description: List of the issue types available in the project.
          items:
            $ref: "#/components/schemas/IssueTypeDetails"
          readOnly: true
          type: array
        key:
          description: The key of the project.
          readOnly: true
          type: string
        landingPageInfo:
          allOf:
            - $ref: "#/components/schemas/ProjectLandingPageInfo"
          description: The project landing page info.
          readOnly: true
        lead:
          allOf:
            - $ref: "#/components/schemas/User"
          description: The username of the project lead.
          readOnly: true
        name:
          description: The name of the project.
          readOnly: true
          type: string
        permissions:
          allOf:
            - $ref: "#/components/schemas/ProjectPermissions"
          description: User permissions on the project
          readOnly: true
        projectCategory:
          allOf:
            - $ref: "#/components/schemas/ProjectCategory"
          description: The category the project belongs to.
          readOnly: true
        projectTypeKey:
          description: The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the project.
          enum:
            - software
            - service_desk
            - business
          readOnly: true
          type: string
        properties:
          additionalProperties:
            readOnly: true
          description: Map of project properties
          readOnly: true
          type: object
        retentionTillDate:
          description: The date when the project is deleted permanently.
          format: date-time
          readOnly: true
          type: string
        roles:
          additionalProperties:
            format: uri
            readOnly: true
            type: string
          description: The name and self URL for each role defined in the project. For more information, see [Create project role](#api-rest-api-3-role-post).
          readOnly: true
          type: object
        self:
          description: The URL of the project details.
          format: uri
          readOnly: true
          type: string
        simplified:
          description: Whether the project is simplified.
          readOnly: true
          type: boolean
        style:
          description: The type of the project.
          enum:
            - classic
            - next-gen
          readOnly: true
          type: string
        url:
          description: A link to information about this project, such as project documentation.
          readOnly: true
          type: string
        uuid:
          description: Unique ID for next-gen projects.
          format: uuid
          readOnly: true
          type: string
        versions:
          description: The versions defined in the project. For more information, see [Create version](#api-rest-api-3-version-post).
          items:
            $ref: "#/components/schemas/Version"
          readOnly: true
          type: array
      type: object
      xml:
        name: project
    ProjectAvatars:
      additionalProperties: false
      description: List of project avatars.
      properties:
        custom:
          description: List of avatars added to Jira. These avatars may be deleted.
          items:
            $ref: "#/components/schemas/Avatar"
          readOnly: true
          type: array
        system:
          description: List of avatars included with Jira. These avatars cannot be deleted.
          items:
            $ref: "#/components/schemas/Avatar"
          readOnly: true
          type: array
      type: object
    ProjectCategory:
      additionalProperties: false
      description: A project category.
      properties:
        description:
          description: The description of the project category.
          type: string
        id:
          description: The ID of the project category.
          readOnly: true
          type: string
        name:
          description: The name of the project category. Required on create, optional on update.
          type: string
        self:
          description: The URL of the project category.
          format: uri
          readOnly: true
          type: string
      type: object
    ProjectComponent:
      additionalProperties: false
      description: Details about a project component.
      properties:
        assignee:
          allOf:
            - $ref: "#/components/schemas/User"
          description: The details of the user associated with `assigneeType`, if any. See `realAssignee` for details of the user assigned to issues created with this component.
          readOnly: true
        assigneeType:
          description: |-
            The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType` for details on how the type of the user, and hence the user, assigned to issues is determined. Can take the following values:

             *  `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the component is in.
             *  `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component.
             *  `UNASSIGNED` an assignee is not set for issues created with this component.
             *  `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the project that the component is in.

            Default value: `PROJECT_DEFAULT`.  
            Optional when creating or updating a component.
          enum:
            - PROJECT_DEFAULT
            - COMPONENT_LEAD
            - PROJECT_LEAD
            - UNASSIGNED
          type: string
        description:
          description: The description for the component. Optional when creating or updating a component.
          type: string
        id:
          description: The unique identifier for the component.
          readOnly: true
          type: string
        isAssigneeTypeValid:
          description: Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but the component lead is not set, then `false` is returned.
          readOnly: true
          type: boolean
        lead:
          allOf:
            - $ref: "#/components/schemas/User"
          description: The user details for the component's lead user.
          readOnly: true
        leadAccountId:
          description: The accountId of the component's lead user. The accountId uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
          maxLength: 128
          type: string
          writeOnly: true
        leadUserName:
          description: This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
          type: string
        name:
          description: The unique name for the component in the project. Required when creating a component. Optional when updating a component. The maximum length is 255 characters.
          type: string
        project:
          description: The key of the project the component is assigned to. Required when creating a component. Can't be updated.
          type: string
        projectId:
          description: The ID of the project the component is assigned to.
          format: int64
          readOnly: true
          type: integer
        realAssignee:
          allOf:
            - $ref: "#/components/schemas/User"
          description: The user assigned to issues created with this component, when `assigneeType` does not identify a valid assignee.
          readOnly: true
        realAssigneeType:
          description: |-
            The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values:

             *  `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in.
             *  `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in.
             *  `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues.
             *  `PROJECT_DEFAULT` when none of the preceding cases are true.
          enum:
            - PROJECT_DEFAULT
            - COMPONENT_LEAD
            - PROJECT_LEAD
            - UNASSIGNED
          readOnly: true
          type: string
        self:
          description: The URL of the component.
          format: uri
          readOnly: true
          type: string
      type: object
      xml:
        name: component
    ProjectDetails:
      additionalProperties: false
      description: Details about a project.
      properties:
        avatarUrls:
          allOf:
            - $ref: "#/components/schemas/AvatarUrlsBean"
          description: The URLs of the project's avatars.
          readOnly: true
        id:
          description: The ID of the project.
          type: string
        key:
          description: The key of the project.
          readOnly: true
          type: string
        name:
          description: The name of the project.
          readOnly: true
          type: string
        projectCategory:
          allOf:
            - $ref: "#/components/schemas/UpdatedProjectCategory"
          description: The category the project belongs to.
          readOnly: true
        projectTypeKey:
          description: The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the project.
          enum:
            - software
            - service_desk
            - business
          readOnly: true
          type: string
        self:
          description: The URL of the project details.
          readOnly: true
          type: string
        simplified:
          description: Whether or not the project is simplified.
          readOnly: true
          type: boolean
      type: object
    ProjectEmailAddress:
      additionalProperties: false
      description: A project's sender email address.
      properties:
        emailAddress:
          description: The email address.
          type: string
        emailAddressStatus:
          description: When using a custom domain, the status of the email address.
          items:
            type: string
          type: array
      type: object
    ProjectFeature:
      additionalProperties: false
      description: Details of a project feature.
      properties:
        feature:
          description: The key of the feature.
          type: string
        imageUri:
          description: URI for the image representing the feature.
          type: string
        localisedDescription:
          description: Localized display description for the feature.
          type: string
        localisedName:
          description: Localized display name for the feature.
          type: string
        prerequisites:
          description: List of keys of the features required to enable the feature.
          items:
            type: string
          type: array
        projectId:
          description: The ID of the project.
          format: int64
          type: integer
        state:
          description: The state of the feature. When updating the state of a feature, only ENABLED and DISABLED are supported. Responses can contain all values
          enum:
            - ENABLED
            - DISABLED
            - COMING_SOON
          type: string
        toggleLocked:
          description: Whether the state of the feature can be updated.
          type: boolean
      type: object
    ProjectFeatureState:
      additionalProperties: false
      description: Details of the feature state.
      properties:
        state:
          description: The feature state.
          enum:
            - ENABLED
            - DISABLED
            - COMING_SOON
          type: string
      type: object
    ProjectId:
      additionalProperties: false
      description: Project ID details.
      properties:
        id:
          description: The ID of the project.
          type: string
      required:
        - id
      type: object
    ProjectIdentifierBean:
      additionalProperties: false
      description: The identifiers for a project.
      properties:
        id:
          description: The ID of the project.
          format: int64
          readOnly: true
          type: integer
        key:
          description: The key of the project.
          readOnly: true
          type: string
      type: object
    ProjectIdentifiers:
      additionalProperties: false
      description: Identifiers for a project.
      properties:
        id:
          description: The ID of the created project.
          format: int64
          readOnly: true
          type: integer
        key:
          description: The key of the created project.
          readOnly: true
          type: string
        self:
          description: The URL of the created project.
          format: uri
          readOnly: true
          type: string
      required:
        - id
        - key
        - self
      type: object
    ProjectIds:
      additionalProperties: false
      description: A list of project IDs.
      properties:
        projectIds:
          description: The IDs of projects.
          items:
            type: string
            writeOnly: true
          type: array
          writeOnly: true
      required:
        - projectIds
      type: object
    ProjectInsight:
      additionalProperties: false
      description: Additional details about a project.
      properties:
        lastIssueUpdateTime:
          description: The last issue update time.
          format: date-time
          readOnly: true
          type: string
        totalIssueCount:
          description: Total issue count.
          format: int64
          readOnly: true
          type: integer
      type: object
    ProjectIssueCreateMetadata:
      additionalProperties: false
      description: Details of the issue creation metadata for a project.
      properties:
        avatarUrls:
          allOf:
            - $ref: "#/components/schemas/AvatarUrlsBean"
          description: List of the project's avatars, returning the avatar size and associated URL.
          readOnly: true
        expand:
          description: Expand options that include additional project issue create metadata details in the response.
          readOnly: true
          type: string
          xml:
            attribute: true
        id:
          description: The ID of the project.
          readOnly: true
          type: string
        issuetypes:
          description: List of the issue types supported by the project.
          items:
            $ref: "#/components/schemas/IssueTypeIssueCreateMetadata"
          readOnly: true
          type: array
        key:
          description: The key of the project.
          readOnly: true
          type: string
        name:
          description: The name of the project.
          readOnly: true
          type: string
        self:
          description: The URL of the project.
          readOnly: true
          type: string
      type: object
    ProjectIssueSecurityLevels:
      additionalProperties: false
      description: List of issue level security items in a project.
      properties:
        levels:
          description: Issue level security items list.
          items:
            $ref: "#/components/schemas/SecurityLevel"
          readOnly: true
          type: array
      required:
        - levels
      type: object
    ProjectIssueTypeHierarchy:
      additionalProperties: false
      description: The hierarchy of issue types within a project.
      properties:
        hierarchy:
          description: Details of an issue type hierarchy level.
          items:
            $ref: "#/components/schemas/ProjectIssueTypesHierarchyLevel"
          readOnly: true
          type: array
        projectId:
          description: The ID of the project.
          format: int64
          readOnly: true
          type: integer
      type: object
    ProjectIssueTypeMapping:
      additionalProperties: false
      description: The project and issue type mapping.
      properties:
        issueTypeId:
          description: The ID of the issue type.
          type: string
          writeOnly: true
        projectId:
          description: The ID of the project.
          type: string
          writeOnly: true
      required:
        - issueTypeId
        - projectId
      type: object
      writeOnly: true
    ProjectIssueTypeMappings:
      additionalProperties: false
      description: The project and issue type mappings.
      properties:
        mappings:
          description: The project and issue type mappings.
          items:
            $ref: "#/components/schemas/ProjectIssueTypeMapping"
          type: array
          writeOnly: true
      required:
        - mappings
      type: object
    ProjectIssueTypes:
      additionalProperties: false
      description: Projects and issue types where the status is used. Only available if the `usages` expand is requested.
      properties:
        issueTypes:
          description: IDs of the issue types
          items:
            description: IDs of the issue types
            type: string
          type: array
          uniqueItems: true
        project:
          $ref: "#/components/schemas/ProjectId"
      type: object
    ProjectIssueTypesHierarchyLevel:
      additionalProperties: false
      description: Details of an issue type hierarchy level.
      properties:
        entityId:
          description: "The ID of the issue type hierarchy level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/)."
          format: uuid
          readOnly: true
          type: string
        issueTypes:
          description: The list of issue types in the hierarchy level.
          items:
            $ref: "#/components/schemas/IssueTypeInfo"
          readOnly: true
          type: array
        level:
          description: The level of the issue type hierarchy level.
          format: int32
          readOnly: true
          type: integer
        name:
          description: The name of the issue type hierarchy level.
          readOnly: true
          type: string
      type: object
    ProjectLandingPageInfo:
      additionalProperties: false
      properties:
        attributes:
          additionalProperties:
            type: string
          type: object
        boardId:
          format: int64
          type: integer
        boardName:
          type: string
        projectKey:
          type: string
        projectType:
          type: string
        queueCategory:
          type: string
        queueId:
          format: int64
          type: integer
        queueName:
          type: string
        simpleBoard:
          type: boolean
        simplified:
          type: boolean
        url:
          type: string
      type: object
    ProjectPermissions:
      additionalProperties: false
      description: Permissions which a user has on a project.
      properties:
        canEdit:
          description: Whether the logged user can edit the project.
          readOnly: true
          type: boolean
      type: object
    ProjectRole:
      additionalProperties: false
      description: Details about the roles in a project.
      properties:
        actors:
          description: The list of users who act in this role.
          items:
            $ref: "#/components/schemas/RoleActor"
          readOnly: true
          type: array
        admin:
          description: Whether this role is the admin role for the project.
          readOnly: true
          type: boolean
        currentUserRole:
          description: Whether the calling user is part of this role.
          type: boolean
        default:
          description: Whether this role is the default role for the project
          readOnly: true
          type: boolean
        description:
          description: The description of the project role.
          readOnly: true
          type: string
        id:
          description: The ID of the project role.
          format: int64
          readOnly: true
          type: integer
        name:
          description: The name of the project role.
          type: string
        roleConfigurable:
          description: Whether the roles are configurable for this project.
          readOnly: true
          type: boolean
        scope:
          allOf:
            - $ref: "#/components/schemas/Scope"
          description: The scope of the role. Indicated for roles associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO).
          readOnly: true
        self:
          description: The URL the project role details.
          format: uri
          readOnly: true
          type: string
        translatedName:
          description: The translated name of the project role.
          type: string
      type: object
    ProjectRoleActorsUpdateBean:
      additionalProperties: false
      properties:
        categorisedActors:
          additionalProperties:
            items:
              type: string
            type: array
          description: |-
            The actors to add to the project role.

            Add groups using:

             *  `atlassian-group-role-actor` and a list of group names.
             *  `atlassian-group-role-actor-id` and a list of group IDs.

            As a group's name can change, use of `atlassian-group-role-actor-id` is recommended. For example, `"atlassian-group-role-actor-id":["eef79f81-0b89-4fca-a736-4be531a10869","77f6ab39-e755-4570-a6ae-2d7a8df0bcb8"]`.

            Add users using `atlassian-user-role-actor` and a list of account IDs. For example, `"atlassian-user-role-actor":["12345678-9abc-def1-2345-6789abcdef12", "abcdef12-3456-789a-bcde-f123456789ab"]`.
          type: object
        id:
          description: The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.
          format: int64
          readOnly: true
          type: integer
      type: object
      xml:
        name: actor
    ProjectRoleDetails:
      additionalProperties: false
      description: Details about a project role.
      properties:
        admin:
          description: Whether this role is the admin role for the project.
          readOnly: true
          type: boolean
        default:
          description: Whether this role is the default role for the project.
          readOnly: true
          type: boolean
        description:
          description: The description of the project role.
          readOnly: true
          type: string
        id:
          description: The ID of the project role.
          format: int64
          readOnly: true
          type: integer
        name:
          description: The name of the project role.
          type: string
        roleConfigurable:
          description: Whether the roles are configurable for this project.
          readOnly: true
          type: boolean
        scope:
          allOf:
            - $ref: "#/components/schemas/Scope"
          description: The scope of the role. Indicated for roles associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO).
          readOnly: true
        self:
          description: The URL the project role details.
          format: uri
          readOnly: true
          type: string
        translatedName:
          description: The translated name of the project role.
          type: string
      type: object
    ProjectRoleGroup:
      additionalProperties: false
      description: Details of the group associated with the role.
      properties:
        displayName:
          description: The display name of the group.
          type: string
        groupId:
          description: The ID of the group.
          type: string
        name:
          description: The name of the group. As a group's name can change, use of `groupId` is recommended to identify the group.
          type: string
      type: object
    ProjectRoleUser:
      additionalProperties: false
      description: Details of the user associated with the role.
      properties:
        accountId:
          description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Returns *unknown* if the record is deleted and corrupted, for example, as the result of a server import.
          maxLength: 128
          readOnly: true
          type: string
      type: object
    ProjectScopeBean:
      additionalProperties: false
      properties:
        attributes:
          description: Defines the behavior of the option in the project.If notSelectable is set, the option cannot be set as the field's value. This is useful for archiving an option that has previously been selected but shouldn't be used anymore.If defaultValue is set, the option is selected by default.
          items:
            enum:
              - notSelectable
              - defaultValue
            type: string
          type: array
          uniqueItems: true
        id:
          description: The ID of the project that the option's behavior applies to.
          format: int64
          type: integer
      type: object
    ProjectType:
      additionalProperties: false
      description: Details about a project type.
      properties:
        color:
          description: The color of the project type.
          readOnly: true
          type: string
        descriptionI18nKey:
          description: The key of the project type's description.
          readOnly: true
          type: string
        formattedKey:
          description: The formatted key of the project type.
          readOnly: true
          type: string
        icon:
          description: The icon of the project type.
          readOnly: true
          type: string
        key:
          description: The key of the project type.
          readOnly: true
          type: string
      type: object
    PropertyKey:
      additionalProperties: false
      description: Property key details.
      properties:
        key:
          description: The key of the property.
          readOnly: true
          type: string
        self:
          description: The URL of the property.
          readOnly: true
          type: string
      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
    PublishDraftWorkflowScheme:
      additionalProperties: false
      description: Details about the status mappings for publishing a draft workflow scheme.
      properties:
        statusMappings:
          description: Mappings of statuses to new statuses for issue types.
          items:
            $ref: "#/components/schemas/StatusMapping"
          type: array
          uniqueItems: true
      type: object
    PublishedWorkflowId:
      additionalProperties: false
      description: Properties that identify a published workflow.
      properties:
        entityId:
          description: The entity ID of the workflow.
          type: string
        name:
          description: The name of the workflow.
          type: string
      required:
        - name
      type: object
    RegisteredWebhook:
      additionalProperties: false
      description: ID of a registered webhook or error messages explaining why a webhook wasn't registered.
      properties:
        createdWebhookId:
          description: The ID of the webhook. Returned if the webhook is created.
          format: int64
          type: integer
        errors:
          description: Error messages specifying why the webhook creation failed.
          items:
            description: Error messages specifying why the webhook creation failed.
            type: string
          type: array
      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
    RemoteIssueLinkRequest:
      additionalProperties: true
      description: Details of a remote issue link.
      properties:
        application:
          allOf:
            - $ref: "#/components/schemas/Application"
          description: Details of the remote application the linked item is in. For example, trello.
        globalId:
          description: |-
            An identifier for the remote item in the remote system. For example, the global ID for a remote item in Confluence would consist of the app ID and page ID, like this: `appId=456&pageId=123`.

            Setting this field enables the remote issue link details to be updated or deleted using remote system and item details as the record identifier, rather than using the record's Jira ID.

            The maximum length is 255 characters.
          type: string
        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. If not set, the relationship description "links to" is used in Jira.
          type: string
      required:
        - object
      type: object
    RemoteObject:
      additionalProperties: true
      description: The linked item.
      properties:
        icon:
          allOf:
            - $ref: "#/components/schemas/Icon"
          description: Details of the icon for the item. If no icon is defined, the default link icon is used in Jira.
        status:
          allOf:
            - $ref: "#/components/schemas/Status"
          description: The status of the item.
        summary:
          description: The summary details of the item.
          type: string
        title:
          description: The title of the item.
          type: string
        url:
          description: The URL of the item.
          type: string
      required:
        - title
        - url
      type: object
    RemoveOptionFromIssuesResult:
      additionalProperties: false
      properties:
        errors:
          allOf:
            - $ref: "#/components/schemas/SimpleErrorCollection"
          description: A collection of errors related to unchanged issues. The collection size is limited, which means not all errors may be returned.
        modifiedIssues:
          description: The IDs of the modified issues.
          items:
            format: int64
            type: integer
          type: array
        unmodifiedIssues:
          description: The IDs of the unchanged issues, those issues where errors prevent modification.
          items:
            format: int64
            type: integer
          type: array
      type: object
    ReorderIssuePriorities:
      additionalProperties: false
      description: Change the order of issue priorities.
      properties:
        after:
          description: The ID of the priority. Required if `position` isn't provided.
          type: string
          writeOnly: true
        ids:
          description: The list of issue IDs to be reordered. Cannot contain duplicates nor after ID.
          items:
            type: string
            writeOnly: true
          type: array
          writeOnly: true
        position:
          description: The position for issue priorities to be moved to. Required if `after` isn't provided.
          type: string
          writeOnly: true
      required:
        - ids
      type: object
    ReorderIssueResolutionsRequest:
      additionalProperties: false
      description: Change the order of issue resolutions.
      properties:
        after:
          description: The ID of the resolution. Required if `position` isn't provided.
          type: string
          writeOnly: true
        ids:
          description: The list of resolution IDs to be reordered. Cannot contain duplicates nor after ID.
          items:
            type: string
            writeOnly: true
          type: array
          writeOnly: true
        position:
          description: The position for issue resolutions to be moved to. Required if `after` isn't provided.
          type: string
          writeOnly: true
      required:
        - ids
      type: object
    Resolution:
      additionalProperties: false
      description: Details of an issue resolution.
      properties:
        description:
          description: The description of the issue resolution.
          type: string
        id:
          description: The ID of the issue resolution.
          type: string
        name:
          description: The name of the issue resolution.
          type: string
        self:
          description: The URL of the issue resolution.
          format: uri
          type: string
      type: object
      xml:
        name: resolution
    ResolutionId:
      additionalProperties: true
      description: The ID of an issue resolution.
      properties:
        id:
          description: The ID of the issue resolution.
          readOnly: true
          type: string
      required:
        - id
      type: object
    ResolutionJsonBean:
      additionalProperties: false
      properties:
        default:
          type: boolean
        description:
          type: string
        iconUrl:
          type: string
        id:
          type: string
        name:
          type: string
        self:
          type: string
      type: object
    RestrictedPermission:
      additionalProperties: true
      description: Details of the permission.
      properties:
        id:
          description: The ID of the permission. Either `id` or `key` must be specified. Use [Get all permissions](#api-rest-api-3-permissions-get) to get the list of permissions.
          type: string
        key:
          description: The key of the permission. Either `id` or `key` must be specified. Use [Get all permissions](#api-rest-api-3-permissions-get) to get the list of permissions.
          type: string
      type: object
    RichText:
      properties:
        empty:
          type: boolean
        emptyAdf:
          type: boolean
        finalised:
          type: boolean
        valueSet:
          type: boolean
      type: object
    RoleActor:
      additionalProperties: false
      description: Details about a user assigned to a project role.
      properties:
        actorGroup:
          allOf:
            - $ref: "#/components/schemas/ProjectRoleGroup"
          readOnly: true
        actorUser:
          allOf:
            - $ref: "#/components/schemas/ProjectRoleUser"
          readOnly: true
        avatarUrl:
          description: The avatar of the role actor.
          format: uri
          readOnly: true
          type: string
        displayName:
          description: The display name of the role actor. For users, depending on the user’s privacy setting, this may return an alternative value for the user's name.
          readOnly: true
          type: string
        id:
          description: The ID of the role actor.
          format: int64
          readOnly: true
          type: integer
        name:
          description: This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
          readOnly: true
          type: string
        type:
          description: The type of role actor.
          enum:
            - atlassian-group-role-actor
            - atlassian-user-role-actor
          readOnly: true
          type: string
      type: object
      xml:
        name: projectRoleActor
    RuleConfiguration:
      additionalProperties: false
      description: A rule configuration.
      properties:
        disabled:
          default: false
          description: "EXPERIMENTAL: Whether the rule is disabled."
          type: boolean
        tag:
          description: "EXPERIMENTAL: A tag used to filter rules in [Get workflow transition rule configurations](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflow-transition-rules/#api-rest-api-3-workflow-rule-config-get)."
          maxLength: 255
          type: string
        value:
          description: Configuration of the rule, as it is stored by the Connect or the Forge app on the rule configuration page.
          type: string
      required:
        - value
      type: object
    SanitizedJqlQueries:
      additionalProperties: false
      description: The sanitized JQL queries for the given account IDs.
      properties:
        queries:
          description: The list of sanitized JQL queries.
          items:
            $ref: "#/components/schemas/SanitizedJqlQuery"
          type: array
      type: object
    SanitizedJqlQuery:
      additionalProperties: false
      description: Details of the sanitized JQL query.
      properties:
        accountId:
          description: The account ID of the user for whom sanitization was performed.
          maxLength: 128
          nullable: true
          type: string
        errors:
          allOf:
            - $ref: "#/components/schemas/ErrorCollection"
          description: The list of errors.
        initialQuery:
          description: The initial query.
          type: string
        sanitizedQuery:
          description: The sanitized query, if there were no errors.
          nullable: true
          type: string
      type: object
    Scope:
      additionalProperties: true
      description: The projects the item is associated with. Indicated for items associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO).
      properties:
        project:
          allOf:
            - $ref: "#/components/schemas/ProjectDetails"
          description: The project the item has scope in.
          readOnly: true
        type:
          description: The type of scope.
          enum:
            - PROJECT
            - TEMPLATE
          readOnly: true
          type: string
      type: object
    Screen:
      additionalProperties: false
      description: A screen.
      properties:
        description:
          description: The description of the screen.
          readOnly: true
          type: string
        id:
          description: The ID of the screen.
          format: int64
          readOnly: true
          type: integer
        name:
          description: The name of the screen.
          readOnly: true
          type: string
        scope:
          allOf:
            - $ref: "#/components/schemas/Scope"
          description: The scope of the screen.
      type: object
    ScreenDetails:
      additionalProperties: false
      description: Details of a screen.
      properties:
        description:
          description: The description of the screen. The maximum length is 255 characters.
          type: string
          writeOnly: true
        name:
          description: The name of the screen. The name must be unique. The maximum length is 255 characters.
          type: string
          writeOnly: true
      required:
        - name
      type: object
    ScreenScheme:
      additionalProperties: false
      description: A screen scheme.
      properties:
        description:
          description: The description of the screen scheme.
          type: string
        id:
          description: The ID of the screen scheme.
          format: int64
          type: integer
        issueTypeScreenSchemes:
          allOf:
            - $ref: "#/components/schemas/PageBeanIssueTypeScreenScheme"
          description: Details of the issue type screen schemes associated with the screen scheme.
        name:
          description: The name of the screen scheme.
          type: string
        screens:
          allOf:
            - $ref: "#/components/schemas/ScreenTypes"
          description: The IDs of the screens for the screen types of the screen scheme.
      type: object
    ScreenSchemeDetails:
      additionalProperties: false
      description: Details of a screen scheme.
      properties:
        description:
          description: The description of the screen scheme. The maximum length is 255 characters.
          type: string
          writeOnly: true
        name:
          description: The name of the screen scheme. The name must be unique. The maximum length is 255 characters.
          type: string
          writeOnly: true
        screens:
          allOf:
            - $ref: "#/components/schemas/ScreenTypes"
          description: The IDs of the screens for the screen types of the screen scheme. Only screens used in classic projects are accepted.
      required:
        - name
        - screens
      type: object
    ScreenSchemeId:
      additionalProperties: false
      description: The ID of a screen scheme.
      properties:
        id:
          description: The ID of the screen scheme.
          format: int64
          readOnly: true
          type: integer
      required:
        - id
      type: object
    ScreenTypes:
      additionalProperties: false
      description: The IDs of the screens for the screen types of the screen scheme.
      properties:
        create:
          description: The ID of the create screen.
          format: int64
          type: integer
        default:
          description: The ID of the default screen. Required when creating a screen scheme.
          format: int64
          type: integer
        edit:
          description: The ID of the edit screen.
          format: int64
          type: integer
        view:
          description: The ID of the view screen.
          format: int64
          type: integer
      required:
        - defaultScreen
      type: object
      writeOnly: true
    ScreenWithTab:
      additionalProperties: false
      description: A screen with tab details.
      properties:
        description:
          description: The description of the screen.
          readOnly: true
          type: string
        id:
          description: The ID of the screen.
          format: int64
          readOnly: true
          type: integer
        name:
          description: The name of the screen.
          readOnly: true
          type: string
        scope:
          allOf:
            - $ref: "#/components/schemas/Scope"
          description: The scope of the screen.
        tab:
          allOf:
            - $ref: "#/components/schemas/ScreenableTab"
          description: The tab for the screen.
      type: object
    ScreenableField:
      additionalProperties: false
      description: A screen tab field.
      properties:
        id:
          description: The ID of the screen tab field.
          readOnly: true
          type: string
        name:
          description: The name of the screen tab field. Required on create and update. The maximum length is 255 characters.
          type: string
      type: object
    ScreenableTab:
      additionalProperties: false
      description: A screen tab.
      properties:
        id:
          description: The ID of the screen tab.
          format: int64
          readOnly: true
          type: integer
        name:
          description: The name of the screen tab. The maximum length is 255 characters.
          type: string
      required:
        - name
      type: object
    SearchAutoCompleteFilter:
      additionalProperties: false
      description: Details of how to filter and list search auto complete information.
      properties:
        includeCollapsedFields:
          default: false
          description: Include collapsed fields for fields that have non-unique names.
          type: boolean
        projectIds:
          description: List of project IDs used to filter the visible field details returned.
          items:
            format: int64
            type: integer
          type: array
      type: object
    SearchRequestBean:
      additionalProperties: false
      properties:
        expand:
          description: |-
            Use [expand](em>#expansion) to include additional information about issues in the response. Note that, unlike the majority of instances where `expand` is specified, `expand` is defined as a list of values. The expand options are:

             *  `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.
             *  `operations` Returns all possible operations 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` Instead of `fields`, returns `versionedRepresentations` a JSON array containing each version of a field's value, with the highest numbered item representing the most recent version.
          items:
            type: string
          type: array
        fields:
          description: |-
            A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a comma-separated list. Expand options include:

             *  `*all` Returns all fields.
             *  `*navigable` Returns navigable fields.
             *  Any issue field, prefixed with a minus to exclude.

            The default is `*navigable`.

            Examples:

             *  `summary,comment` Returns the summary and comments fields only.
             *  `-description` Returns all navigable (default) fields except description.
             *  `*all,-comment` Returns all fields except comments.

            Multiple `fields` parameters can be included in a request.

            Note: All navigable fields are returned by default. This differs from [GET issue](#api-rest-api-3-issue-issueIdOrKey-get) where the default is all fields.
          items:
            type: string
          type: array
        fieldsByKeys:
          description: Reference fields by their key (rather than ID). The default is `false`.
          type: boolean
        jql:
          description: A [JQL](https://confluence.atlassian.com/x/egORLQ) expression.
          type: string
        maxResults:
          default: 50
          description: The maximum number of items to return per page.
          format: int32
          type: integer
        properties:
          description: A list of up to 5 issue properties to include in the results. This parameter accepts a comma-separated list.
          items:
            type: string
          type: array
        startAt:
          description: The index of the first item to return in the page of results (page offset). The base index is `0`.
          format: int32
          type: integer
        validateQuery:
          description: |-
            Determines how to validate the JQL query and treat the validation results. Supported values:

             *  `strict` Returns a 400 response code if any errors are found, along with a list of all errors (and warnings).
             *  `warn` Returns all errors as warnings.
             *  `none` No validation is performed.
             *  `true` *Deprecated* A legacy synonym for `strict`.
             *  `false` *Deprecated* A legacy synonym for `warn`.

            The default is `strict`.

            Note: If the JQL is not correctly formed a 400 response code is returned, regardless of the `validateQuery` value.
          enum:
            - strict
            - warn
            - none
            - "true"
            - "false"
          type: string
      type: object
    SearchResults:
      additionalProperties: false
      description: The result of a JQL search.
      properties:
        expand:
          description: Expand options that include additional search result details in the response.
          readOnly: true
          type: string
        issues:
          description: The list of issues found by the search.
          items:
            $ref: "#/components/schemas/IssueBean"
          readOnly: true
          type: array
        maxResults:
          description: The maximum number of results that could be on the page.
          format: int32
          readOnly: true
          type: integer
        names:
          additionalProperties:
            readOnly: true
            type: string
          description: The ID and name of each field in the search results.
          readOnly: true
          type: object
        schema:
          additionalProperties:
            $ref: "#/components/schemas/JsonTypeBean"
          description: The schema describing the field types in the search results.
          readOnly: true
          type: object
        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
        warningMessages:
          description: Any warnings related to the JQL query.
          items:
            readOnly: true
            type: string
          readOnly: true
          type: array
      type: object
    SecurityLevel:
      additionalProperties: false
      description: Details of an issue level security item.
      properties:
        description:
          description: The description of the issue level security item.
          readOnly: true
          type: string
        id:
          description: The ID of the issue level security item.
          readOnly: true
          type: string
        isDefault:
          description: Whether the issue level security item is the default.
          readOnly: true
          type: boolean
        issueSecuritySchemeId:
          description: The ID of the issue level security scheme.
          readOnly: true
          type: string
        name:
          description: The name of the issue level security item.
          readOnly: true
          type: string
        self:
          description: The URL of the issue level security item.
          readOnly: true
          type: string
      type: object
    SecurityLevelMember:
      additionalProperties: true
      description: Issue security level member.
      properties:
        holder:
          allOf:
            - $ref: "#/components/schemas/PermissionHolder"
          description: The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](../api-group-permission-schemes/#holder-object) in *Get all permission schemes* for more information.
          readOnly: true
        id:
          description: The ID of the issue security level member.
          readOnly: true
          type: string
        issueSecurityLevelId:
          description: The ID of the issue security level.
          readOnly: true
          type: string
        issueSecuritySchemeId:
          description: The ID of the issue security scheme.
          readOnly: true
          type: string
      required:
        - holder
        - id
        - issueSecurityLevelId
        - issueSecuritySchemeId
      type: object
    SecurityScheme:
      additionalProperties: false
      description: Details about a security scheme.
      properties:
        defaultSecurityLevelId:
          description: The ID of the default security level.
          format: int64
          readOnly: true
          type: integer
        description:
          description: The description of the issue security scheme.
          readOnly: true
          type: string
        id:
          description: The ID of the issue security scheme.
          format: int64
          readOnly: true
          type: integer
        levels:
          items:
            $ref: "#/components/schemas/SecurityLevel"
          type: array
        name:
          description: The name of the issue security scheme.
          readOnly: true
          type: string
        self:
          description: The URL of the issue security scheme.
          readOnly: true
          type: string
      type: object
    SecuritySchemeId:
      additionalProperties: true
      description: The ID of the issue security scheme.
      properties:
        id:
          description: The ID of the issue security scheme.
          readOnly: true
          type: string
      required:
        - id
      type: object
    SecuritySchemeLevelBean:
      additionalProperties: false
      properties:
        description:
          description: The description of the issue security scheme level.
          maxLength: 4000
          type: string
          writeOnly: true
        isDefault:
          description: Specifies whether the level is the default level. False by default.
          type: boolean
          writeOnly: true
        members:
          description: The list of level members which should be added to the issue security scheme level.
          items:
            $ref: "#/components/schemas/SecuritySchemeLevelMemberBean"
          type: array
          writeOnly: true
        name:
          description: The name of the issue security scheme level. Must be unique.
          maxLength: 255
          type: string
          writeOnly: true
      required:
        - name
      type: object
      writeOnly: true
    SecuritySchemeLevelMemberBean:
      additionalProperties: false
      properties:
        parameter:
          description: The value corresponding to the specified member type.
          type: string
          writeOnly: true
        type:
          description: The issue security level member type, e.g `reporter`, `group`, `user`.
          type: string
          writeOnly: true
      required:
        - type
      type: object
      writeOnly: true
    SecuritySchemeMembersRequest:
      additionalProperties: false
      description: Details of issue security scheme level new members.
      properties:
        members:
          description: The list of level members which should be added to the issue security scheme level.
          items:
            $ref: "#/components/schemas/SecuritySchemeLevelMemberBean"
          type: array
          writeOnly: true
      required:
        - securitySchemeLevelMembers
      type: object
    SecuritySchemeWithProjects:
      additionalProperties: true
      description: Details about an issue security scheme.
      properties:
        defaultLevel:
          description: The default level ID of the issue security scheme.
          format: int64
          readOnly: true
          type: integer
        description:
          description: The description of the issue security scheme.
          readOnly: true
          type: string
        id:
          description: The ID of the issue security scheme.
          format: int64
          readOnly: true
          type: integer
        name:
          description: The name of the issue security scheme.
          readOnly: true
          type: string
        projectIds:
          description: The list of project IDs associated with the issue security scheme.
          items:
            format: int64
            readOnly: true
            type: integer
          readOnly: true
          type: array
          uniqueItems: true
        self:
          description: The URL of the issue security scheme.
          readOnly: true
          type: string
      required:
        - id
        - name
        - self
      type: object
    SecuritySchemes:
      additionalProperties: false
      description: List of security schemes.
      properties:
        issueSecuritySchemes:
          description: List of security schemes.
          items:
            $ref: "#/components/schemas/SecurityScheme"
          readOnly: true
          type: array
      type: object
    ServerInformation:
      additionalProperties: false
      description: Details about the Jira instance.
      properties:
        baseUrl:
          description: The base URL of the Jira instance.
          type: string
        buildDate:
          description: The timestamp when the Jira version was built.
          format: date-time
          type: string
        buildNumber:
          description: The build number of the Jira version.
          format: int32
          type: integer
        deploymentType:
          description: The type of server deployment. This is always returned as *Cloud*.
          type: string
        healthChecks:
          description: Jira instance health check results. Deprecated and no longer returned.
          items:
            $ref: "#/components/schemas/HealthCheckResult"
          type: array
        scmInfo:
          description: The unique identifier of the Jira version.
          type: string
        serverTime:
          description: The time in Jira when this request was responded to.
          format: date-time
          type: string
        serverTitle:
          description: The name of the Jira instance.
          type: string
        version:
          description: The version of Jira.
          type: string
        versionNumbers:
          description: The major, minor, and revision version numbers of the Jira version.
          items:
            format: int32
            type: integer
          type: array
      type: object
    ServiceManagementNavigationInfo:
      properties:
        queueCategory:
          type: string
        queueId:
          format: int64
          type: integer
        queueName:
          type: string
      type: object
    SetDefaultLevelsRequest:
      additionalProperties: true
      description: Details of new default levels.
      properties:
        defaultValues:
          description: List of objects with issue security scheme ID and new default level ID.
          items:
            $ref: "#/components/schemas/DefaultLevelValue"
          maxLength: 1000
          type: array
          writeOnly: true
      required:
        - defaultValues
      type: object
    SetDefaultPriorityRequest:
      additionalProperties: false
      description: The new default issue priority.
      properties:
        id:
          description: The ID of the new default issue priority. Must be an existing ID or null. Setting this to null erases the default priority setting.
          type: string
          writeOnly: true
      required:
        - id
      type: object
    SetDefaultResolutionRequest:
      additionalProperties: false
      description: The new default issue resolution.
      properties:
        id:
          description: The ID of the new default issue resolution. Must be an existing ID or null. Setting this to null erases the default resolution setting.
          type: string
          writeOnly: true
      required:
        - id
      type: object
    SharePermission:
      additionalProperties: false
      description: Details of a share permission for the filter.
      properties:
        group:
          allOf:
            - $ref: "#/components/schemas/GroupName"
          description: The group that the filter is shared with. For a request, specify the `groupId` or `name` property for the group. As a group's name can change, use of `groupId` is recommended.
        id:
          description: The unique identifier of the share permission.
          format: int64
          readOnly: true
          type: integer
        project:
          allOf:
            - $ref: "#/components/schemas/Project"
          description: |-
            The project that the filter is shared with. This is similar to the project object returned by [Get project](#api-rest-api-3-project-projectIdOrKey-get) but it contains a subset of the properties, which are: `self`, `id`, `key`, `assigneeType`, `name`, `roles`, `avatarUrls`, `projectType`, `simplified`.  
            For a request, specify the `id` for the project.
        role:
          allOf:
            - $ref: "#/components/schemas/ProjectRole"
          description: |-
            The project role that the filter is shared with.  
            For a request, specify the `id` for the role. You must also specify the `project` object and `id` for the project that the role is in.
        type:
          description: |-
            The type of share permission:

             *  `user` Shared with a user.
             *  `group` Shared with a group. If set in a request, then specify `sharePermission.group` as well.
             *  `project` Shared with a project. If set in a request, then specify `sharePermission.project` as well.
             *  `projectRole` Share with a project role in a project. This value is not returned in responses. It is used in requests, where it needs to be specify with `projectId` and `projectRoleId`.
             *  `global` Shared globally. If set in a request, no other `sharePermission` properties need to be specified.
             *  `loggedin` Shared with all logged-in users. Note: This value is set in a request by specifying `authenticated` as the `type`.
             *  `project-unknown` Shared with a project that the user does not have access to. Cannot be set in a request.
          enum:
            - user
            - group
            - project
            - projectRole
            - global
            - loggedin
            - authenticated
            - project-unknown
          type: string
        user:
          allOf:
            - $ref: "#/components/schemas/UserBean"
          description: The user account ID that the filter is shared with. For a request, specify the `accountId` property for the user.
      required:
        - type
      type: object
    SharePermissionInputBean:
      additionalProperties: false
      properties:
        accountId:
          description: The user account ID that the filter is shared with. For a request, specify the `accountId` property for the user.
          type: string
        groupId:
          description: The ID of the group, which uniquely identifies the group across all Atlassian products.For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*. Cannot be provided with `groupname`.
          type: string
        groupname:
          description: The name of the group to share the filter with. Set `type` to `group`. Please note that the name of a group is mutable, to reliably identify a group use `groupId`.
          type: string
        projectId:
          description: The ID of the project to share the filter with. Set `type` to `project`.
          type: string
        projectRoleId:
          description: The ID of the project role to share the filter with. Set `type` to `projectRole` and the `projectId` for the project that the role is in.
          type: string
        rights:
          description: The rights for the share permission.
          format: int32
          type: integer
        type:
          description: |-
            The type of the share permission.Specify the type as follows:

             *  `user` Share with a user.
             *  `group` Share with a group. Specify `groupname` as well.
             *  `project` Share with a project. Specify `projectId` as well.
             *  `projectRole` Share with a project role in a project. Specify `projectId` and `projectRoleId` as well.
             *  `global` Share globally, including anonymous users. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set.
             *  `authenticated` Share with all logged-in users. This shows as `loggedin` in the response. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set.
          enum:
            - user
            - project
            - group
            - projectRole
            - global
            - authenticated
          type: string
      required:
        - type
      type: object
    SimpleApplicationPropertyBean:
      additionalProperties: false
      properties:
        id:
          description: The ID of the application property.
          type: string
        value:
          description: The new value.
          type: string
      type: object
      xml:
        name: applicationProperty
    SimpleErrorCollection:
      additionalProperties: false
      properties:
        errorMessages:
          description: The list of error messages produced by this operation. For example, "input parameter 'key' must be provided"
          items:
            type: string
          type: array
        errors:
          additionalProperties:
            type: string
          description: 'The list of errors by parameter returned by the operation. For example,"projectKey": "Project keys must start with an uppercase letter, followed by one or more uppercase alphanumeric characters."'
          type: object
        httpStatusCode:
          format: int32
          type: integer
      type: object
    SimpleLink:
      additionalProperties: false
      description: Details about the operations available in this version.
      properties:
        href:
          type: string
        iconClass:
          type: string
        id:
          type: string
        label:
          type: string
        styleClass:
          type: string
        title:
          type: string
        weight:
          format: int32
          type: integer
      type: object
      xml:
        name: link
    SimpleListWrapperApplicationRole:
      additionalProperties: false
      properties:
        callback:
          $ref: "#/components/schemas/ListWrapperCallbackApplicationRole"
        items:
          items:
            $ref: "#/components/schemas/ApplicationRole"
          type: array
        max-results:
          format: int32
          type: integer
          xml:
            attribute: true
            name: max-results
        pagingCallback:
          $ref: "#/components/schemas/ListWrapperCallbackApplicationRole"
        size:
          format: int32
          type: integer
          xml:
            attribute: true
      type: object
      xml:
        name: list
    SimpleListWrapperGroupName:
      additionalProperties: false
      properties:
        callback:
          $ref: "#/components/schemas/ListWrapperCallbackGroupName"
        items:
          items:
            $ref: "#/components/schemas/GroupName"
          type: array
        max-results:
          format: int32
          type: integer
          xml:
            attribute: true
            name: max-results
        pagingCallback:
          $ref: "#/components/schemas/ListWrapperCallbackGroupName"
        size:
          format: int32
          type: integer
          xml:
            attribute: true
      type: object
      xml:
        name: list
    SimplifiedHierarchyLevel:
      additionalProperties: false
      properties:
        aboveLevelId:
          description: "The ID of the level above this one in the hierarchy. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/)."
          format: int64
          type: integer
        belowLevelId:
          description: "The ID of the level below this one in the hierarchy. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/)."
          format: int64
          type: integer
        externalUuid:
          description: "The external UUID of the hierarchy level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/)."
          format: uuid
          type: string
        hierarchyLevelNumber:
          format: int32
          type: integer
        id:
          description: "The ID of the hierarchy level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/)."
          format: int64
          type: integer
        issueTypeIds:
          description: The issue types available in this hierarchy level.
          items:
            format: int64
            type: integer
          type: array
        level:
          description: The level of this item in the hierarchy.
          format: int32
          type: integer
        name:
          description: The name of this hierarchy level.
          type: string
        projectConfigurationId:
          description: "The ID of the project configuration. This property is deprecated, see [Change oticen: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/)."
          format: int64
          type: integer
      type: object
    SoftwareNavigationInfo:
      properties:
        boardId:
          format: int64
          type: integer
        boardName:
          type: string
        simpleBoard:
          type: boolean
        totalBoardsInProject:
          format: int64
          type: integer
      type: object
    Status:
      additionalProperties: true
      description: The status of the item.
      properties:
        icon:
          allOf:
            - $ref: "#/components/schemas/Icon"
          description: Details of the icon representing the status. If not provided, no status icon displays in Jira.
        resolved:
          description: Whether the item is resolved. If set to "true", the link to the issue is displayed in a strikethrough font, otherwise the link displays in normal font.
          type: boolean
      type: object
    StatusCategory:
      additionalProperties: true
      description: A status category.
      properties:
        colorName:
          description: The name of the color used to represent the status category.
          readOnly: true
          type: string
        id:
          description: The ID of the status category.
          format: int64
          readOnly: true
          type: integer
        key:
          description: The key of the status category.
          readOnly: true
          type: string
        name:
          description: The name of the status category.
          readOnly: true
          type: string
        self:
          description: The URL of the status category.
          readOnly: true
          type: string
      type: object
    StatusCreate:
      additionalProperties: false
      description: Details of the status being created.
      properties:
        description:
          description: The description of the status.
          type: string
        name:
          description: The name of the status.
          maxLength: 255
          type: string
        statusCategory:
          description: The category of the status.
          enum:
            - TODO
            - IN_PROGRESS
            - DONE
          type: string
      required:
        - name
        - statusCategory
      type: object
    StatusCreateRequest:
      additionalProperties: false
      description: Details of the statuses being created and their scope.
      properties:
        scope:
          $ref: "#/components/schemas/StatusScope"
        statuses:
          description: Details of the statuses being created.
          items:
            $ref: "#/components/schemas/StatusCreate"
          type: array
      required:
        - scope
        - statuses
      type: object
    StatusDetails:
      additionalProperties: true
      description: A status.
      properties:
        description:
          description: The description of the status.
          readOnly: true
          type: string
        iconUrl:
          description: The URL of the icon used to represent the status.
          readOnly: true
          type: string
        id:
          description: The ID of the status.
          readOnly: true
          type: string
        name:
          description: The name of the status.
          readOnly: true
          type: string
        self:
          description: The URL of the status.
          readOnly: true
          type: string
        statusCategory:
          allOf:
            - $ref: "#/components/schemas/StatusCategory"
          description: The category assigned to the status.
          readOnly: true
      type: object
    StatusMapping:
      additionalProperties: false
      description: Details about the mapping from a status to a new status for an issue type.
      properties:
        issueTypeId:
          description: The ID of the issue type.
          type: string
        newStatusId:
          description: The ID of the new status.
          type: string
        statusId:
          description: The ID of the status.
          type: string
      required:
        - issueTypeId
        - newStatusId
        - statusId
      type: object
    StatusScope:
      additionalProperties: false
      description: The scope of the status.
      properties:
        project:
          $ref: "#/components/schemas/ProjectId"
        type:
          description: The scope of the status. `GLOBAL` for company-managed projects and `PROJECT` for team-managed projects.
          enum:
            - PROJECT
            - GLOBAL
          type: string
      required:
        - type
      type: object
    StatusUpdate:
      additionalProperties: true
      description: Details of the status being updated.
      properties:
        description:
          description: The description of the status.
          type: string
        id:
          description: The ID of the status.
          type: string
        name:
          description: The name of the status.
          type: string
        statusCategory:
          description: The category of the status.
          enum:
            - TODO
            - IN_PROGRESS
            - DONE
          type: string
      required:
        - id
        - name
        - statusCategory
      type: object
    StatusUpdateRequest:
      additionalProperties: false
      description: The list of statuses that will be updated.
      properties:
        statuses:
          description: The list of statuses that will be updated.
          items:
            $ref: "#/components/schemas/StatusUpdate"
          type: array
      type: object
    StringList:
      additionalProperties: false
      type: object
    SuggestedIssue:
      additionalProperties: false
      description: An issue suggested for use in the issue picker auto-completion.
      properties:
        id:
          description: The ID of the issue.
          format: int64
          readOnly: true
          type: integer
        img:
          description: The URL of the issue type's avatar.
          readOnly: true
          type: string
        key:
          description: The key of the issue.
          readOnly: true
          type: string
        keyHtml:
          description: The key of the issue in HTML format.
          readOnly: true
          type: string
        summary:
          description: The phrase containing the query string in HTML format, with the string highlighted with HTML bold tags.
          readOnly: true
          type: string
        summaryText:
          description: The phrase containing the query string, as plain text.
          readOnly: true
          type: string
      type: object
    SystemAvatars:
      additionalProperties: false
      description: List of system avatars.
      properties:
        system:
          description: A list of avatar details.
          items:
            $ref: "#/components/schemas/Avatar"
          readOnly: true
          type: array
      type: object
    TaskProgressBeanObject:
      additionalProperties: false
      description: Details about a task.
      properties:
        description:
          description: The description of the task.
          type: string
        elapsedRuntime:
          description: The execution time of the task, in milliseconds.
          format: int64
          type: integer
        finished:
          description: A timestamp recording when the task was finished.
          format: int64
          type: integer
        id:
          description: The ID of the task.
          type: string
        lastUpdate:
          description: A timestamp recording when the task progress was last updated.
          format: int64
          type: integer
        message:
          description: Information about the progress of the task.
          type: string
        progress:
          description: The progress of the task, as a percentage complete.
          format: int64
          type: integer
        result:
          description: The result of the task execution.
        self:
          description: The URL of the task.
          format: uri
          type: string
        started:
          description: A timestamp recording when the task was started.
          format: int64
          type: integer
        status:
          description: The status of the task.
          enum:
            - ENQUEUED
            - RUNNING
            - COMPLETE
            - FAILED
            - CANCEL_REQUESTED
            - CANCELLED
            - DEAD
          type: string
        submitted:
          description: A timestamp recording when the task was submitted.
          format: int64
          type: integer
        submittedBy:
          description: The ID of the user who submitted the task.
          format: int64
          type: integer
      required:
        - elapsedRuntime
        - id
        - lastUpdate
        - progress
        - self
        - status
        - submitted
        - submittedBy
      type: object
    TaskProgressBeanRemoveOptionFromIssuesResult:
      additionalProperties: false
      description: Details about a task.
      properties:
        description:
          description: The description of the task.
          type: string
        elapsedRuntime:
          description: The execution time of the task, in milliseconds.
          format: int64
          type: integer
        finished:
          description: A timestamp recording when the task was finished.
          format: int64
          type: integer
        id:
          description: The ID of the task.
          type: string
        lastUpdate:
          description: A timestamp recording when the task progress was last updated.
          format: int64
          type: integer
        message:
          description: Information about the progress of the task.
          type: string
        progress:
          description: The progress of the task, as a percentage complete.
          format: int64
          type: integer
        result:
          allOf:
            - $ref: "#/components/schemas/RemoveOptionFromIssuesResult"
          description: The result of the task execution.
        self:
          description: The URL of the task.
          format: uri
          type: string
        started:
          description: A timestamp recording when the task was started.
          format: int64
          type: integer
        status:
          description: The status of the task.
          enum:
            - ENQUEUED
            - RUNNING
            - COMPLETE
            - FAILED
            - CANCEL_REQUESTED
            - CANCELLED
            - DEAD
          type: string
        submitted:
          description: A timestamp recording when the task was submitted.
          format: int64
          type: integer
        submittedBy:
          description: The ID of the user who submitted the task.
          format: int64
          type: integer
      required:
        - elapsedRuntime
        - id
        - lastUpdate
        - progress
        - self
        - status
        - submitted
        - submittedBy
      type: object
    TimeTrackingConfiguration:
      additionalProperties: false
      description: Details of the time tracking configuration.
      properties:
        defaultUnit:
          description: The default unit of time applied to logged time.
          enum:
            - minute
            - hour
            - day
            - week
          type: string
        timeFormat:
          description: The format that will appear on an issue's *Time Spent* field.
          enum:
            - pretty
            - days
            - hours
          type: string
        workingDaysPerWeek:
          description: The number of days in a working week.
          format: double
          type: number
        workingHoursPerDay:
          description: The number of hours in a working day.
          format: double
          type: number
      required:
        - defaultUnit
        - timeFormat
        - workingDaysPerWeek
        - workingHoursPerDay
      type: object
    TimeTrackingDetails:
      additionalProperties: false
      description: Time tracking details.
      properties:
        originalEstimate:
          description: The original estimate of time needed for this issue in readable format.
          readOnly: true
          type: string
        originalEstimateSeconds:
          description: The original estimate of time needed for this issue in seconds.
          format: int64
          readOnly: true
          type: integer
        remainingEstimate:
          description: The remaining estimate of time needed for this issue in readable format.
          readOnly: true
          type: string
        remainingEstimateSeconds:
          description: The remaining estimate of time needed for this issue in seconds.
          format: int64
          readOnly: true
          type: integer
        timeSpent:
          description: Time worked on this issue in readable format.
          readOnly: true
          type: string
        timeSpentSeconds:
          description: Time worked on this issue in seconds.
          format: int64
          readOnly: true
          type: integer
      type: object
    TimeTrackingProvider:
      additionalProperties: false
      description: Details about the time tracking provider.
      properties:
        key:
          description: The key for the time tracking provider. For example, *JIRA*.
          type: string
        name:
          description: The name of the time tracking provider. For example, *JIRA provided time tracking*.
          type: string
        url:
          description: The URL of the configuration page for the time tracking provider app. For example, */example/config/url*. This property is only returned if the `adminPageKey` property is set in the module descriptor of the time tracking provider app.
          readOnly: true
          type: string
      required:
        - key
      type: object
    Transition:
      additionalProperties: false
      description: Details of a workflow transition.
      properties:
        description:
          description: The description of the transition.
          type: string
        from:
          description: The statuses the transition can start from.
          items:
            description: The statuses the transition can start from.
            type: string
          type: array
        id:
          description: The ID of the transition.
          type: string
        name:
          description: The name of the transition.
          type: string
        properties:
          additionalProperties:
            description: The properties of the transition.
          description: The properties of the transition.
          type: object
        rules:
          $ref: "#/components/schemas/WorkflowRules"
        screen:
          $ref: "#/components/schemas/TransitionScreenDetails"
        to:
          description: The status the transition goes to.
          type: string
        type:
          description: The type of the transition.
          enum:
            - global
            - initial
            - directed
          type: string
      required:
        - description
        - from
        - id
        - name
        - to
        - type
      type: object
    TransitionScreenDetails:
      additionalProperties: false
      description: The details of a transition screen.
      properties:
        id:
          description: The ID of the screen.
          type: string
        name:
          description: The name of the screen.
          type: string
      required:
        - id
      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
    UiModificationContextDetails:
      additionalProperties: false
      description: The details of a UI modification's context, which define where to activate the UI modification.
      properties:
        id:
          description: The ID of the UI modification context.
          readOnly: true
          type: string
        isAvailable:
          description: Whether a context is available. For example, when a project is deleted the context becomes unavailable.
          readOnly: true
          type: boolean
        issueTypeId:
          description: The issue type ID of the context.
          type: string
        projectId:
          description: The project ID of the context.
          type: string
        viewType:
          description: The view type of the context. Only `GIC` (Global Issue Create) is supported.
          type: string
      required:
        - issueTypeId
        - projectId
        - viewType
      type: object
      writeOnly: true
    UiModificationDetails:
      additionalProperties: false
      description: The details of a UI modification.
      properties:
        contexts:
          description: List of contexts of the UI modification. The maximum number of contexts is 1000.
          items:
            $ref: "#/components/schemas/UiModificationContextDetails"
          readOnly: true
          type: array
        data:
          description: The data of the UI modification. The maximum size of the data is 50000 characters.
          readOnly: true
          type: string
        description:
          description: The description of the UI modification. The maximum length is 255 characters.
          readOnly: true
          type: string
        id:
          description: The ID of the UI modification.
          readOnly: true
          type: string
        name:
          description: The name of the UI modification. The maximum length is 255 characters.
          readOnly: true
          type: string
        self:
          description: The URL of the UI modification.
          readOnly: true
          type: string
      required:
        - id
        - name
        - self
      type: object
    UiModificationIdentifiers:
      additionalProperties: false
      description: Identifiers for a UI modification.
      properties:
        id:
          description: The ID of the UI modification.
          readOnly: true
          type: string
        self:
          description: The URL of the UI modification.
          readOnly: true
          type: string
      required:
        - id
        - self
      type: object
    UnrestrictedUserEmail:
      additionalProperties: true
      properties:
        accountId:
          description: The accountId of the user
          type: string
        email:
          description: The email of the user
          type: string
      type: object
    UpdateCustomFieldDetails:
      additionalProperties: false
      description: Details of a custom field.
      properties:
        description:
          description: The description of the custom field. The maximum length is 40000 characters.
          type: string
        name:
          description: The name of the custom field. It doesn't have to be unique. The maximum length is 255 characters.
          type: string
        searcherKey:
          description: |-
            The searcher that defines the way the field is searched in Jira. It can be set to `null`, otherwise you must specify the valid searcher for the field type, as listed below (abbreviated values shown):

             *  `cascadingselect`: `cascadingselectsearcher`
             *  `datepicker`: `daterange`
             *  `datetime`: `datetimerange`
             *  `float`: `exactnumber` or `numberrange`
             *  `grouppicker`: `grouppickersearcher`
             *  `importid`: `exactnumber` or `numberrange`
             *  `labels`: `labelsearcher`
             *  `multicheckboxes`: `multiselectsearcher`
             *  `multigrouppicker`: `multiselectsearcher`
             *  `multiselect`: `multiselectsearcher`
             *  `multiuserpicker`: `userpickergroupsearcher`
             *  `multiversion`: `versionsearcher`
             *  `project`: `projectsearcher`
             *  `radiobuttons`: `multiselectsearcher`
             *  `readonlyfield`: `textsearcher`
             *  `select`: `multiselectsearcher`
             *  `textarea`: `textsearcher`
             *  `textfield`: `textsearcher`
             *  `url`: `exacttextsearcher`
             *  `userpicker`: `userpickergroupsearcher`
             *  `version`: `versionsearcher`
          enum:
            - com.atlassian.jira.plugin.system.customfieldtypes:cascadingselectsearcher
            - com.atlassian.jira.plugin.system.customfieldtypes:daterange
            - com.atlassian.jira.plugin.system.customfieldtypes:datetimerange
            - com.atlassian.jira.plugin.system.customfieldtypes:exactnumber
            - com.atlassian.jira.plugin.system.customfieldtypes:exacttextsearcher
            - com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher
            - com.atlassian.jira.plugin.system.customfieldtypes:labelsearcher
            - com.atlassian.jira.plugin.system.customfieldtypes:multiselectsearcher
            - com.atlassian.jira.plugin.system.customfieldtypes:numberrange
            - com.atlassian.jira.plugin.system.customfieldtypes:projectsearcher
            - com.atlassian.jira.plugin.system.customfieldtypes:textsearcher
            - com.atlassian.jira.plugin.system.customfieldtypes:userpickergroupsearcher
            - com.atlassian.jira.plugin.system.customfieldtypes:versionsearcher
          type: string
      type: object
      writeOnly: true
    UpdateDefaultScreenScheme:
      additionalProperties: false
      description: The ID of a screen scheme.
      properties:
        screenSchemeId:
          description: The ID of the screen scheme.
          type: string
          writeOnly: true
      required:
        - screenSchemeId
      type: object
    UpdateFieldConfigurationSchemeDetails:
      additionalProperties: false
      description: The details of the field configuration scheme.
      properties:
        description:
          description: The description of the field configuration scheme.
          maxLength: 1024
          type: string
          writeOnly: true
        name:
          description: The name of the field configuration scheme. The name must be unique.
          maxLength: 255
          type: string
          writeOnly: true
      required:
        - name
      type: object
    UpdateIssueSecurityLevelDetails:
      additionalProperties: true
      description: Details of issue security scheme level.
      properties:
        description:
          description: The description of the issue security scheme level.
          maxLength: 255
          type: string
          writeOnly: true
        name:
          description: The name of the issue security scheme level. Must be unique.
          maxLength: 60
          type: string
          writeOnly: true
      type: object
    UpdateIssueSecuritySchemeRequestBean:
      additionalProperties: false
      properties:
        description:
          description: The description of the security scheme scheme.
          maxLength: 255
          type: string
          writeOnly: true
        name:
          description: The name of the security scheme scheme. Must be unique.
          maxLength: 60
          type: string
          writeOnly: true
      type: object
    UpdateNotificationSchemeDetails:
      additionalProperties: true
      description: Details of a notification scheme.
      properties:
        description:
          description: The description of the notification scheme.
          maxLength: 4000
          type: string
          writeOnly: true
        name:
          description: The name of the notification scheme. Must be unique.
          maxLength: 255
          type: string
          writeOnly: true
      type: object
    UpdatePriorityDetails:
      additionalProperties: true
      description: Details of an issue priority.
      properties:
        description:
          description: The description of the priority.
          maxLength: 255
          type: string
          writeOnly: true
        iconUrl:
          description: The URL of an icon for the priority. Accepted protocols are HTTP and HTTPS. Built in icons can also be used.
          enum:
            - /images/icons/priorities/blocker.png
            - /images/icons/priorities/critical.png
            - /images/icons/priorities/high.png
            - /images/icons/priorities/highest.png
            - /images/icons/priorities/low.png
            - /images/icons/priorities/lowest.png
            - /images/icons/priorities/major.png
            - /images/icons/priorities/medium.png
            - /images/icons/priorities/minor.png
            - /images/icons/priorities/trivial.png
          maxLength: 255
          type: string
          writeOnly: true
        name:
          description: The name of the priority. Must be unique.
          maxLength: 60
          type: string
          writeOnly: true
        statusColor:
          description: The status color of the priority in 3-digit or 6-digit hexadecimal format.
          type: string
          writeOnly: true
      type: object
    UpdateProjectDetails:
      additionalProperties: false
      description: Details about the project.
      properties:
        assigneeType:
          description: The default assignee when creating issues for this project.
          enum:
            - PROJECT_LEAD
            - UNASSIGNED
          type: string
        avatarId:
          description: An integer value for the project's avatar.
          format: int64
          type: integer
        categoryId:
          description: The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-3-projectCategory-get) operation. To remove the project category from the project, set the value to `-1.`
          format: int64
          type: integer
        description:
          description: A brief description of the project.
          type: string
        issueSecurityScheme:
          description: The ID of the issue security scheme for the project, which enables you to control who can and cannot view issues. Use the [Get issue security schemes](#api-rest-api-3-issuesecurityschemes-get) resource to get all issue security scheme IDs.
          format: int64
          type: integer
        key:
          description: Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric characters. The maximum length is 10 characters.
          type: string
        lead:
          description: This parameter is deprecated because of privacy changes. Use `leadAccountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. The user name of the project lead. Cannot be provided with `leadAccountId`.
          type: string
        leadAccountId:
          description: The account ID of the project lead. Cannot be provided with `lead`.
          maxLength: 128
          type: string
        name:
          description: The name of the project.
          type: string
        notificationScheme:
          description: The ID of the notification scheme for the project. Use the [Get notification schemes](#api-rest-api-3-notificationscheme-get) resource to get a list of notification scheme IDs.
          format: int64
          type: integer
        permissionScheme:
          description: The ID of the permission scheme for the project. Use the [Get all permission schemes](#api-rest-api-3-permissionscheme-get) resource to see a list of all permission scheme IDs.
          format: int64
          type: integer
        url:
          description: A link to information about this project, such as project documentation
          type: string
      type: object
    UpdateResolutionDetails:
      additionalProperties: true
      description: Details of an issue resolution.
      properties:
        description:
          description: The description of the resolution.
          maxLength: 255
          type: string
          writeOnly: true
        name:
          description: The name of the resolution. Must be unique.
          maxLength: 60
          type: string
          writeOnly: true
      required:
        - name
      type: object
    UpdateScreenDetails:
      additionalProperties: false
      description: Details of a screen.
      properties:
        description:
          description: The description of the screen. The maximum length is 255 characters.
          type: string
          writeOnly: true
        name:
          description: The name of the screen. The name must be unique. The maximum length is 255 characters.
          type: string
          writeOnly: true
      type: object
    UpdateScreenSchemeDetails:
      additionalProperties: false
      description: Details of a screen scheme.
      properties:
        description:
          description: The description of the screen scheme. The maximum length is 255 characters.
          type: string
          writeOnly: true
        name:
          description: The name of the screen scheme. The name must be unique. The maximum length is 255 characters.
          type: string
          writeOnly: true
        screens:
          allOf:
            - $ref: "#/components/schemas/UpdateScreenTypes"
          description: The IDs of the screens for the screen types of the screen scheme. Only screens used in classic projects are accepted.
      type: object
    UpdateScreenTypes:
      additionalProperties: false
      description: The IDs of the screens for the screen types of the screen scheme.
      properties:
        create:
          description: The ID of the create screen. To remove the screen association, pass a null.
          type: string
          writeOnly: true
        default:
          description: The ID of the default screen. When specified, must include a screen ID as a default screen is required.
          type: string
          writeOnly: true
        edit:
          description: The ID of the edit screen. To remove the screen association, pass a null.
          type: string
          writeOnly: true
        view:
          description: The ID of the view screen. To remove the screen association, pass a null.
          type: string
          writeOnly: true
      type: object
      writeOnly: true
    UpdateUiModificationDetails:
      additionalProperties: false
      description: The details of a UI modification.
      properties:
        contexts:
          description: List of contexts of the UI modification. The maximum number of contexts is 1000. If provided, replaces all existing contexts.
          items:
            $ref: "#/components/schemas/UiModificationContextDetails"
          type: array
          writeOnly: true
        data:
          description: The data of the UI modification. The maximum size of the data is 50000 characters.
          type: string
          writeOnly: true
        description:
          description: The description of the UI modification. The maximum length is 255 characters.
          type: string
          writeOnly: true
        name:
          description: The name of the UI modification. The maximum length is 255 characters.
          type: string
          writeOnly: true
      type: object
    UpdateUserToGroupBean:
      additionalProperties: true
      properties:
        accountId:
          description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
          maxLength: 128
          type: string
        name:
          description: This property is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
          type: string
      type: object
    UpdatedProjectCategory:
      additionalProperties: false
      description: A project category.
      properties:
        description:
          description: The name of the project category.
          readOnly: true
          type: string
        id:
          description: The ID of the project category.
          readOnly: true
          type: string
        name:
          description: The description of the project category.
          readOnly: true
          type: string
        self:
          description: The URL of the project category.
          readOnly: true
          type: string
      type: object
    User:
      additionalProperties: false
      description: |-
        A user with details as permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions:

         *  User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank).
         *  User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values.
         *  User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values.
      properties:
        accountId:
          description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required in requests.
          maxLength: 128
          type: string
        accountType:
          description: |-
            The user account type. Can take the following values:

             *  `atlassian` regular Atlassian user account
             *  `app` system account used for Connect applications and OAuth to represent external systems
             *  `customer` Jira Service Desk account representing an external service desk
          enum:
            - atlassian
            - app
            - customer
            - unknown
          readOnly: true
          type: string
        active:
          description: Whether the user is active.
          readOnly: true
          type: boolean
        applicationRoles:
          allOf:
            - $ref: "#/components/schemas/SimpleListWrapperApplicationRole"
          description: The application roles the user is assigned to.
          readOnly: true
        avatarUrls:
          allOf:
            - $ref: "#/components/schemas/AvatarUrlsBean"
          description: The avatars of the user.
          readOnly: true
        displayName:
          description: The display name of the user. Depending on the user’s privacy setting, this may return an alternative value.
          readOnly: true
          type: string
        emailAddress:
          description: The email address of the user. Depending on the user’s privacy setting, this may be returned as null.
          readOnly: true
          type: string
        expand:
          description: Expand options that include additional user details in the response.
          readOnly: true
          type: string
          xml:
            attribute: true
        groups:
          allOf:
            - $ref: "#/components/schemas/SimpleListWrapperGroupName"
          description: The groups that the user belongs to.
          readOnly: true
        key:
          description: This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
          type: string
        locale:
          description: The locale of the user. Depending on the user’s privacy setting, this may be returned as null.
          readOnly: true
          type: string
        name:
          description: This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
          type: string
        self:
          description: The URL of the user.
          format: uri
          readOnly: true
          type: string
        timeZone:
          description: The time zone specified in the user's profile. Depending on the user’s privacy setting, this may be returned as null.
          readOnly: true
          type: string
      type: object
      xml:
        name: user
    UserBean:
      additionalProperties: false
      properties:
        accountId:
          description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
          maxLength: 128
          type: string
        active:
          description: Whether the user is active.
          type: boolean
        avatarUrls:
          allOf:
            - $ref: "#/components/schemas/UserBeanAvatarUrls"
          description: The avatars of the user.
        displayName:
          description: The display name of the user. Depending on the user’s privacy setting, this may return an alternative value.
          type: string
        key:
          description: |-
            This property is deprecated in favor of `accountId` because of privacy changes. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.  
            The key of the user.
          type: string
        name:
          description: |-
            This property is deprecated in favor of `accountId` because of privacy changes. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.  
            The username of the user.
          type: string
        self:
          description: The URL of the user.
          format: uri
          type: string
      type: object
    UserBeanAvatarUrls:
      additionalProperties: false
      properties:
        16x16:
          description: The URL of the user's 16x16 pixel avatar.
          format: uri
          type: string
        24x24:
          description: The URL of the user's 24x24 pixel avatar.
          format: uri
          type: string
        32x32:
          description: The URL of the user's 32x32 pixel avatar.
          format: uri
          type: string
        48x48:
          description: The URL of the user's 48x48 pixel avatar.
          format: uri
          type: string
      type: object
    UserContextVariable:
      description: A [user](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user) specified as an Atlassian account ID.
      properties:
        accountId:
          description: The account ID of the user.
          type: string
        type:
          description: Type of custom context variable.
          type: string
      required:
        - accountId
        - type
      type: object
    UserDetails:
      additionalProperties: false
      description: |-
        User details permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions:

         *  User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank).
         *  User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values.
         *  User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values.
      properties:
        accountId:
          description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
          maxLength: 128
          type: string
        accountType:
          description: The type of account represented by this user. This will be one of 'atlassian' (normal users), 'app' (application user) or 'customer' (Jira Service Desk customer user)
          readOnly: true
          type: string
        active:
          description: Whether the user is active.
          readOnly: true
          type: boolean
        avatarUrls:
          allOf:
            - $ref: "#/components/schemas/AvatarUrlsBean"
          description: The avatars of the user.
          readOnly: true
        displayName:
          description: The display name of the user. Depending on the user’s privacy settings, this may return an alternative value.
          readOnly: true
          type: string
        emailAddress:
          description: The email address of the user. Depending on the user’s privacy settings, this may be returned as null.
          readOnly: true
          type: string
        key:
          description: This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
          readOnly: true
          type: string
        name:
          description: This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
          readOnly: true
          type: string
        self:
          description: The URL of the user.
          readOnly: true
          type: string
        timeZone:
          description: The time zone specified in the user's profile. Depending on the user’s privacy settings, this may be returned as null.
          readOnly: true
          type: string
      type: object
    UserFilter:
      description: Filter for a User Picker (single) custom field.
      properties:
        enabled:
          description: Whether the filter is enabled.
          type: boolean
        groups:
          description: User groups autocomplete suggestion users must belong to. If not provided, the default values are used. A maximum of 10 groups can be provided.
          items:
            description: User groups autocomplete suggestion users must belong to. If not provided, the default values are used. A maximum of 10 groups can be provided.
            type: string
          type: array
          uniqueItems: true
        roleIds:
          description: Roles that autocomplete suggestion users must belong to. If not provided, the default values are used. A maximum of 10 roles can be provided.
          items:
            description: Roles that autocomplete suggestion users must belong to. If not provided, the default values are used. A maximum of 10 roles can be provided.
            format: int64
            type: integer
          type: array
          uniqueItems: true
      required:
        - enabled
      type: object
    UserKey:
      additionalProperties: false
      description: List of user account IDs.
      properties:
        accountId:
          description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Returns *unknown* if the record is deleted and corrupted, for example, as the result of a server import.
          maxLength: 128
          type: string
        key:
          description: This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
          type: string
      type: object
    UserList:
      additionalProperties: false
      description: A paginated list of users sharing the filter. This includes users that are members of the groups or can browse the projects that the filter is shared with.
      properties:
        end-index:
          description: The index of the last item returned on the page.
          format: int32
          readOnly: true
          type: integer
          xml:
            attribute: true
            name: end-index
        items:
          description: The list of items.
          items:
            $ref: "#/components/schemas/User"
          readOnly: true
          type: array
        max-results:
          description: The maximum number of results that could be on the page.
          format: int32
          readOnly: true
          type: integer
          xml:
            attribute: true
            name: max-results
        size:
          description: The number of items on the page.
          format: int32
          readOnly: true
          type: integer
          xml:
            attribute: true
        start-index:
          description: The index of the first item returned on the page.
          format: int32
          readOnly: true
          type: integer
          xml:
            attribute: true
            name: start-index
      type: object
    UserMigrationBean:
      additionalProperties: false
      properties:
        accountId:
          type: string
        key:
          type: string
        username:
          type: string
      type: object
    UserPermission:
      additionalProperties: true
      description: Details of a permission and its availability to a user.
      properties:
        deprecatedKey:
          description: Indicate whether the permission key is deprecated. Note that deprecated keys cannot be used in the `permissions parameter of Get my permissions. Deprecated keys are not returned by Get all permissions.`
          type: boolean
        description:
          description: The description of the permission.
          type: string
        havePermission:
          description: Whether the permission is available to the user in the queried context.
          type: boolean
        id:
          description: The ID of the permission. Either `id` or `key` must be specified. Use [Get all permissions](#api-rest-api-3-permissions-get) to get the list of permissions.
          type: string
        key:
          description: The key of the permission. Either `id` or `key` must be specified. Use [Get all permissions](#api-rest-api-3-permissions-get) to get the list of permissions.
          type: string
        name:
          description: The name of the permission.
          type: string
        type:
          description: The type of the permission.
          enum:
            - GLOBAL
            - PROJECT
          type: string
      type: object
    UserPickerUser:
      additionalProperties: false
      description: A user found in a search.
      properties:
        accountId:
          description: The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
          type: string
        avatarUrl:
          description: The avatar URL of the user.
          format: uri
          type: string
        displayName:
          description: The display name of the user. Depending on the user’s privacy setting, this may be returned as null.
          type: string
        html:
          description: The display name, email address, and key of the user with the matched query string highlighted with the HTML bold tag.
          type: string
        key:
          description: This property is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
          type: string
        name:
          description: This property is no longer available . See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
          type: string
      type: object
    ValueOperand:
      description: An operand that is a user-provided value.
      properties:
        encodedValue:
          description: Encoded value, which can be used directly in a JQL query.
          type: string
        value:
          description: The operand value.
          type: string
      required:
        - value
      type: object
    Version:
      additionalProperties: false
      description: Details about a project version.
      properties:
        archived:
          description: Indicates that the version is archived. Optional when creating or updating a version.
          type: boolean
        description:
          description: The description of the version. Optional when creating or updating a version.
          type: string
        expand:
          description: |-
            Use [expand](em>#expansion) to include additional information about version in the response. This parameter accepts a comma-separated list. Expand options include:

             *  `operations` Returns the list of operations available for this version.
             *  `issuesstatus` Returns the count of issues in this version for each of the status categories *to do*, *in progress*, *done*, and *unmapped*. The *unmapped* property contains a count of issues with a status other than *to do*, *in progress*, and *done*.

            Optional for create and update.
          type: string
          xml:
            attribute: true
        id:
          description: The ID of the version.
          readOnly: true
          type: string
        issuesStatusForFixVersion:
          allOf:
            - $ref: "#/components/schemas/VersionIssuesStatus"
          description: If the expand option `issuesstatus` is used, returns the count of issues in this version for each of the status categories *to do*, *in progress*, *done*, and *unmapped*. The *unmapped* property contains a count of issues with a status other than *to do*, *in progress*, and *done*.
          readOnly: true
        moveUnfixedIssuesTo:
          description: The URL of the self link to the version to which all unfixed issues are moved when a version is released. Not applicable when creating a version. Optional when updating a version.
          format: uri
          type: string
        name:
          description: The unique name of the version. Required when creating a version. Optional when updating a version. The maximum length is 255 characters.
          type: string
        operations:
          description: If the expand option `operations` is used, returns the list of operations available for this version.
          items:
            $ref: "#/components/schemas/SimpleLink"
          readOnly: true
          type: array
        overdue:
          description: Indicates that the version is overdue.
          readOnly: true
          type: boolean
        project:
          description: Deprecated. Use `projectId`.
          type: string
        projectId:
          description: The ID of the project to which this version is attached. Required when creating a version. Not applicable when updating a version.
          format: int64
          type: integer
        releaseDate:
          description: The release date of the version. Expressed in ISO 8601 format (yyyy-mm-dd). Optional when creating or updating a version.
          format: date
          type: string
        released:
          description: Indicates that the version is released. If the version is released a request to release again is ignored. Not applicable when creating a version. Optional when updating a version.
          type: boolean
        self:
          description: The URL of the version.
          format: uri
          readOnly: true
          type: string
        startDate:
          description: The start date of the version. Expressed in ISO 8601 format (yyyy-mm-dd). Optional when creating or updating a version.
          format: date
          type: string
        userReleaseDate:
          description: The date on which work on this version is expected to finish, expressed in the instance's *Day/Month/Year Format* date format.
          readOnly: true
          type: string
        userStartDate:
          description: The date on which work on this version is expected to start, expressed in the instance's *Day/Month/Year Format* date format.
          readOnly: true
          type: string
      type: object
      xml:
        name: version
    VersionIssueCounts:
      additionalProperties: false
      description: Various counts of issues within a version.
      properties:
        customFieldUsage:
          description: List of custom fields using the version.
          items:
            $ref: "#/components/schemas/VersionUsageInCustomField"
          readOnly: true
          type: array
        issueCountWithCustomFieldsShowingVersion:
          description: Count of issues where a version custom field is set to the version.
          format: int64
          readOnly: true
          type: integer
        issuesAffectedCount:
          description: Count of issues where the `affectedVersion` is set to the version.
          format: int64
          readOnly: true
          type: integer
        issuesFixedCount:
          description: Count of issues where the `fixVersion` is set to the version.
          format: int64
          readOnly: true
          type: integer
        self:
          description: The URL of these count details.
          format: uri
          readOnly: true
          type: string
      type: object
      xml:
        name: version
    VersionIssuesStatus:
      additionalProperties: true
      description: Counts of the number of issues in various statuses.
      properties:
        done:
          description: Count of issues with status *done*.
          format: int64
          readOnly: true
          type: integer
        inProgress:
          description: Count of issues with status *in progress*.
          format: int64
          readOnly: true
          type: integer
        toDo:
          description: Count of issues with status *to do*.
          format: int64
          readOnly: true
          type: integer
        unmapped:
          description: Count of issues with a status other than *to do*, *in progress*, and *done*.
          format: int64
          readOnly: true
          type: integer
      type: object
    VersionMoveBean:
      additionalProperties: false
      properties:
        after:
          description: The URL (self link) of the version after which to place the moved version. Cannot be used with `position`.
          format: uri
          type: string
        position:
          description: An absolute position in which to place the moved version. Cannot be used with `after`.
          enum:
            - Earlier
            - Later
            - First
            - Last
          type: string
      type: object
      xml:
        name: version
    VersionUnresolvedIssuesCount:
      additionalProperties: false
      description: Count of a version's unresolved issues.
      properties:
        issuesCount:
          description: Count of issues.
          format: int64
          readOnly: true
          type: integer
        issuesUnresolvedCount:
          description: Count of unresolved issues.
          format: int64
          readOnly: true
          type: integer
        self:
          description: The URL of these count details.
          format: uri
          readOnly: true
          type: string
      type: object
      xml:
        name: version
    VersionUsageInCustomField:
      additionalProperties: false
      description: List of custom fields using the version.
      properties:
        customFieldId:
          description: The ID of the custom field.
          format: int64
          readOnly: true
          type: integer
        fieldName:
          description: The name of the custom field.
          readOnly: true
          type: string
        issueCountWithVersionInCustomField:
          description: Count of the issues where the custom field contains the version.
          format: int64
          readOnly: true
          type: integer
      type: object
    Visibility:
      additionalProperties: true
      description: The group or role to which this item is visible.
      properties:
        identifier:
          description: The ID of the group or the name of the role that visibility of this item is restricted to.
          nullable: true
          type: string
        type:
          description: Whether visibility of this item is restricted to a group or role.
          enum:
            - group
            - role
          type: string
        value:
          description: The name of the group or role that visibility of this item is restricted to. Please note that the name of a group is mutable, to reliably identify a group use `identifier`.
          type: string
      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
    WarningCollection:
      additionalProperties: false
      properties:
        warnings:
          items:
            type: string
          type: array
      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
    Webhook:
      additionalProperties: false
      description: A webhook.
      properties:
        events:
          description: The Jira events that trigger the webhook.
          items:
            enum:
              - jira:issue_created
              - jira:issue_updated
              - jira:issue_deleted
              - comment_created
              - comment_updated
              - comment_deleted
              - issue_property_set
              - issue_property_deleted
            type: string
          type: array
        expirationDate:
          description: The date after which the webhook is no longer sent. Use [Extend webhook life](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-webhooks/#api-rest-api-3-webhook-refresh-put) to extend the date.
          format: int64
          readOnly: true
          type: integer
        fieldIdsFilter:
          description: A list of field IDs. When the issue changelog contains any of the fields, the webhook `jira:issue_updated` is sent. If this parameter is not present, the app is notified about all field updates.
          items:
            description: A list of field IDs. When the issue changelog contains any of the fields, the webhook <code>jira:issue_updated</code> is sent. If this parameter is not present, the app is notified about all field updates.
            type: string
          type: array
        id:
          description: The ID of the webhook.
          format: int64
          type: integer
        issuePropertyKeysFilter:
          description: A list of issue property keys. A change of those issue properties triggers the `issue_property_set` or `issue_property_deleted` webhooks. If this parameter is not present, the app is notified about all issue property updates.
          items:
            description: A list of issue property keys. A change of those issue properties triggers the <code>issue_property_set</code> or <code>issue_property_deleted</code> webhooks. If this parameter is not present, the app is notified about all issue property updates.
            type: string
          type: array
        jqlFilter:
          description: The JQL filter that specifies which issues the webhook is sent for.
          type: string
      required:
        - events
        - id
        - jqlFilter
      type: object
    WebhookDetails:
      additionalProperties: false
      description: A list of webhooks.
      properties:
        events:
          description: The Jira events that trigger the webhook.
          items:
            enum:
              - jira:issue_created
              - jira:issue_updated
              - jira:issue_deleted
              - comment_created
              - comment_updated
              - comment_deleted
              - issue_property_set
              - issue_property_deleted
            type: string
          type: array
        fieldIdsFilter:
          description: A list of field IDs. When the issue changelog contains any of the fields, the webhook `jira:issue_updated` is sent. If this parameter is not present, the app is notified about all field updates.
          items:
            description: A list of field IDs. When the issue changelog contains any of the fields, the webhook <code>jira:issue_updated</code> is sent. If this parameter is not present, the app is notified about all field updates.
            type: string
          type: array
        issuePropertyKeysFilter:
          description: A list of issue property keys. A change of those issue properties triggers the `issue_property_set` or `issue_property_deleted` webhooks. If this parameter is not present, the app is notified about all issue property updates.
          items:
            description: A list of issue property keys. A change of those issue properties triggers the <code>issue_property_set</code> or <code>issue_property_deleted</code> webhooks. If this parameter is not present, the app is notified about all issue property updates.
            type: string
          type: array
        jqlFilter:
          description: |-
            The JQL filter that specifies which issues the webhook is sent for. Only a subset of JQL can be used. The supported elements are:

             *  Fields: `issueKey`, `project`, `issuetype`, `status`, `assignee`, `reporter`, `issue.property`, and `cf[id]`. For custom fields (`cf[id]`), only the epic label custom field is supported.".
             *  Operators: `=`, `!=`, `IN`, and `NOT IN`.
          type: string
      required:
        - events
        - jqlFilter
      type: object
    WebhookRegistrationDetails:
      additionalProperties: false
      description: Details of webhooks to register.
      properties:
        url:
          description: The URL that specifies where to send the webhooks. This URL must use the same base URL as the Connect app. Only a single URL per app is allowed to be registered.
          type: string
        webhooks:
          description: A list of webhooks.
          items:
            $ref: "#/components/schemas/WebhookDetails"
          type: array
      required:
        - url
        - webhooks
      type: object
    WebhooksExpirationDate:
      additionalProperties: false
      description: The date the refreshed webhooks expire.
      properties:
        expirationDate:
          description: The expiration date of all the refreshed webhooks.
          format: int64
          readOnly: true
          type: integer
      required:
        - expirationDate
      type: object
    WorkManagementNavigationInfo:
      properties:
        boardName:
          type: string
      type: object
    Workflow:
      additionalProperties: false
      description: Details about a workflow.
      properties:
        created:
          description: The creation date of the workflow.
          format: date-time
          type: string
        description:
          description: The description of the workflow.
          type: string
        hasDraftWorkflow:
          description: Whether the workflow has a draft version.
          type: boolean
        id:
          $ref: "#/components/schemas/PublishedWorkflowId"
        isDefault:
          description: Whether this is the default workflow.
          type: boolean
        operations:
          $ref: "#/components/schemas/WorkflowOperations"
        projects:
          description: The projects the workflow is assigned to, through workflow schemes.
          items:
            $ref: "#/components/schemas/ProjectDetails"
          type: array
        schemes:
          description: The workflow schemes the workflow is assigned to.
          items:
            $ref: "#/components/schemas/WorkflowSchemeIdName"
          type: array
        statuses:
          description: The statuses of the workflow.
          items:
            $ref: "#/components/schemas/WorkflowStatus"
          type: array
        transitions:
          description: The transitions of the workflow.
          items:
            $ref: "#/components/schemas/Transition"
          type: array
        updated:
          description: The last edited date of the workflow.
          format: date-time
          type: string
      required:
        - description
        - id
      type: object
    WorkflowCompoundCondition:
      description: A compound workflow transition rule condition. This object returns `nodeType` as `compound`.
      properties:
        conditions:
          description: The list of workflow conditions.
          items:
            $ref: "#/components/schemas/WorkflowCondition"
          type: array
        nodeType:
          type: string
        operator:
          description: The compound condition operator.
          enum:
            - AND
            - OR
          type: string
      required:
        - conditions
        - nodeType
        - operator
      type: object
    WorkflowCondition:
      additionalProperties: false
      description: The workflow transition rule conditions tree.
      discriminator:
        mapping:
          compound: "#/components/schemas/WorkflowCompoundCondition"
          simple: "#/components/schemas/WorkflowSimpleCondition"
        propertyName: nodeType
      oneOf:
        - $ref: "#/components/schemas/WorkflowSimpleCondition"
        - $ref: "#/components/schemas/WorkflowCompoundCondition"
      type: object
    WorkflowIDs:
      additionalProperties: false
      description: The classic workflow identifiers.
      properties:
        entityId:
          description: The entity ID of the workflow.
          type: string
        name:
          description: The name of the workflow.
          type: string
      required:
        - name
      type: object
    WorkflowId:
      additionalProperties: false
      description: Properties that identify a workflow.
      properties:
        draft:
          description: Whether the workflow is in the draft state.
          type: boolean
        name:
          description: The name of the workflow.
          type: string
      required:
        - draft
        - name
      type: object
    WorkflowOperations:
      additionalProperties: false
      description: Operations allowed on a workflow
      properties:
        canDelete:
          description: Whether the workflow can be deleted.
          type: boolean
        canEdit:
          description: Whether the workflow can be updated.
          type: boolean
      required:
        - canDelete
        - canEdit
      type: object
    WorkflowRules:
      additionalProperties: false
      description: A collection of transition rules.
      properties:
        conditionsTree:
          $ref: "#/components/schemas/WorkflowCondition"
        postFunctions:
          description: The workflow post functions.
          items:
            $ref: "#/components/schemas/WorkflowTransitionRule"
          type: array
        validators:
          description: The workflow validators.
          items:
            $ref: "#/components/schemas/WorkflowTransitionRule"
          type: array
      type: object
    WorkflowRulesSearch:
      description: Details of the workflow and its transition rules.
      properties:
        expand:
          description: Use expand to include additional information in the response. This parameter accepts `transition` which, for each rule, returns information about the transition the rule is assigned to.
          example: transition
          type: string
        ruleIds:
          description: The list of workflow rule IDs.
          items:
            description: Workflow rule ID.
            example: 55d44f1d-c859-42e5-9c27-2c5ec3f340b1
            format: uuid
            type: string
          maxItems: 10
          minItems: 1
          type: array
        workflowEntityId:
          description: The workflow ID.
          example: a498d711-685d-428d-8c3e-bc03bb450ea7
          format: uuid
          type: string
      required:
        - ruleIds
        - workflowEntityId
      type: object
    WorkflowRulesSearchDetails:
      description: Details of workflow transition rules.
      properties:
        invalidRules:
          description: List of workflow rule IDs that do not belong to the workflow or can not be found.
          items:
            description: Workflow rule ID.
            example: 55d44f1d-c859-42e5-9c27-2c5ec3f340b1
            format: uuid
            type: string
          type: array
        validRules:
          description: List of valid workflow transition rules.
          items:
            $ref: "#/components/schemas/WorkflowTransitionRules"
          type: array
        workflowEntityId:
          description: The workflow ID.
          example: a498d711-685d-428d-8c3e-bc03bb450ea7
          format: uuid
          type: string
      type: object
    WorkflowScheme:
      additionalProperties: false
      description: Details about a workflow scheme.
      properties:
        defaultWorkflow:
          description: The name of the default workflow for the workflow scheme. The default workflow has *All Unassigned Issue Types* assigned to it in Jira. If `defaultWorkflow` is not specified when creating a workflow scheme, it is set to *Jira Workflow (jira)*.
          type: string
        description:
          description: The description of the workflow scheme.
          type: string
        draft:
          description: Whether the workflow scheme is a draft or not.
          readOnly: true
          type: boolean
        id:
          description: The ID of the workflow scheme.
          format: int64
          readOnly: true
          type: integer
        issueTypeMappings:
          additionalProperties:
            type: string
          description: The issue type to workflow mappings, where each mapping is an issue type ID and workflow name pair. Note that an issue type can only be mapped to one workflow in a workflow scheme.
          type: object
        issueTypes:
          additionalProperties:
            $ref: "#/components/schemas/IssueTypeDetails"
          description: The issue types available in Jira.
          readOnly: true
          type: object
        lastModified:
          description: The date-time that the draft workflow scheme was last modified. A modification is a change to the issue type-project mappings only. This property does not apply to non-draft workflows.
          readOnly: true
          type: string
        lastModifiedUser:
          allOf:
            - $ref: "#/components/schemas/User"
          description: The user that last modified the draft workflow scheme. A modification is a change to the issue type-project mappings only. This property does not apply to non-draft workflows.
          readOnly: true
        name:
          description: The name of the workflow scheme. The name must be unique. The maximum length is 255 characters. Required when creating a workflow scheme.
          type: string
        originalDefaultWorkflow:
          description: For draft workflow schemes, this property is the name of the default workflow for the original workflow scheme. The default workflow has *All Unassigned Issue Types* assigned to it in Jira.
          readOnly: true
          type: string
        originalIssueTypeMappings:
          additionalProperties:
            readOnly: true
            type: string
          description: For draft workflow schemes, this property is the issue type to workflow mappings for the original workflow scheme, where each mapping is an issue type ID and workflow name pair. Note that an issue type can only be mapped to one workflow in a workflow scheme.
          readOnly: true
          type: object
        self:
          format: uri
          readOnly: true
          type: string
        updateDraftIfNeeded:
          description: |-
            Whether to create or update a draft workflow scheme when updating an active workflow scheme. An active workflow scheme is a workflow scheme that is used by at least one project. The following examples show how this property works:

             *  Update an active workflow scheme with `updateDraftIfNeeded` set to `true`: If a draft workflow scheme exists, it is updated. Otherwise, a draft workflow scheme is created.
             *  Update an active workflow scheme with `updateDraftIfNeeded` set to `false`: An error is returned, as active workflow schemes cannot be updated.
             *  Update an inactive workflow scheme with `updateDraftIfNeeded` set to `true`: The workflow scheme is updated, as inactive workflow schemes do not require drafts to update.

            Defaults to `false`.
          type: boolean
      type: object
    WorkflowSchemeAssociations:
      additionalProperties: false
      description: A workflow scheme along with a list of projects that use it.
      properties:
        projectIds:
          description: The list of projects that use the workflow scheme.
          items:
            type: string
          type: array
        workflowScheme:
          allOf:
            - $ref: "#/components/schemas/WorkflowScheme"
          description: The workflow scheme.
      required:
        - projectIds
        - workflowScheme
      type: object
    WorkflowSchemeIdName:
      additionalProperties: false
      description: The ID and the name of the workflow scheme.
      properties:
        id:
          description: The ID of the workflow scheme.
          type: string
        name:
          description: The name of the workflow scheme.
          type: string
      required:
        - id
        - name
      type: object
    WorkflowSchemeProjectAssociation:
      additionalProperties: false
      description: An associated workflow scheme and project.
      properties:
        projectId:
          description: The ID of the project.
          type: string
        workflowSchemeId:
          description: The ID of the workflow scheme. If the workflow scheme ID is `null`, the operation assigns the default workflow scheme.
          type: string
      required:
        - projectId
      type: object
    WorkflowSimpleCondition:
      description: A workflow transition rule condition. This object returns `nodeType` as `simple`.
      properties:
        configuration:
          description: EXPERIMENTAL. The configuration of the transition rule.
          type: object
        nodeType:
          type: string
        type:
          description: The type of the transition rule.
          type: string
      required:
        - nodeType
        - type
      type: object
    WorkflowStatus:
      additionalProperties: false
      description: Details of a workflow status.
      properties:
        id:
          description: The ID of the issue status.
          type: string
        name:
          description: The name of the status in the workflow.
          type: string
        properties:
          additionalProperties:
            description: Additional properties that modify the behavior of issues in this status. Supports the properties <code>jira.issue.editable</code> and <code>issueEditable</code> (deprecated) that indicate whether issues are editable.
          description: Additional properties that modify the behavior of issues in this status. Supports the properties `jira.issue.editable` and `issueEditable` (deprecated) that indicate whether issues are editable.
          type: object
      required:
        - id
        - name
      type: object
    WorkflowTransition:
      additionalProperties: false
      description: A workflow transition.
      properties:
        id:
          description: The transition ID.
          format: int32
          type: integer
        name:
          description: The transition name.
          type: string
      required:
        - id
        - name
      type: object
    WorkflowTransitionProperty:
      additionalProperties: true
      description: Details about the server Jira is running on.
      properties:
        id:
          description: The ID of the transition property.
          readOnly: true
          type: string
        key:
          description: The key of the transition property. Also known as the name of the transition property.
          readOnly: true
          type: string
        value:
          description: The value of the transition property.
          type: string
      required:
        - value
      type: object
    WorkflowTransitionRule:
      additionalProperties: false
      description: A workflow transition rule.
      properties:
        configuration:
          description: EXPERIMENTAL. The configuration of the transition rule.
        type:
          description: The type of the transition rule.
          type: string
      required:
        - type
      type: object
    WorkflowTransitionRules:
      additionalProperties: false
      description: A workflow with transition rules.
      properties:
        conditions:
          description: The list of conditions within the workflow.
          items:
            $ref: "#/components/schemas/AppWorkflowTransitionRule"
          type: array
        postFunctions:
          description: The list of post functions within the workflow.
          items:
            $ref: "#/components/schemas/AppWorkflowTransitionRule"
          type: array
        validators:
          description: The list of validators within the workflow.
          items:
            $ref: "#/components/schemas/AppWorkflowTransitionRule"
          type: array
        workflowId:
          $ref: "#/components/schemas/WorkflowId"
      required:
        - workflowId
      type: object
    WorkflowTransitionRulesDetails:
      additionalProperties: false
      description: Details about a workflow configuration update request.
      properties:
        workflowId:
          $ref: "#/components/schemas/WorkflowId"
        workflowRuleIds:
          description: The list of connect workflow rule IDs.
          items:
            description: The list of connect workflow rule IDs.
            type: string
          type: array
          uniqueItems: true
      required:
        - workflowId
        - workflowRuleIds
      type: object
    WorkflowTransitionRulesUpdate:
      additionalProperties: false
      description: Details about a workflow configuration update request.
      properties:
        workflows:
          description: The list of workflows with transition rules to update.
          items:
            $ref: "#/components/schemas/WorkflowTransitionRules"
          type: array
      required:
        - workflows
      type: object
    WorkflowTransitionRulesUpdateErrorDetails:
      additionalProperties: false
      description: Details of any errors encountered while updating workflow transition rules for a workflow.
      properties:
        ruleUpdateErrors:
          additionalProperties:
            description: A list of transition rule update errors, indexed by the transition rule ID. Any transition rule that appears here wasn't updated.
            items:
              description: A list of transition rule update errors, indexed by the transition rule ID. Any transition rule that appears here wasn't updated.
              type: string
            type: array
            uniqueItems: true
          description: A list of transition rule update errors, indexed by the transition rule ID. Any transition rule that appears here wasn't updated.
          type: object
        updateErrors:
          description: The list of errors that specify why the workflow update failed. The workflow was not updated if the list contains any entries.
          items:
            description: An error specifying why the workflow update failed.
            type: string
          type: array
          uniqueItems: true
        workflowId:
          $ref: "#/components/schemas/WorkflowId"
      required:
        - ruleUpdateErrors
        - updateErrors
        - workflowId
      type: object
    WorkflowTransitionRulesUpdateErrors:
      additionalProperties: false
      description: Details of any errors encountered while updating workflow transition rules.
      properties:
        updateResults:
          description: A list of workflows.
          items:
            $ref: "#/components/schemas/WorkflowTransitionRulesUpdateErrorDetails"
          type: array
      required:
        - updateResults
      type: object
    WorkflowsWithTransitionRulesDetails:
      additionalProperties: false
      description: Details of workflows and their transition rules to delete.
      properties:
        workflows:
          description: The list of workflows with transition rules to delete.
          items:
            $ref: "#/components/schemas/WorkflowTransitionRulesDetails"
          type: array
      required:
        - workflows
      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
    WorklogIdsRequestBean:
      additionalProperties: false
      properties:
        ids:
          description: A list of worklog IDs.
          items:
            format: int64
            type: integer
          type: array
          uniqueItems: true
      required:
        - ids
      type: object
  securitySchemes:
    OAuth2:
      description: OAuth2 scopes for Jira
      flows:
        authorizationCode:
          authorizationUrl: https://auth.atlassian.com/authorize
          scopes:
            delete:async-task:jira: Delete asynchronous task.
            delete:attachment:jira: Delete issue attachments.
            delete:avatar:jira: Delete system and custom avatars.
            delete:comment.property:jira: Delete issue comment properties.
            delete:comment:jira: Delete issue comments.
            delete:dashboard.property:jira: Delete dashboard properties.
            delete:dashboard:jira: Delete dashboards.
            delete:field-configuration-scheme:jira: Delete field configuration schemes.
            delete:field-configuration:jira: Delete field configurations.
            delete:field.option:jira: Delete field options.
            delete:field:jira: Delete fields.
            delete:filter.column:jira: Delete filter columns.
            delete:filter:jira: Delete filters.
            delete:group:jira: Delete user groups.
            delete:issue-link-type:jira: Delete issue link types.
            delete:issue-link:jira: Delete issue links.
            delete:issue-type-scheme:jira: Delete issue type schemes.
            delete:issue-type-screen-scheme:jira: Delete issue type screen schemes.
            delete:issue-type.property:jira: Delete issue type properties.
            delete:issue-type:jira: Delete issue types.
            delete:issue-worklog.property:jira: Delete issue worklog properties.
            delete:issue-worklog:jira: Delete issue worklogs.
            delete:issue.property:jira: Delete issue properties.
            delete:issue.remote-link:jira: Delete issue remote links.
            delete:issue:jira: Delete issues.
            delete:permission-scheme:jira: Delete permission schemes.
            delete:permission:jira: Delete permissions.
            delete:project-category:jira: Delete project categories.
            delete:project-role:jira: Delete project roles.
            delete:project-version:jira: Delete project versions.
            delete:project.avatar:jira: Delete project avatars.
            delete:project.component:jira: Delete project components.
            delete:project.property:jira: Delete project properties.
            delete:project:jira: Delete projects and their details, such as issue types, project lead, and avatars.
            delete:screen-scheme:jira: Delete screen schemes.
            delete:screen-tab:jira: Delete screen tabs.
            delete:screen:jira: Delete screens.
            delete:screenable-field:jira: Delete screenable fields.
            delete:user-configuration:jira: Delete user configurations.
            delete:user.property:jira: Delete user properties.
            delete:webhook:jira: Delete webhooks.
            delete:workflow-scheme:jira: Delete workflow schemes.
            delete:workflow.property:jira: Delete workflow properties.
            delete:workflow:jira: Delete workflows.
            manage:jira-configuration: Configure Jira settings that require the Jira administrators permission, for example, create projects and custom fields, view workflows, manage issue link types.
            manage:jira-project: Create and edit project settings and create new project-level objects, for example, versions, components.
            manage:jira-webhook: Manage Jira webhooks. Enables an OAuth app to register and unregister dynamic webhooks in Jira. It also provides for fetching of registered webhooks.
            read:application-role:jira: View application roles.
            read:attachment:jira: View issue attachments.
            read:audit-log:jira: View audit logs.
            read:avatar:jira: View system and custom avatars.
            read:comment.property:jira: View issue comment properties.
            read:comment:jira: View issue comments.
            read:custom-field-contextual-configuration:jira: Read custom field contextual configurations.
            read:dashboard.property:jira: View dashboard properties.
            read:dashboard:jira: View dashboards.
            read:field-configuration-scheme:jira: View field configuration schemes.
            read:field-configuration:jira: Read field configurations.
            read:field.default-value:jira: View field default values.
            read:field.option:jira: View field options.
            read:field.options:jira: Read field options.
            read:field:jira: View fields.
            read:filter.column:jira: View filter columns.
            read:filter.default-share-scope:jira: View filter default share scopes.
            read:filter:jira: View filters.
            read:group:jira: View user groups.
            read:instance-configuration:jira: View instance configurations.
            read:issue-details:jira: View issue details.
            read:issue-event:jira: Read issue events.
            read:issue-field-values:jira: View issue field valueses.
            read:issue-link-type:jira: View issue link types.
            read:issue-link:jira: View issue links.
            read:issue-meta:jira: View issue meta.
            read:issue-security-level:jira: View issue security levels.
            read:issue-security-scheme:jira: View issue security schemes.
            read:issue-status:jira: View issue statuses.
            read:issue-type-hierarchy:jira: Read issue type hierarchies.
            read:issue-type-scheme:jira: View issue type schemes.
            read:issue-type-screen-scheme:jira: View issue type screen schemes.
            read:issue-type.property:jira: View issue type properties.
            read:issue-type:jira: View issue types.
            read:issue-worklog.property:jira: View issue worklog properties.
            read:issue-worklog:jira: View issue worklogs.
            read:issue.changelog:jira: View issue changelogs.
            read:issue.property:jira: View issue properties.
            read:issue.remote-link:jira: View issue remote links.
            read:issue.time-tracking:jira: View issue time trackings.
            read:issue.transition:jira: View issue transitions.
            read:issue.vote:jira: View issue votes.
            read:issue.votes:jira: View issue voteses.
            read:issue.watcher:jira: View issue watchers.
            read:issue:jira: View issues.
            read:jira-expressions:jira: View jira expressions.
            read:jira-user: View user information in Jira that you have access to, including usernames, email addresses, and avatars.
            read:jira-work: Read project and issue data. Search for issues and objects associated with issues (such as attachments and worklogs).
            read:jql:jira: View JQL.
            read:label:jira: View labels.
            read:license:jira: View licenses.
            read:notification-scheme:jira: View notification schemes.
            read:permission-scheme:jira: View permission schemes.
            read:permission:jira: View permissions.
            read:priority:jira: View priorities.
            read:project-category:jira: View project categories.
            read:project-role:jira: View project roles.
            read:project-type:jira: View project types.
            read:project-version:jira: View project versions.
            read:project.avatar:jira: Read project avatars.
            read:project.component:jira: View project components.
            read:project.email:jira: View project emails.
            read:project.feature:jira: Read project features.
            read:project.property:jira: View project properties.
            read:project:jira: View projects.
            read:resolution:jira: View resolutions.
            read:role:jira: View roles.
            read:screen-field:jira: View screen fields.
            read:screen-scheme:jira: View screen schemes.
            read:screen-tab:jira: View screen tabs.
            read:screen:jira: View screens.
            read:screenable-field:jira: View screenable fields.
            read:status:jira: View statuses.
            read:user-configuration:jira: View user configurations.
            read:user.columns:jira: View user columnses.
            read:user.property:jira: View user properties.
            read:user:jira: View users.
            read:webhook:jira: View webhooks.
            read:workflow-scheme:jira: View workflow schemes.
            read:workflow.property:jira: View workflow properties.
            read:workflow:jira: View workflows.
            send:notification:jira: Send notifications.
            validate:jql:jira: Validate JQL.
            write:attachment:jira: Create and update issue attachments.
            write:avatar:jira: Create and update system and custom avatars.
            write:comment.property:jira: Create and update issue comment properties.
            write:comment:jira: Create and update issue comments.
            write:custom-field-contextual-configuration:jira: Save custom field contextual configurations.
            write:dashboard.property:jira: Create and update dashboard properties.
            write:dashboard:jira: Create and update dashboards.
            write:field-configuration-scheme:jira: Create and update field configuration schemes.
            write:field-configuration:jira: Save field configurations.
            write:field.default-value:jira: Create and update field default values.
            write:field.option:jira: Create and update field options.
            write:field:jira: Create and update fields.
            write:filter.column:jira: Create and update filter columns.
            write:filter.default-share-scope:jira: Create and update filter default share scopes.
            write:filter:jira: Create and update filters.
            write:group:jira: Create and update user groups.
            write:instance-configuration:jira: Create and update instance configurations.
            write:issue-link-type:jira: Create and update issue link types.
            write:issue-link:jira: Create and update issue links.
            write:issue-type-scheme:jira: Create and update issue type schemes.
            write:issue-type-screen-scheme:jira: Create and update issue type screen schemes.
            write:issue-type.property:jira: Create and update issue type properties.
            write:issue-type:jira: Create and update issue types.
            write:issue-worklog.property:jira: Create and update issue worklog properties.
            write:issue-worklog:jira: Create and update issue worklogs.
            write:issue.property:jira: Create and update issue properties.
            write:issue.remote-link:jira: Create and update issue remote links.
            write:issue.time-tracking:jira: Create and update issue time trackings.
            write:issue.vote:jira: Create and update issue votes.
            write:issue.watcher:jira: Create and update issue watchers.
            write:issue:jira: Create and update issues.
            write:jira-work: Create and edit issues in Jira, post comments, create worklogs, and delete issues.
            write:permission-scheme:jira: Create and update permission schemes.
            write:permission:jira: Create and update permissions.
            write:project-category:jira: Create and update project categories.
            write:project-role:jira: Create and update project roles.
            write:project-version:jira: Create and update project versions.
            write:project.avatar:jira: Create and update project avatars.
            write:project.component:jira: Create and update project components.
            write:project.email:jira: Create and update project emails.
            write:project.feature:jira: Save project features.
            write:project.property:jira: Create and update project properties.
            write:project:jira: Create and update projects.
            write:screen-scheme:jira: Create and update screen schemes.
            write:screen-tab:jira: Create and update screen tabs.
            write:screen:jira: Create and update screens.
            write:screenable-field:jira: Create and update screenable fields.
            write:user-configuration:jira: Create and update user configurations.
            write:user.property:jira: Create and update user properties.
            write:webhook:jira: Create and update webhooks.
            write:workflow-scheme:jira: Create and update workflow schemes.
            write:workflow.property:jira: Create and update workflow properties.
            write:workflow:jira: Create and update workflows.
          tokenUrl: https://auth.atlassian.com/oauth/token
      type: oauth2
    basicAuth:
      description: You can access this resource via basic auth.
      scheme: basic
      type: http
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/<resource-name>`

        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://<site-url>/rest/api/3/<resource-name>`

        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/<cloudId>/rest/api/3/<resource-name>`

        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://<site-url>/rest/api/3/<resource-name>`

        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: 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
