curl --silent --show-error --fail-with-body --request POST \
--url 'https://api.stateset.com/api/v1/inventory/reservations/expire' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"limit": 20
}'
{
"expired": 1,
"has_more": true
}
Expire reservations
Reclaim expired inventory holds without waiting for the background sweep.
POST
/
api
/
v1
/
inventory
/
reservations
/
expire
curl --silent --show-error --fail-with-body --request POST \
--url 'https://api.stateset.com/api/v1/inventory/reservations/expire' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"limit": 20
}'
{
"expired": 1,
"has_more": true
}
Confirm your deployment before running this request. This page describes an API contract;
a published reference does not establish hosted availability. Check the dated
host report and obtain your deployment URL and credentials.
Replace the example host if your provisioned service uses a different URL.
Request body
ExpireReservationsRequest
integer,null (int32)
Maximum reservations to expire (default 500, capped at 5000). Minimum:
0.Response
ExpireReservationsResponse
integer (int64)
required
Reservations flipped to
expired, their units back in quantity_available. Minimum: 0.boolean
required
Whether the batch came back full, i.e. more may be waiting.
Status codes
| Code | Meaning |
|---|---|
200 | What the sweep reclaimed |
422 | Validation error |
Using this contract
Read the source OpenAPI document for declared schemas and alternatives. This page also includes documented corrections from the spec overlays. Example IDs and values are illustrative; replace them with records from your workspace.curl --silent --show-error --fail-with-body --request POST \
--url 'https://api.stateset.com/api/v1/inventory/reservations/expire' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"limit": 20
}'
{
"expired": 1,
"has_more": true
}
Last modified on October 20, 2026