Charter Boats
Charter Boats API
Boats

Delete Boat

Permanently delete a boat listing

DELETE/boats/:id

Permanently 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-Key header 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

ParameterTypeRequiredDescription
idstringYesBoat UUID (a slug is not accepted)

Prerequisites

The boat must have no open bookings. Open booking statuses are:

  • pending -- awaiting owner approval
  • accepted -- awaiting guest payment
  • confirmed -- paid and scheduled

Cancel or complete all bookings before deleting.

Request

# Delete with API key
curl -X DELETE https://charter.boats/api/boats/550e8400-e29b-41d4-a716-446655440000 \
  -H "X-API-Key: YOUR_API_KEY"

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

{
  "deleted": true,
  "title": "Škuribanda"
}
FieldTypeDescription
deletedbooleanAlways true on success
titlestringTitle 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

StatusMessage
400Boat ID is required
400Cannot delete — boat has N open booking(s). Cancel or complete them first.
401Invalid API key — a key that belongs to no account
401Invalid API key format — a malformed key
401Authentication required — no key and no signed-in session
403Not a company member — you don't belong to the boat's company
403Admin access required — you are a member, but not an admin or owner
404Boat not found
500Failed to delete boat: …

On this page