---
title: "Bulk get workflows"
method: POST
path: "/rest/api/2/workflows"
tags: ["Workflows"]
---

# Bulk get workflows

`POST /rest/api/2/workflows`

Returns a list of workflows and related statuses by providing workflow names, workflow IDs, or project and issue types.

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

 *  *Administer Jira* global permission to access all, including project-scoped, workflows
 *  At least one of the *Administer projects* and *View (read-only) workflow* project permissions to access project-scoped workflows

## Request body

- WorkflowReadRequest
  - `projectAndIssueTypes` ProjectAndIssueTypePair[] — The list of projects and issue types to query.
    - `issueTypeId` string, required — The ID of the issue type.
    - `projectId` string, required — The ID of the project.
  - `workflowIds` string[] — The list of workflow IDs to query.
  - `workflowNames` string[] — The list of workflow names to query.

## Response `200`

Returned if the request is successful.

- WorkflowReadResponse — Details of workflows and related statuses.
  - `statuses` JiraWorkflowStatus[] — List of statuses.
    - `description` string — The description of the status.
    - `id` string — The ID of the status.
    - `name` string — The name of the status.
    - `scope` WorkflowScope — The scope of the workflow.
      - `project` ProjectId, nullable — Project ID details.
        - `id` string, required — The ID of the project.
      - `type` 'PROJECT' | 'GLOBAL' — The scope of the workflow. `GLOBAL` for company-managed projects and `PROJECT` for team-managed projects.
    - `statusCategory` 'TODO' | 'IN_PROGRESS' | 'DONE' — The category of the status.
    - `statusReference` string — The reference of the status.
  - `workflows` JiraWorkflow[] — List of workflows.
    - `created` string, nullable — The creation date of the workflow.
    - `description` string — The description of the workflow.
    - `id` string — The ID of the workflow.
    - `isEditable` boolean — Indicates if the workflow can be edited.
    - `loopedTransitionContainerLayout` WorkflowLayout, nullable — The starting point for the statuses in the workflow.
      - `x` number, double — The x axis location.
      - `y` number, double — The y axis location.
    - `name` string — The name of the workflow.
    - `scope` WorkflowScope — The scope of the workflow.
      - `project` ProjectId, nullable — Project ID details.
        - `id` string, required — The ID of the project.
      - `type` 'PROJECT' | 'GLOBAL' — The scope of the workflow. `GLOBAL` for company-managed projects and `PROJECT` for team-managed projects.
    - `startPointLayout` WorkflowLayout, nullable — The starting point for the statuses in the workflow.
      - `x` number, double — The x axis location.
      - `y` number, double — The y axis location.
    - `statuses` WorkflowReferenceStatus[] — The statuses referenced in this workflow.
      - `approvalConfiguration` ApprovalConfiguration, nullable — The approval configuration of a status within a workflow. Applies only to Jira Service Management approvals.
        - `active` 'true' | 'false', required — Whether the approval configuration is active.
        - `conditionType` 'number' | 'percent' | 'numberPerPrincipal', required — How the required approval count is calculated. It may be configured to require a specific number of approvals, or approval by a percentage of approvers. If the approvers source field is Approver groups, you can configure how many approvals per group are required for the request to be approved. The number will be the same across all groups.
        - `conditionValue` string, required — The number or percentage of approvals required for a request to be approved. If `conditionType` is `number`, the value must be 20 or less. If `conditionType` is `percent`, the value must be 100 or less.
        - `exclude` string[], nullable — A list of roles that should be excluded as possible approvers.
        - `fieldId` string, required — The custom field ID of the "Approvers" or "Approver Groups" field.
        - `prePopulatedFieldId` string, nullable — The custom field ID of the field used to pre-populate the Approver field. Only supports the "Affected Services" field.
        - `transitionApproved` string, required — The numeric ID of the transition to be executed if the request is approved.
        - `transitionRejected` string, required — The numeric ID of the transition to be executed if the request is declined.
      - `deprecated` boolean — Indicates if the status is deprecated.
      - `layout` WorkflowStatusLayout, nullable — The x and y location of the status in the workflow.
        - `x` number, double, nullable — The x axis location.
        - `y` number, double, nullable — The y axis location.
      - `properties` object — The properties associated with the status.
      - `statusReference` string — The reference of the status.
    - `taskId` string, nullable — If there is a current [asynchronous task](#async-operations) operation for this workflow.
    - `transitions` WorkflowTransitions[] — The transitions of the workflow.
      - `actions` WorkflowRuleConfiguration[] — The post-functions of the transition.
        - `id` string, nullable — The ID of the rule.
        - `parameters` object — The parameters related to the rule.
        - `ruleKey` string, required — The rule key of the rule.
      - `conditions` ConditionGroupConfiguration, nullable — The conditions group associated with the transition.
        - `conditionGroups` ConditionGroupConfiguration[] — The nested conditions of the condition group.
        - `conditions` WorkflowRuleConfiguration[] — The rules for this condition.
          - `id` string, nullable — The ID of the rule.
          - `parameters` object — The parameters related to the rule.
          - `ruleKey` string, required — The rule key of the rule.
        - `operation` 'ANY' | 'ALL' — Determines how the conditions in the group are evaluated. Accepts either `ANY` or `ALL`. If `ANY` is used, at least one condition in the group must be true for the group to evaluate to true. If `ALL` is used, all conditions in the group must be true for the group to evaluate to true.
      - `customIssueEventId` string, nullable — The custom event ID of the transition.
      - `description` string — The description of the transition.
      - `id` string — The ID of the transition.
      - `links` WorkflowTransitionLinks[] — The statuses the transition can start from, and the mapping of ports between the statuses.
        - `fromPort` integer, nullable — The port that the transition starts from.
        - `fromStatusReference` string, nullable — The status that the transition starts from.
        - `toPort` integer, nullable — The port that the transition goes to.
      - `name` string — The name of the transition.
      - `properties` object — The properties of the transition.
      - `toStatusReference` string — The status the transition goes to.
      - `transitionScreen` WorkflowRuleConfiguration, nullable — The configuration of the rule.
        - `id` string, nullable — The ID of the rule.
        - `parameters` object — The parameters related to the rule.
        - `ruleKey` string, required — The rule key of the rule.
      - `triggers` WorkflowTrigger[] — The triggers of the transition.
        - `id` string — The ID of the trigger.
        - `parameters` object, required — The parameters of the trigger.
        - `ruleKey` string, required — The rule key of the trigger.
      - `type` 'INITIAL' | 'GLOBAL' | 'DIRECTED' — The transition type.
      - `validators` WorkflowRuleConfiguration[] — The validators of the transition.
        - `id` string, nullable — The ID of the rule.
        - `parameters` object — The parameters related to the rule.
        - `ruleKey` string, required — The rule key of the rule.
    - `updated` string, nullable — The last edited date of the workflow.
    - `version` DocumentVersion — The current version details of this workflow scheme.
      - `id` string — The version UUID.
      - `versionNumber` integer — The version number.

## Other responses

- `400` — Returned if the request is not valid.
- `401` — Returned if the authentication credentials are incorrect or missing, or the caller doesn't have permissions to perform the operation.

---

[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)
