## Request to void an active hold

### Parameters

- **hold_token**  
  - **uuid**  
    - required  
    - Globally unique identifier for the hold.
  
- **memo**  
  - **string | null**  
    - Reason for voiding the hold

### Response

#### `200 OK`

- **object**  
  - **status**  
    - **string enum required**  
      - Status of a hold transaction  
        - `PENDING`
        - `SETTLED`
        - `EXPIRED`
        - `VOIDED`
  
  - **token**  
    - **uuid required**  
      - Unique identifier for the transaction
  
  - **created**  
    - **date-time required**  
      - ISO 8601 timestamp of when the transaction was created
  
  - **updated**  
    - **date-time required**  
      - ISO 8601 timestamp of when the transaction was last updated
  
  - **family**  
    - **const enum required**  
      - HOLD - Hold Transaction  
        - `HOLD`
  
  - **result**  
    - **string enum required**  
      - `APPROVED`
      - `DECLINED`
  
  - **financial_account_token**  
    - **uuid required**  
  
  - **pending_amount**  
    - **integer required**  
      - Current pending amount (0 when resolved)
  
  - **currency**  
    - **string required**  
  
  - **events**  
    - **array of objects required**  
      - **events***  
        - **object**  
          - Event representing a lifecycle change to a hold
          - **token**  
            - **uuid required**  
          - **type**  
            - **string enum required**  
              - Type of hold lifecycle event  
                - `HOLD_INITIATED`
                - `HOLD_VOIDED`
                - `HOLD_EXPIRED`
                - `HOLD_SETTLED`
          - **result**  
            - **string enum required**  
              - `APPROVED`
              - `DECLINED`
          - **detailed_results**  
            - **array of objects required**  
              - `APPROVED`
              - `INSUFFICIENT_FUNDS`
          - **amount**  
            - **integer required**  
              - Amount in cents
          - **created**  
            - **date-time required**  
          - **memo**  
            - **string | null required**  
          - **settling_transaction_token**  
            - **uuid | null required**  
              - Transaction token of the payment that settled this hold (only populated for HOLD_SETTLED events)
          - **user_defined_id**  
            - **string | null required**  
          - **expiration_datetime**  
            - **date-time | null required**  
              - When the hold will auto-expire if not resolved

#### Error Codes

- **`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](/content/contact/index.html)
- **`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.

### Example Request

```shell
curl --request POST \
     --url https://sandbox.lithic.com/v1/holds/hold_token/void \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '{"memo":"string"}'
```

### Example Response

```json
{
  "status": "PENDING",
  "token": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "created": "2026-07-18T00:25:36.146Z",
  "updated": "2026-07-18T00:25:36.146Z",
  "family": "string",
  "result": "APPROVED",
  "financial_account_token": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "pending_amount": 0,
  "currency": "string",
  "events": [
    {
      "token": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "type": "HOLD_INITIATED",
      "result": "APPROVED",
      "detailed_results": [
        "APPROVED"
      ],
      "amount": 0,
      "created": "2026-07-18T00:25:36.146Z",
      "memo": "string",
      "settling_transaction_token": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
    }
  ],
  "user_defined_id": "string",
  "expiration_datetime": "2026-07-18T00:25:36.146Z"
}
```
