---
title: "Refund an expired gate escrow reservation"
method: POST
path: "/billing/escrow/timeout"
---

# Refund an expired gate escrow reservation

`POST /billing/escrow/timeout`

## Request

- Base URL: `https://superskill.sh/api`
- URL: `https://superskill.sh/api/billing/escrow/timeout`
- Auth: HTTP bearer

Auth required. Refunds the caller's reserved gate_escrow purchase only after the 72h receipt window expires.

## Request body

- object
  - `provider_ref` string, required

## Response `200`

Escrow timeout settled

- EscrowSettlement
  - `ok` true, required
  - `status` 'captured' | 'refunded' | 'already_captured' | 'already_refunded', required
  - `owner` string, required
  - `repo` string, required
  - `version` string, required
  - `subject_id` string, required
  - `purchase_id` string, required
  - `receipt_hash` string
  - `escrow_expires_at` string, date-time, nullable
  - `reason` 'receipt_passed' | 'receipt_failed' | 'timeout', required

## Other responses

- `400`: Bad request
- `401`: Authorization required
- `404`: Resource not found
- `409`: Bad request

---

[API](https://skmtc.dev/superskill/apis/superskill-api.md) · [All operations](https://skmtc.dev/superskill/apis/superskill-api/llms.txt) · [OpenAPI document](https://skmtc.dev/superskill/apis/superskill-api/revisions/ced2d2d1f217?raw)
