---
title: "Get Approval Request Step"
method: GET
path: "/v2/approval-requests/{approval_request_id}/steps/{step_id}"
tags: ["Approval Request API"]
---

# Get Approval Request Step

`GET /v2/approval-requests/{approval_request_id}/steps/{step_id}`

Get a single step for an approval request.

## Path parameters

- `approval_request_id` string, required — The ID of the approval request.
- `step_id` string, required — The ID of the approval step.

## Response `200`

Success

- SvflowPublicapiGetApprovalRequestStepResponse
  - `data` SvflowPubapimodelsApprovalRequestStep — A runtime approval step with inline approver resolutions.
    - `id` string — The ID of the approval step.
    - `stepNumber` integer — The step number (1-indexed, ordered).
    - `result` 'APPROVAL_REQUEST_RESULT_UNSPECIFIED' | 'PENDING' | 'APPROVED' | 'DENIED' | 'TIMEDOUT' | 'CANCELED'
    - `resolutions` SvflowPubapimodelsApprovalRequestStepResolution[] — Approver resolutions. Populated once the step is activated and approvers are known (either from configured sources or assigned by a custom workflow).
      - `id` string — The ID of this resolution.
      - `approverUserId` string — The ID of the user who is the approver for this resolution.
      - `approverType` 'APPROVAL_REQUEST_USER_TYPE_UNSPECIFIED' | 'PRIMARY' | 'SECONDARY' | 'OVERRIDE'
      - `result` 'APPROVAL_REQUEST_RESULT_UNSPECIFIED' | 'PENDING' | 'APPROVED' | 'DENIED' | 'TIMEDOUT' | 'CANCELED'
      - `resultSetAt` string, date-time — A timestamp in RFC 3339 format (e.g., "2025-01-15T01:30:15Z").
      - `autoApproved` boolean — Whether this resolution was auto-approved.
      - `justification` string, nullable — Free-text justification supplied by this approver alongside their decision.
      - `delegatedFromUserId` string, nullable — If this approver was assigned by a delegation rule, the ID of the user the approval was originally routed to (the start of the delegation chain).
    - `configuredApproverSources` SvflowCommonModelsConfiguredApproverSource[] — Configured approver sources for steps not yet activated.
      - `type` 'CONFIGURED_APPROVER_SOURCE_TYPE_UNSPECIFIED' | 'CONFIGURED_APPROVER_SOURCE_TYPE_GROUP' | 'CONFIGURED_APPROVER_SOURCE_TYPE_MANAGER' | 'CONFIGURED_APPROVER_SOURCE_TYPE_APP_OWNER' | 'CONFIGURED_APPROVER_SOURCE_TYPE_TEAM_OWNER' | 'CONFIGURED_APPROVER_SOURCE_TYPE_RESOURCE_OWNER' | 'CONFIGURED_APPROVER_SOURCE_TYPE_ROLE_OWNER'
      - `id` string — group_id for GROUP type; empty for MANAGER/APP_OWNER
    - `customWorkflowRun` union — Information about a custom workflow run used for approval.
      - object — The workflow defined the approvers. Their decisions appear in the parent ApprovalRequestStep's resolutions field.
        - `approverAssignment` SvflowPubapimodelsApproverAssignment, required — The custom workflow determined who should approve.
          - `reason` string, nullable — The reason or context the workflow provided for this assignment.
        - `runId` string — The ID of the workflow run.
        - `status` 'WORKFLOW_RUN_STATUS_UNSPECIFIED' | 'WORKFLOW_RUN_STATUS_PENDING' | 'WORKFLOW_RUN_STATUS_RUNNING' | 'WORKFLOW_RUN_STATUS_COMPLETED' | 'WORKFLOW_RUN_STATUS_FAILED' | 'WORKFLOW_RUN_STATUS_DENIED' | 'WORKFLOW_RUN_STATUS_CANCELED'
      - object — The workflow auto-resolved the step (approved/denied directly).
        - `autoResolution` SvflowPubapimodelsAutoResolution, required — The custom workflow directly approved or denied the step.
          - `result` 'APPROVAL_REQUEST_RESULT_UNSPECIFIED' | 'PENDING' | 'APPROVED' | 'DENIED' | 'TIMEDOUT' | 'CANCELED'
          - `reason` string, nullable — The reason provided by the workflow.
        - `runId` string — The ID of the workflow run.
        - `status` 'WORKFLOW_RUN_STATUS_UNSPECIFIED' | 'WORKFLOW_RUN_STATUS_PENDING' | 'WORKFLOW_RUN_STATUS_RUNNING' | 'WORKFLOW_RUN_STATUS_COMPLETED' | 'WORKFLOW_RUN_STATUS_FAILED' | 'WORKFLOW_RUN_STATUS_DENIED' | 'WORKFLOW_RUN_STATUS_CANCELED'

## Other responses

- `default` — Error

---

[API](https://skmtc.net/serval/apis/serval-public-api.md) · [All operations](https://skmtc.net/serval/apis/serval-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/serval/serval-public-api/versions/0549515e9384/schema)
