Charter Boats
Charter Boats API

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

Import Your First Boat

1. Prepare your request

Create a JSON payload with your boat details:

{
  "title": "Luxury Catamaran - BALI 4.6",
  "description": "Beautiful 46ft catamaran perfect for island hopping.",
  "location_city": "Split",
  "location_state": "Croatia",
  "boat_type": "catamaran",
  "capacity": 10,
  "price_per_day": 2500,
  "owner_email": "captain@example.com",
  "images": [
    "https://example.com/boat-exterior.jpg",
    "https://example.com/boat-interior.jpg"
  ],
  "amenities": ["WiFi", "Air Conditioning", "Snorkeling Equipment"]
}

title, boat_type, and capacity are the only required fields. location_state holds the country or region (it maps to the boat's country); location_city and location_address place it on a marina. See the full field list in the Import Boat reference.

2. Send the request

curl -X POST https://charter.boats/api/import/boat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cb_live_your_api_key_here" \
  -d '{
    "title": "Luxury Catamaran - BALI 4.6",
    "location_city": "Split",
    "location_state": "Croatia",
    "boat_type": "catamaran",
    "capacity": 10,
    "price_per_day": 2500,
    "owner_email": "captain@example.com"
  }'

3. Check the response

A successful response returns the created boat:

{
  "success": true,
  "duplicate": false,
  "boat": {
    "id": "abc123-def456-...",
    "title": "Luxury Catamaran - BALI 4.6",
    "boat_type": "catamaran",
    "capacity": 10,
    "is_published": false
  },
  "images_uploaded": 0,
  "images_downloaded": 0,
  "amenities_added": 2,
  "view_url": "https://charter.boats/boats/abc123-def456-..."
}

Imported boats default to is_published: false. Set "is_published": true in your request to make the listing visible immediately, or publish it later from the dashboard.

Boat Types

The following boat_type values are accepted:

ValueDescription
sailboatSailing yacht
catamaranCatamaran
yachtMotor yacht
motorboatMotorboat
guletTraditional wooden gulet
ribRigid inflatable boat

Set Pricing & Availability

Imported boats need pricing before they can be booked. Seasonal prices, date overrides, 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.

What's Next

On this page