---
title: "Read workflow version from history"
method: POST
path: "/rest/api/2/workflow/history"
tags: ["Workflows"]
---

# Read workflow version from history

`POST /rest/api/2/workflow/history`

Returns a workflow and related statuses for a specified workflow id and version number.

**Note:** Stored workflow data expires after 60 days. Additionally, no data from before the 30th of October 2025 is available.

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

- WorkflowHistoryReadRequest — A request to read a specific workflow version from history.
  - `version` integer
  - `workflowId` string

## Response `200`

Returned if the request is successful.

- WorkflowHistoryReadResponseDTO — The specified workflow version read from history.
  - `statuses` WorkflowDocumentStatusDTO[]
    - `description` string
    - `id` string
    - `name` string
    - `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` string
    - `statusReference` string
  - `workflows` WorkflowDocumentDTO[]
    - `created` string
    - `description` string
    - `id` string
    - `lastUpdateAuthorAAID` string
    - `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
    - `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[]
      - `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.
    - `transitions` WorkflowTransitions[]
      - `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
    - `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.dev/atlassian/apis/the-jira-cloud-platform-rest-api.md) · [All operations](https://skmtc.dev/atlassian/apis/the-jira-cloud-platform-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/atlassian/the-jira-cloud-platform-rest-api/revisions/40fd882d2209/schema)
