API Reference
Complete reference for the Charter Boats API
Base URL
All API endpoints are relative to:
Authentication
Include your API key in the X-API-Key header:
Generate your API key from Dashboard → Settings → API. See Authentication for details.
Response Format
Endpoints return data directly as JSON. Error responses include a status code and message:
The boat import endpoint (POST /import/boat) is an exception -- it wraps its response in {"success": true, "boat": {...}}.
Available Endpoints
Boats
| Method | Endpoint | Auth | Description |
|---|---|---|---|
GET | /boats | API key | List boats with filters and search |
GET | /boats/:id | API key | Get boat details |
GET | /boats/defaults | API key | Get smart defaults for boat forms |
POST | /import/boat | API key | Import a new boat listing |
PATCH | /boats/:id | Session | Update a boat |
DELETE | /boats/:id | Session | Delete a boat |
Bookings
| Method | Endpoint | Auth | Description |
|---|---|---|---|
POST | /bookings/reserve | Session | Check availability and get pricing |
POST | /bookings/create-and-pay | Session | Create booking with payment |
GET | /bookings | Session | List your bookings |
GET | /bookings/:id | Session | Get booking details |
Pricing
| Method | Endpoint | Auth | Description |
|---|---|---|---|
GET | /boats/:id/pricing | API key | Resolve pricing for a date range |
GET | /boats/:id/seasons | API key | List seasonal pricing |
POST | /boats/:id/seasons | Session | Create or update seasons |
GET | /boats/:id/date-prices | API key | Get date price overrides |
POST | /boats/:id/date-prices | Session | Set date price overrides (bulk) |
DELETE | /boats/:id/date-prices | Session | Clear date price overrides |
Fees
| Method | Endpoint | Auth | Description |
|---|---|---|---|
GET | /boats/:id/fees | API key | List boat fees |
POST | /boats/:id/fees | Session | Create a fee |
PATCH | /boats/:id/fees/:feeId | Session | Update a fee |
DELETE | /boats/:id/fees/:feeId | Session | Delete a fee |
Calendar
| Method | Endpoint | Auth | Description |
|---|---|---|---|
GET | /calendar/:boatId/export.ics | API key | Export boat calendar as iCal |
Locations & POIs
| Method | Endpoint | Auth | Description |
|---|---|---|---|
GET | /locations | Public | List locations with optional filters |
GET | /locations/search | Public | Search locations by name or coordinates |
GET | /locations/:id | Public | Get location details with nearby POIs |
GET | /pois/search | Public | Search points of interest |
GET | /pois/:id | Public | Get POI details |
GET | /pois/categories | Public | List available POI categories |
Passages & Sea Routing
| Method | Endpoint | Auth | Description |
|---|---|---|---|
GET | /passages | Public | List sailing passages |
GET | /passages/:slug | Public | Get passage details |
GET | /passages/by-location/:id | Public | Get passages from a location |
GET | /searoute/route | API key | Calculate sea route between two points |
Claims
| Method | Endpoint | Auth | Description |
|---|---|---|---|
POST | /claims | Session | Submit a damage claim |
POST | /claims/:id/respond | Session | Respond to a claim |
Experiences
Local businesses (dive shops, restaurants, tours, etc.) can register and list their services.
| Method | Endpoint | Auth | Description |
|---|---|---|---|
GET | /experiences/search | Public | Search experiences by location |
GET | /experiences/:id | Public | Get provider details |
POST | /experiences/register | Session | Register as experience provider |
AI Integrations
AI-optimized endpoints with fuzzy location matching, compact responses, and rate limiting tuned for conversational use. These power the Custom GPT and MCP server. See AI Integrations Overview for details.
| Method | Endpoint | Auth | Description |
|---|---|---|---|
GET | /ai/boats | Public | Search boats by location, type, dates, budget |
GET | /ai/locations | Public | Search marinas, islands, destinations |
GET | /ai/pois | Public | Find restaurants, fuel, shops near a location |
GET | /ai/routes | Public | Find sailing passages with distance and difficulty |
GET | /ai/trips | Public | Search curated multi-day itineraries |
GET | /ai/content | Public | Search articles, guides, and FAQ answers |
HTTP Status Codes
| Code | Description |
|---|---|
200 | Success |
201 | Created |
400 | Bad Request -- invalid parameters |
401 | Unauthorized -- missing or invalid API key / session |
404 | Not Found |
409 | Conflict -- duplicate resource |
500 | Server Error |