---
title: "Close Delinquent Booking"
method: POST
path: "/api/v1/admin/bookings/{booking_id}/close"
---

# Close Delinquent Booking

`POST /api/v1/admin/bookings/{booking_id}/close`

## Request

- Base URL: `https://trovastorage.it` (the document declares no server; this is the origin it was published from)
- URL: `https://trovastorage.it/api/v1/admin/bookings/{booking_id}/close`
- Auth: one of:
  - API key in header `X-Access-Token`
  - HTTP bearer

Evict a defaulting tenant: `delinquent` -> `vacated` (M5.19).

Until now `delinquent` was a state with no way out. The machine defined
("delinquent", "admin_close") -> vacated and *nothing called it* — there was
no admin route for booking state at all. Meanwhile `delinquent` is in
`_BILLABLE`, so the ticker kept minting monthly cycles for a tenant who had
stopped paying, and it is in `BLOCKING_STATES`, so the unit stayed off the
market for ever. `_terminate_ended` could not help either: it only matches
`notice_given` and `active`.

Deliberately admin-only and deliberately narrow. Closing a booking releases
a unit somebody may still have possessions in, so it is an operator decision
with a real-world step attached, not something to automate on a timer.

## Path parameters

- `booking_id` string, uuid, required

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/trovastorage/apis/stock-your-inventory.md) · [All operations](https://skmtc.dev/trovastorage/apis/stock-your-inventory/llms.txt) · [OpenAPI document](https://skmtc.dev/trovastorage/apis/stock-your-inventory/revisions/c75f591a585c?raw)
