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

# Get Approval Request

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

Get a single approval request by ID.

## Path parameters

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

## Response `200`

Success

- SvflowPublicapiGetApprovalRequestResponse
  - `data` SvflowPubapimodelsApprovalRequest — A runtime approval request tracking the approval workflow for an access request or workflow run. **Set exactly ONE of:** accessRequestTimeAllocationId, workflowRunId
    - `accessRequestTimeAllocationId` string — **Option: access_request_time_allocation_id** — The ID of the access request time allocation this approval is for. Each time allocation (initial request or extension) has its own approval round.
    - `workflowRunId` string — **Option: workflow_run_id** — The ID of the workflow run this approval is for.
    - `id` string — The ID of the approval request.
    - `result` 'APPROVAL_REQUEST_RESULT_UNSPECIFIED' | 'PENDING' | 'APPROVED' | 'DENIED' | 'TIMEDOUT' | 'CANCELED'
    - `createdAt` string, date-time — A timestamp in RFC 3339 format (e.g., "2025-01-15T01:30:15Z").
    - `updatedAt` string, date-time — A timestamp in RFC 3339 format (e.g., "2025-01-15T01:30:15Z").
    - `approverJustificationMode` string — Controls whether approvers are asked for a justification when deciding. Valid values: "not_requested", "optional", "required", "required_for_approval", "required_for_denial".

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