Void hold
Request to void an active hold
Parameters
hold_token
- uuid
- required
- Globally unique identifier for the hold.
- uuid
memo
- string | null
- Reason for voiding the hold
- string | null
Response
200 OK
- object
status
- string enum required
- Status of a hold transaction
PENDINGSETTLEDEXPIREDVOIDED
- Status of a hold transaction
- string enum required
token
- uuid required
- Unique identifier for the transaction
- uuid required
created
- date-time required
- ISO 8601 timestamp of when the transaction was created
- date-time required
updated
- date-time required
- ISO 8601 timestamp of when the transaction was last updated
- date-time required
family
- const enum required
- HOLD - Hold Transaction
HOLD
- HOLD - Hold Transaction
- const enum required
result
- string enum required
APPROVEDDECLINED
- string enum required
financial_account_token
- uuid required
pending_amount
- integer required
- Current pending amount (0 when resolved)
- integer required
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_INITIATEDHOLD_VOIDEDHOLD_EXPIREDHOLD_SETTLED
- Type of hold lifecycle event
- string enum required
- result
- string enum required
APPROVEDDECLINED
- string enum required
- detailed_results
- array of objects required
APPROVEDINSUFFICIENT_FUNDS
- array of objects required
- amount
- integer required
- Amount in cents
- integer required
- 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)
- uuid | null required
- user_defined_id
- string | null required
- expiration_datetime
- date-time | null required
- When the hold will auto-expire if not resolved
- date-time | null required
- object
- events*
- array of objects required
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
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
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
{
"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"
}