# List, retrieve, then adjust a card refund.

List, retrieve, then adjust a card refund.

1. OPTIONAL — list card refunds filtered by terminal, order, status, and date. The response is paginated - refunds are in the `data` array. This step extracts the first refund's `refundId` for the follow-on steps.
 [listRefunds](/api/list-refunds)
2. OPTIONAL — retrieve the full detail of the first card refund from the list. Inspect `supportedOperations` and `transactionResult.status` to confirm the refund can be adjusted before acting.
 [getRefund](/api/get-refund)
3. Adjust the refund in an open batch using the `refundId` from getRefund. The body is a polymorphic `adjustments` array discriminated by `type`: `status` (move to `ready`/`pending` via `toStatus`) or `customer` (update contact methods / shipping address). Requires a unique `Idempotency-Key` header. Returns 200.
 [adjustRefund](/api/adjust-refund)

## Workflow diagram

```mermaid
flowchart TD
  step0["1. refund search · API"]
  step1["2. refund lookup · API"]
  step0 --> step1
  step2["3. adjustment request · API"]
  step1 --> step2
```
