---
title: "Get approval"
method: GET
path: "/approvals/{approvalId}"
tags: ["Approvals"]
---

# Get approval

`GET /approvals/{approvalId}`

Get an approval

## Path parameters

- `approvalId` string, required — Approval ID (apr_*).

## Headers

- `X-Agent-ID` string, nullable
- `X-Instance-ID` string, nullable

## Response `200`

Successful Response

- object
  - `data` object, required
    - `type` 'approval', required
    - `id` string, required — Approval ID (apr_*).
    - `attributes` object, required
      - `status` 'pending' | 'approved' | 'denied' | 'canceled', required — Approval status.
      - `target` object, required — Operation that needs approval.
        - `type` 'payment' | 'deposit' | 'withdrawal', required — Type of operation under approval.
        - `id` string, required — ID of the operation under approval.
      - `payment` object, nullable, required — Amount of the operation under review. Null when the underlying amount is unavailable.
        - `amount` integer, required — Amount in cents.
        - `currency` string, required — Currency code.
      - `reasons` object[], required — Reasons this approval is under review.
        - `type` 'limitExceeded', required
        - `limitType` 'perTransactionAmount' | 'dailyAmount' | 'monthlyAmount', required — Type of limit that was exceeded.
        - `limitAmount` integer, required — Configured limit amount in cents.
        - `actualAmount` integer, required — Amount that exceeded the limit, in cents.
        - `currency` string, required — Currency code.
      - `customer` object, nullable, required — Customer the agent is spending on behalf of, or null when the approval isn't a delegated payment.
        - `id` string, required — Customer party (pty_*) whose wallet a delegated payment spends from.
        - `name` string, nullable, required — Display name of the customer party, or null when unresolved.
      - `createdAt` string, required — When the approval was created.
      - `updatedAt` string, required — When the approval was last updated.
      - `resolvedAt` string, nullable, required — When the approval was resolved.

## Other responses

- `400` — Validation Error
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found. Returned when the resource does not exist, or when it exists but is not accessible to your account. The two cases are intentionally indistinguishable, so that resource IDs cannot be enumerated by probing.
- `409` — Conflict
- `422` — Validation Error
- `428` — Precondition Required
- `429` — Too Many Requests
- `500` — Internal Server Error
- `501` — Not Implemented
- `502` — Bad Gateway
- `503` — Service Unavailable

---

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