---
title: "List holds"
method: GET
path: "/v1/financial_accounts/{financial_account_token}/holds"
tags: ["Hold"]
---

# List holds

`GET /v1/financial_accounts/{financial_account_token}/holds`

List holds for a financial account.

## Path parameters

- `financial_account_token` string, uuid, required

## Query parameters

- `status` 'PENDING' | 'SETTLED' | 'EXPIRED' | 'VOIDED' — Status of a hold transaction
- `begin` string, date-time
- `ending_before` string
- `end` string, date-time
- `page_size` integer
- `starting_after` string

## Response `200`

OK

- HoldsResponse — Paginated response containing hold transactions
  - `data` HoldTransaction[], required
    - `status` 'PENDING' | 'SETTLED', required — Status of a hold transaction
    - `token` string, uuid, required — Unique identifier for the transaction
    - `created` string, date-time, required — ISO 8601 timestamp of when the transaction was created
    - `updated` string, date-time, required — ISO 8601 timestamp of when the transaction was last updated
    - `family` 'HOLD', required — HOLD - Hold Transaction
    - `result` 'APPROVED' | 'DECLINED', required
    - `financial_account_token` string, uuid, required
    - `pending_amount` integer, required — Current pending amount (0 when resolved)
    - `currency` string, required
    - `events` HoldEvent[], required
      - `token` string, uuid, required
      - `type` 'HOLD_INITIATED' | 'HOLD_VOIDED' | 'HOLD_EXPIRED' | 'HOLD_SETTLED', required — Type of hold lifecycle event
      - `result` 'APPROVED' | 'DECLINED', required
      - `detailed_results` DetailedResults[], required
      - `amount` integer, required — Amount in cents
      - `created` string, date-time, required
      - `memo` string, nullable, required
      - `settling_transaction_token` string, uuid, nullable, required — Transaction token of the payment that settled this hold (only populated for HOLD_SETTLED events)
    - `user_defined_id` string, nullable, required
    - `expiration_datetime` string, date-time, nullable, required — When the hold will auto-expire if not resolved
  - `has_more` boolean, required

## Other responses

- `400` — A parameter in the query given in the request does not match the valid queries for the endpoint.
- `401` — | | | |---|---| | User has not been authenticated | Invalid or missing API key | | API key is not active | The API key used is no longer active | | Could not find API key | The API key provided is not associated with any user | | Please provide API key in Authorization header | The Authorization header is not in the request | | Please provide API key in the form Authorization: [api-key] | The Authorization header is not formatted properly | | Insufficient privileges. Issuing API key required | Write access requires an Issuing API key. Reach out at [lithic.com/contact](https://lithic.com/contact) | | Insufficient privileges to create virtual cards. | Creating virtual cards requires an additional privilege | Reach out at [lithic.com/contact](https://lithic.com/contact) |
- `404` — The specified resource was not found.
- `429` — Client has exceeded the number of allowed requests in a given time period. | | | |---|---| | Rate limited, too many requests per second | User has exceeded their per second rate limit | | Rate limited, reached daily limit | User has exceeded their daily rate limit | | Rate limited, too many keys tried | One IP has queried too many different API keys |

---

[API](https://skmtc.net/lithic-com/apis/lithic-developer-api.md) · [All operations](https://skmtc.net/lithic-com/apis/lithic-developer-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lithic-com/lithic-developer-api/revisions/53ab5d4e2adb/schema)
