Atlassian Jira Component API

The Atlassian Jira Component API allows managing project components for categorizing and organizing issues within Jira.

OpenAPI Specification

atlassian-rest-api-3-component--openapi-original.yml Raw ↑
components:
  schemas:
    ProjectComponent:
      additionalProperties: false
      description: Details about a project component.
      properties:
        ari:
          description: >-
            Compass component's ID. Can't be updated. Not required for creating
            a Project Component.
          readOnly: true
          type: string
        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
        metadata:
          additionalProperties:
            readOnly: true
            type: string
          description: >-
            Compass component's metadata. Can't be updated. Not required for
            creating a Project Component.
          readOnly: true
          type: object
        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
    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
externalDocs:
  description: Find out more about Atlassian products and services.
  url: http://www.atlassian.com
info:
  contact:
    email: [email protected]
  description: Needs description.
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  termsOfService: http://atlassian.com/terms/
  title: 'Atlassian rest/api/3/component/'
  version: 1001.0.0-SNAPSHOT-67b5c6e5f3598d7ec1649016d026468ab2838a77
openapi: 3.0.1
paths:
  /rest/api/3/component/{id}:
    delete:
      deprecated: false
      description: >-
        Deletes a component.<br><br>This operation can be accessed
        anonymously.<br><br>**[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: atlassianDeletecomponent
      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: Atlassian Delete Component
      tags:
        - Project Components
      x-atlassian-data-security-policy:
        - app-access-rule-exempt: true
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - delete:project.component:jira
          state: Beta
      x-atlassian-connect-scope: PROJECT_ADMIN
    get:
      deprecated: false
      description: >-
        Returns a component.<br><br>This operation can be accessed
        anonymously.<br><br>**[Permissions](#permissions) required:** *Browse
        projects* [project
        permission](https://confluence.atlassian.com/x/yodKLg) for project
        containing the component.
      operationId: atlassianGetcomponent
      parameters:
        - description: The ID of the component.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              example: >-
                {"ari":"ari:cloud:compass:fdb3fdec-4e70-be56-11ee-0242ac120002:component/fdb3fdec-4e70-11ee-be56-0242ac120002/fdb3fdec-11ee-4e70-be56-0242ac120002","assignee":{"accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","active":false,"avatarUrls":{"16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32","48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"},"displayName":"Mia
                Krystof","key":"","name":"","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"assigneeType":"PROJECT_LEAD","description":"This
                is a Jira
                component","id":"10000","isAssigneeTypeValid":false,"lead":{"accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","active":false,"avatarUrls":{"16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32","48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"},"displayName":"Mia
                Krystof","key":"","name":"","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"metadata":{"icon":"https://www.example.com/icon.png"},"name":"Component
                1","project":"HSP","projectId":10000,"realAssignee":{"accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","active":false,"avatarUrls":{"16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32","48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"},"displayName":"Mia
                Krystof","key":"","name":"","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"realAssigneeType":"PROJECT_LEAD","self":"https://your-domain.atlassian.net/rest/api/3/component/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: Atlassian Get Component
      tags:
        - Project Components
      x-atlassian-data-security-policy:
        - app-access-rule-exempt: true
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes:
            - read:project:jira
            - read:project.component:jira
            - read:user:jira
            - read:application-role:jira
            - read:avatar:jira
            - read:group:jira
          state: Beta
      x-atlassian-connect-scope: READ
    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.<br><br>This operation can be accessed
        anonymously.<br><br>**[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: atlassianUpdatecomponent
      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: >-
                {"ari":"ari:cloud:compass:fdb3fdec-4e70-be56-11ee-0242ac120002:component/fdb3fdec-4e70-11ee-be56-0242ac120002/fdb3fdec-11ee-4e70-be56-0242ac120002","assignee":{"accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","active":false,"avatarUrls":{"16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32","48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"},"displayName":"Mia
                Krystof","key":"","name":"","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"assigneeType":"PROJECT_LEAD","description":"This
                is a Jira
                component","id":"10000","isAssigneeTypeValid":false,"lead":{"accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","active":false,"avatarUrls":{"16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32","48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"},"displayName":"Mia
                Krystof","key":"","name":"","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"metadata":{"icon":"https://www.example.com/icon.png"},"name":"Component
                1","project":"HSP","projectId":10000,"realAssignee":{"accountId":"5b10a2844c20165700ede21g","accountType":"atlassian","active":false,"avatarUrls":{"16x16":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16","24x24":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24","32x32":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32","48x48":"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48"},"displayName":"Mia
                Krystof","key":"","name":"","self":"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g"},"realAssigneeType":"PROJECT_LEAD","self":"https://your-domain.atlassian.net/rest/api/3/component/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: Atlassian Update Component
      tags:
        - Project Components
      x-atlassian-data-security-policy:
        - app-access-rule-exempt: true
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - manage:jira-project
          state: Current
        - scheme: OAuth2
          scopes:
            - read: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
      x-atlassian-connect-scope: PROJECT_ADMIN
  /rest/api/3/component/{id}/relatedIssueCounts:
    get:
      deprecated: false
      description: >-
        Returns the counts of issues assigned to the component.<br><br>This
        operation can be accessed anonymously.<br><br>**Deprecation notice:**
        The required OAuth 2.0 scopes will be updated on June 15, 2024.<br><br>
        *  **Classic**: `read:jira-work`<br> *  **Granular**: `read:field:jira`,
        `read:project.component:jira`<br><br>**[Permissions](#permissions)
        required:** None.
      operationId: atlassianGetcomponentrelatedissues
      parameters:
        - description: The ID of the component.
          in: path
          name: id
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              example: >-
                {"issueCount":23,"self":"https://your-domain.atlassian.net/rest/api/3/component/10000"}
              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: Atlassian Get Component Issues Count
      tags:
        - Project Components
      x-atlassian-data-security-policy:
        - app-access-rule-exempt: true
      x-atlassian-oauth2-scopes:
        - scheme: OAuth2
          scopes:
            - read:jira-work
          state: Current
        - scheme: OAuth2
          scopes: []
          state: Beta
      x-atlassian-connect-scope: READ
servers:
  - url: https://your-domain.atlassian.net
tags:
  - name: Project Components
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: timestamps
      body: >
        By default, top-level timestamps (e.g. updated and created) are returned
        in [ISO 8601](https://www.w3.org/TR/NOTE-datetime) format, in the system
        default user time zone.


        To return date time data in the logged in user's timezone, please refer
        to `renderedFields` property under the `expand` query parameter in
        relevant APIs.
      title: Timestamps
    - anchor: special-request-headers
      body: >-
        The following request and response headers define important metadata for
        the Jira Cloud REST API resources.


        -   `X-Atlassian-Token` (request): Operations that accept
        multipart/form-data must include the `X-Atlassian-Token: no-check`

        header in requests. Otherwise the request is blocked by cross-site
        request forgery (CSRF/XSRF) protection.

        -   `X-Force-Accept-Language` (request): controls how the standard HTTP
        `Accept-Language` header is processed.

        By default `Accept-Language` is ignored and the response is in the
        language configured in the user's profile or,

        when no language is configured f

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/atlassian/refs/heads/main/openapi/atlassian-rest-api-3-component--openapi-original.yml