---
title: "Approve or reject OTC orders"
description: "Review OTC orders that require a human approval decision."
---

# Approve or reject OTC orders

An OTC order enters `waiting_approval` only when its creator does not have FX approval authority. Approval and rejection are human actions in the Gravv dashboard; API keys cannot call those actions.

## Find orders awaiting approval

API integrations can retrieve the pending-approval queue for reconciliation:

<RequestExample>
```bash title="Request"
curl --request GET \
  --url https://api.gravv.xyz/v1/fx/orders/pending-approvals \
  --header 'Api-Key: <API_KEY>'
```
</RequestExample>

The endpoint returns orders whose current status is `waiting_approval`.

## Review the order in the dashboard

An authorized dashboard user reviews the source, destination, currencies, amount, rate, and customer before choosing an action:

- **Approve:** the order moves to `pending`, then continues through execution and settlement.
- **Reject:** the order moves to the terminal `rejected` state with a reason.

Approval authority is permission-driven. A user with the required permission can approve an order they created; Gravv does not enforce a separate-user rule.

## Continue tracking through the API

After the dashboard decision, retrieve the order with [Get order](/api-reference/fx/get-v1-fx-orders-order-id). Track approved orders until `completed`, and treat `rejected`, `cancelled`, and `expired` as terminal states.

See [Exchange currencies](/recipes/exchange-currencies) for the complete client workflow.

