Delete Boat
Permanently delete a boat listing
/boats/:idPermanently delete a boat listing and all associated data. The requesting user must be an admin or owner of the company that owns the boat.
Authentication
Requires one of:
- API key:
X-API-Keyheader with your API key. This is the way to call it from your own systems. - Session: a signed-in charter.boats session — what the dashboard uses from the browser. Outside charter.boats a request without a key is stopped by bot protection (HTML
403), so integrations should use the key.
Either way, the account must be an admin or owner of the company that owns the boat.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Boat UUID (a slug is not accepted) |
Prerequisites
The boat must have no open bookings. Open booking statuses are:
pending-- awaiting owner approvalaccepted-- awaiting guest paymentconfirmed-- paid and scheduled
Cancel or complete all bookings before deleting.
Request
The session variant is the dashboard's own call: the browser sends the Better Auth session cookie (__Secure-better-auth.session_token) for a signed-in user.
Response
| Field | Type | Description |
|---|---|---|
deleted | boolean | Always true on success |
title | string | Title of the boat that was deleted |
What Gets Deleted
When a boat is deleted, the following data is permanently removed:
- Boat record and all fields
- Seasonal prices (
boat_prices) and fees (boat_fees) - All boat images and videos (database records)
- Amenity associations
- Calendar blocks, external events, and external holds
- Calendar sources (iCal imports)
- Favorites from all users
- Coupon associations, availability-change rows, activity-log rows, and marketing ads
Bookings are not deleted. Boats with open bookings (pending, accepted, or confirmed) cannot be deleted at all — the request is rejected. Any imported Boataround mapping is unlinked rather than removed.
Errors
| Status | Message |
|---|---|
400 | Boat ID is required |
400 | Cannot delete — boat has N open booking(s). Cancel or complete them first. |
401 | Invalid API key — a key that belongs to no account |
401 | Invalid API key format — a malformed key |
401 | Authentication required — no key and no signed-in session |
403 | Not a company member — you don't belong to the boat's company |
403 | Admin access required — you are a member, but not an admin or owner |
404 | Boat not found |
500 | Failed to delete boat: … |