Charter Boats API

API Reference

Complete reference for the Charter Boats API

Base URL

All API endpoints are relative to:

https://charter.boats/api

Authentication

Include your API key in the X-API-Key header:

curl "https://charter.boats/api/boats" \
  -H "X-API-Key: cb_live_your_api_key_here"

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:

{
  "statusCode": 400,
  "message": "Error description"
}

The boat import endpoint (POST /import/boat) is an exception -- it wraps its response in {"success": true, "boat": {...}}.

Available Endpoints

Boats

MethodEndpointAuthDescription
GET/boatsAPI keyList boats with filters and search
GET/boats/:idAPI keyGet boat details
GET/boats/defaultsAPI keyGet smart defaults for boat forms
POST/import/boatAPI keyImport a new boat listing
PATCH/boats/:idSessionUpdate a boat
DELETE/boats/:idSessionDelete a boat

Bookings

MethodEndpointAuthDescription
POST/bookings/reserveSessionCheck availability and get pricing
POST/bookings/create-and-paySessionCreate booking with payment
GET/bookingsSessionList your bookings
GET/bookings/:idSessionGet booking details

Pricing

MethodEndpointAuthDescription
GET/boats/:id/pricingAPI keyResolve pricing for a date range
GET/boats/:id/seasonsAPI keyList seasonal pricing
POST/boats/:id/seasonsSessionCreate or update seasons
GET/boats/:id/date-pricesAPI keyGet date price overrides
POST/boats/:id/date-pricesSessionSet date price overrides (bulk)
DELETE/boats/:id/date-pricesSessionClear date price overrides

Fees

MethodEndpointAuthDescription
GET/boats/:id/feesAPI keyList boat fees
POST/boats/:id/feesSessionCreate a fee
PATCH/boats/:id/fees/:feeIdSessionUpdate a fee
DELETE/boats/:id/fees/:feeIdSessionDelete a fee

Calendar

MethodEndpointAuthDescription
GET/calendar/:boatId/export.icsAPI keyExport boat calendar as iCal

Locations & POIs

MethodEndpointAuthDescription
GET/locationsPublicList locations with optional filters
GET/locations/searchPublicSearch locations by name or coordinates
GET/locations/:idPublicGet location details with nearby POIs
GET/pois/searchPublicSearch points of interest
GET/pois/:idPublicGet POI details
GET/pois/categoriesPublicList available POI categories

Passages & Sea Routing

MethodEndpointAuthDescription
GET/passagesPublicList sailing passages
GET/passages/:slugPublicGet passage details
GET/passages/by-location/:idPublicGet passages from a location
GET/searoute/routeAPI keyCalculate sea route between two points

Claims

MethodEndpointAuthDescription
POST/claimsSessionSubmit a damage claim
POST/claims/:id/respondSessionRespond to a claim

Experiences

Local businesses (dive shops, restaurants, tours, etc.) can register and list their services.

MethodEndpointAuthDescription
GET/experiences/searchPublicSearch experiences by location
GET/experiences/:idPublicGet provider details
POST/experiences/registerSessionRegister 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.

HTTP Status Codes

CodeDescription
200Success
201Created
400Bad Request -- invalid parameters
401Unauthorized -- missing or invalid API key / session
404Not Found
409Conflict -- duplicate resource
500Server Error

On this page