Quick Start
Start importing boats in under 5 minutes
This guide walks you through importing a boat listing using the Charter Boats API.
Prefer not to write code? You can also add a boat through the dashboard UI at charter.boats/dashboard/boats/new — no API key required. This API guide is for bulk or automated imports.
Prerequisites
- An API key (generate one from your dashboard)
- Boat details ready (title, type, capacity, and the marina's coordinates)
Import Your First Boat
1. Prepare your request
Create a JSON payload with your boat details:
title, boat_type, and capacity are the only required fields. See the full field list in the Import Boat reference.
How the marina is found
Send the marina's coordinates — they are what places the boat:
- With
latitude/longitude, the boat is linked to a known location within roughly 1 km of that point (the first one found, so be precise). - If that finds nothing (or no coordinates were sent),
location_addressis matched as a substring of a location's name ("ACI Marina Split", not a street address). - If neither matches and you sent coordinates, a new marina is created there, named after
location_address(without one it has no name and shows as its type, "Marina"), withlocation_statestored as its country.
location_city and location_state are never used to find a location — a boat sent with only a city and a country ends up with no location at all, and a boat without a location cannot be published.
2. Send the request
3. Check the response
A successful response returns the created boat:
Store the boat's id (UUID) — the slug in view_url can change when the listing is renamed.
Imported boats are created unpublished, and the import cannot publish them: going live needs check-in days, which the import can't set. Open the boat in the dashboard, add its check-in days (and anything else it reports missing — a location, at least one image), and it publishes once complete. Sending "is_published": true changes nothing about this.
Boat Types
The following boat_type values are accepted:
| Value | Description |
|---|---|
sailboat | Sailing yacht |
catamaran | Catamaran |
yacht | Motor yacht |
motorboat | Motorboat |
rib | Rigid inflatable boat |
other | Anything else (gulets included) |
Any other value is rejected with 400.
Set Pricing & Availability
Imported boats need pricing before they can be booked. Seasonal prices and fees are configured from the dashboard — these edits are tied to your logged-in session and aren't exposed as keyed API endpoints. To read the resulting price for specific dates, use Resolve Pricing; for the raw seasonal rules, see Seasonal Pricing.