---
title: "Get project components paginated"
method: GET
path: "/rest/api/2/project/{projectIdOrKey}/component"
tags: ["Project components"]
---

# Get project components paginated

`GET /rest/api/2/project/{projectIdOrKey}/component`

Returns a [paginated](#pagination) list of all components in a project. See the [Get project components](#api-rest-api-2-project-projectIdOrKey-components-get) resource if you want to get a full list of versions without pagination.

If your project uses Compass components, this API will return a list of Compass components that are linked to issues in that project.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.

## Path parameters

- `projectIdOrKey` string, required

## Query parameters

- `startAt` integer
- `maxResults` integer
- `orderBy` 'description' | '-description' | '+description' | 'issueCount' | '-issueCount' | '+issueCount' | 'lead' | '-lead' | '+lead' | 'name' | '-name' | '+name'
- `componentSource` 'jira' | 'compass' | 'auto'
- `query` string

## Response `200`

Returned if the request is successful.

- PageBeanComponentWithIssueCount — A page of items.
  - `isLast` boolean — Whether this is the last page.
  - `maxResults` integer — The maximum number of items that could be returned.
  - `nextPage` string, uri — If there is another page of results, the URL of the next page.
  - `self` string, uri — The URL of the page.
  - `startAt` integer — The index of the first item returned.
  - `total` integer — The number of items returned.
  - `values` ComponentWithIssueCount[] — The list of items.
    - `assignee` User — 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.
      - `accountId` string — The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required in requests.
      - `accountType` 'atlassian' | 'app' | 'customer' | 'unknown' — 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
      - `active` boolean — Whether the user is active.
      - `appType` string — The app type of the user account when accountType is 'app'. Can take the following values: * `service` Service Account * `agent` Rovo Agent Account * `unknown` Unknown app type
      - `applicationRoles` SimpleListWrapperApplicationRole
        - `callback` ListWrapperCallbackApplicationRole
        - `items` ApplicationRole[]
          - `defaultGroups` string[] — 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.
          - `defaultGroupsDetails` GroupName[] — The groups that are granted default access for this application role.
            - `groupId` string, nullable — The ID of the group, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*.
            - `name` string — The name of group.
            - `self` string, uri — The URL for these group details.
          - `defined` boolean — Deprecated.
          - `groupDetails` GroupName[] — The groups associated with the application role.
            - `groupId` string, nullable — The ID of the group, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*.
            - `name` string — The name of group.
            - `self` string, uri — The URL for these group details.
          - `groups` string[] — The groups associated with the application role. As a group's name can change, use of `groupDetails` is recommended to identify a groups.
          - `hasUnlimitedSeats` boolean
          - `key` string — The key of the application role.
          - `name` string — The display name of the application role.
          - `numberOfSeats` integer — The maximum count of users on your license.
          - `platform` boolean — Indicates if the application role belongs to Jira platform (`jira-core`).
          - `remainingSeats` integer — The count of users remaining on your license.
          - `selectedByDefault` boolean — Determines whether this application role should be selected by default on user creation.
          - `userCount` integer — The number of users counting against your license.
          - `userCountDescription` string — The [type of users](https://confluence.atlassian.com/x/lRW3Ng) being counted against your license.
        - `max-results` integer
        - `pagingCallback` ListWrapperCallbackApplicationRole
        - `size` integer
      - `avatarUrls` AvatarUrlsBean
        - `16x16` string, uri — The URL of the item's 16x16 pixel avatar.
        - `24x24` string, uri — The URL of the item's 24x24 pixel avatar.
        - `32x32` string, uri — The URL of the item's 32x32 pixel avatar.
        - `48x48` string, uri — The URL of the item's 48x48 pixel avatar.
      - `displayName` string — The display name of the user. Depending on the user’s privacy setting, this may return an alternative value.
      - `emailAddress` string — The email address of the user. Depending on the user’s privacy setting, this may be returned as null.
      - `expand` string — Expand options that include additional user details in the response.
      - `groups` SimpleListWrapperGroupName
        - `callback` ListWrapperCallbackGroupName
        - `items` GroupName[]
          - `groupId` string, nullable — The ID of the group, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*.
          - `name` string — The name of group.
          - `self` string, uri — The URL for these group details.
        - `max-results` integer
        - `pagingCallback` ListWrapperCallbackGroupName
        - `size` integer
      - `guest` boolean — Whether the user is a guest.
      - `key` string — 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.
      - `locale` string — The locale of the user. Depending on the user’s privacy setting, this may be returned as null.
      - `name` string — 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.
      - `self` string, uri — The URL of the user.
      - `timeZone` string — The time zone specified in the user's profile. If the user's time zone is not visible to the current user (due to user's profile setting), or if a time zone has not been set, the instance's default time zone will be returned.
    - `assigneeType` 'PROJECT_DEFAULT' | 'COMPONENT_LEAD' | 'PROJECT_LEAD' | 'UNASSIGNED' — 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.
    - `description` string — The description for the component.
    - `id` string — The unique identifier for the component.
    - `isAssigneeTypeValid` boolean — 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.
    - `issueCount` integer — Count of issues for the component.
    - `lead` User — 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.
      - `accountId` string — The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required in requests.
      - `accountType` 'atlassian' | 'app' | 'customer' | 'unknown' — 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
      - `active` boolean — Whether the user is active.
      - `appType` string — The app type of the user account when accountType is 'app'. Can take the following values: * `service` Service Account * `agent` Rovo Agent Account * `unknown` Unknown app type
      - `applicationRoles` SimpleListWrapperApplicationRole
        - `callback` ListWrapperCallbackApplicationRole
        - `items` ApplicationRole[]
          - `defaultGroups` string[] — 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.
          - `defaultGroupsDetails` GroupName[] — The groups that are granted default access for this application role.
            - `groupId` string, nullable — The ID of the group, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*.
            - `name` string — The name of group.
            - `self` string, uri — The URL for these group details.
          - `defined` boolean — Deprecated.
          - `groupDetails` GroupName[] — The groups associated with the application role.
            - `groupId` string, nullable — The ID of the group, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*.
            - `name` string — The name of group.
            - `self` string, uri — The URL for these group details.
          - `groups` string[] — The groups associated with the application role. As a group's name can change, use of `groupDetails` is recommended to identify a groups.
          - `hasUnlimitedSeats` boolean
          - `key` string — The key of the application role.
          - `name` string — The display name of the application role.
          - `numberOfSeats` integer — The maximum count of users on your license.
          - `platform` boolean — Indicates if the application role belongs to Jira platform (`jira-core`).
          - `remainingSeats` integer — The count of users remaining on your license.
          - `selectedByDefault` boolean — Determines whether this application role should be selected by default on user creation.
          - `userCount` integer — The number of users counting against your license.
          - `userCountDescription` string — The [type of users](https://confluence.atlassian.com/x/lRW3Ng) being counted against your license.
        - `max-results` integer
        - `pagingCallback` ListWrapperCallbackApplicationRole
        - `size` integer
      - `avatarUrls` AvatarUrlsBean
        - `16x16` string, uri — The URL of the item's 16x16 pixel avatar.
        - `24x24` string, uri — The URL of the item's 24x24 pixel avatar.
        - `32x32` string, uri — The URL of the item's 32x32 pixel avatar.
        - `48x48` string, uri — The URL of the item's 48x48 pixel avatar.
      - `displayName` string — The display name of the user. Depending on the user’s privacy setting, this may return an alternative value.
      - `emailAddress` string — The email address of the user. Depending on the user’s privacy setting, this may be returned as null.
      - `expand` string — Expand options that include additional user details in the response.
      - `groups` SimpleListWrapperGroupName
        - `callback` ListWrapperCallbackGroupName
        - `items` GroupName[]
          - `groupId` string, nullable — The ID of the group, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*.
          - `name` string — The name of group.
          - `self` string, uri — The URL for these group details.
        - `max-results` integer
        - `pagingCallback` ListWrapperCallbackGroupName
        - `size` integer
      - `guest` boolean — Whether the user is a guest.
      - `key` string — 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.
      - `locale` string — The locale of the user. Depending on the user’s privacy setting, this may be returned as null.
      - `name` string — 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.
      - `self` string, uri — The URL of the user.
      - `timeZone` string — The time zone specified in the user's profile. If the user's time zone is not visible to the current user (due to user's profile setting), or if a time zone has not been set, the instance's default time zone will be returned.
    - `name` string — The name for the component.
    - `project` string — The key of the project to which the component is assigned.
    - `projectId` integer — Not used.
    - `realAssignee` User — 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.
      - `accountId` string — The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required in requests.
      - `accountType` 'atlassian' | 'app' | 'customer' | 'unknown' — 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
      - `active` boolean — Whether the user is active.
      - `appType` string — The app type of the user account when accountType is 'app'. Can take the following values: * `service` Service Account * `agent` Rovo Agent Account * `unknown` Unknown app type
      - `applicationRoles` SimpleListWrapperApplicationRole
        - `callback` ListWrapperCallbackApplicationRole
        - `items` ApplicationRole[]
          - `defaultGroups` string[] — 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.
          - `defaultGroupsDetails` GroupName[] — The groups that are granted default access for this application role.
            - `groupId` string, nullable — The ID of the group, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*.
            - `name` string — The name of group.
            - `self` string, uri — The URL for these group details.
          - `defined` boolean — Deprecated.
          - `groupDetails` GroupName[] — The groups associated with the application role.
            - `groupId` string, nullable — The ID of the group, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*.
            - `name` string — The name of group.
            - `self` string, uri — The URL for these group details.
          - `groups` string[] — The groups associated with the application role. As a group's name can change, use of `groupDetails` is recommended to identify a groups.
          - `hasUnlimitedSeats` boolean
          - `key` string — The key of the application role.
          - `name` string — The display name of the application role.
          - `numberOfSeats` integer — The maximum count of users on your license.
          - `platform` boolean — Indicates if the application role belongs to Jira platform (`jira-core`).
          - `remainingSeats` integer — The count of users remaining on your license.
          - `selectedByDefault` boolean — Determines whether this application role should be selected by default on user creation.
          - `userCount` integer — The number of users counting against your license.
          - `userCountDescription` string — The [type of users](https://confluence.atlassian.com/x/lRW3Ng) being counted against your license.
        - `max-results` integer
        - `pagingCallback` ListWrapperCallbackApplicationRole
        - `size` integer
      - `avatarUrls` AvatarUrlsBean
        - `16x16` string, uri — The URL of the item's 16x16 pixel avatar.
        - `24x24` string, uri — The URL of the item's 24x24 pixel avatar.
        - `32x32` string, uri — The URL of the item's 32x32 pixel avatar.
        - `48x48` string, uri — The URL of the item's 48x48 pixel avatar.
      - `displayName` string — The display name of the user. Depending on the user’s privacy setting, this may return an alternative value.
      - `emailAddress` string — The email address of the user. Depending on the user’s privacy setting, this may be returned as null.
      - `expand` string — Expand options that include additional user details in the response.
      - `groups` SimpleListWrapperGroupName
        - `callback` ListWrapperCallbackGroupName
        - `items` GroupName[]
          - `groupId` string, nullable — The ID of the group, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*.
          - `name` string — The name of group.
          - `self` string, uri — The URL for these group details.
        - `max-results` integer
        - `pagingCallback` ListWrapperCallbackGroupName
        - `size` integer
      - `guest` boolean — Whether the user is a guest.
      - `key` string — 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.
      - `locale` string — The locale of the user. Depending on the user’s privacy setting, this may be returned as null.
      - `name` string — 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.
      - `self` string, uri — The URL of the user.
      - `timeZone` string — The time zone specified in the user's profile. If the user's time zone is not visible to the current user (due to user's profile setting), or if a time zone has not been set, the instance's default time zone will be returned.
    - `realAssigneeType` 'PROJECT_DEFAULT' | 'COMPONENT_LEAD' | 'PROJECT_LEAD' | 'UNASSIGNED' — 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.
    - `self` string, uri — The URL for this count of the issues contained in the component.

## Other responses

- `401` — Returned if the authentication credentials are incorrect or missing.
- `404` — Returned if the project is not found or the user does not have permission to view it.

---

[API](https://skmtc.net/atlassian/apis/the-jira-cloud-platform-rest-api.md) · [All operations](https://skmtc.net/atlassian/apis/the-jira-cloud-platform-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/atlassian/the-jira-cloud-platform-rest-api/versions/a26541c2f8bd/schema)
