Charter Boats API
Boats

Import Boat

Import a boat listing with images and amenities

POST/import/boat

Import a new boat listing in a single API call. This endpoint handles creating the boat, uploading image URLs, and linking amenities.

Authentication

Requires API key in X-API-Key header. Get your key from Dashboard → Settings → API Access.

When using your owner API key (cb_live_*), boats are automatically created under your account - no need to specify owner fields.

Request Body

Required Fields

FieldTypeDescription
titlestringBoat name/title
location_citystringCity where boat is based
location_statestringState or country
boat_typestringType of boat (see below)
capacityintegerMaximum guests (≥1)

Optional Fields

FieldTypeDefaultDescription
descriptionstringFull description (markdown supported)
price_per_hournumberHourly rate in USD
price_per_daynumberDaily rate in USD
length_ftnumberLength in feet
yearintegerYear built
location_addressstringFull address or marina name
latitudenumberGPS latitude
longitudenumberGPS longitude
minimum_hoursinteger4Minimum booking hours
instant_bookbooleanfalseAllow instant booking
cancellation_policystringmoderateflexible, moderate, strict
is_publishedbooleantrueVisible to guests

Boat Types

sailboat, yacht, pontoon, fishing, catamaran, speedboat, houseboat, jetski, other

Images

Array of image URLs or image objects:

{
  "images": [
    "https://example.com/image1.jpg",
    { "url": "https://example.com/image2.jpg", "is_primary": true }
  ]
}

The first image is set as primary by default unless specified otherwise.

Amenities

Array of amenity names (matched case-insensitively):

{
  "amenities": ["WiFi", "Air Conditioning", "Snorkeling Equipment"]
}

Available amenities:

  • Entertainment: Bluetooth Speakers, WiFi, TV/Screen, Sound System
  • Comfort: Cooler/Ice Chest, Shade/Canopy, Cabin, Air Conditioning, Restroom, Shower, Grill/BBQ, Seating Area
  • Safety: Life Jackets, First Aid Kit, GPS/Navigation, Radio/Communication
  • Water Activities: Fishing Gear, Snorkeling Equipment, Water Toys, Wakeboard/Tubes, Kayak/Paddleboard, Diving Platform

Request

curl -X POST https://charter.boats/api/import/boat \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your-api-key" \
  -d '{
    "title": "BALI Catspace - Luxury Catamaran",
    "description": "Beautiful 40ft catamaran with 4 cabins.",
    "location_city": "Lefkada",
    "location_state": "Greece",
    "boat_type": "catamaran",
    "capacity": 8,
    "price_per_day": 850,
    "length_ft": 40,
    "year": 2023,
    "owner_email": "captain@example.com",
    "owner_name": "Captain John",
    "instant_book": false,
    "cancellation_policy": "moderate",
    "images": [
      {"url": "https://example.com/exterior.jpg", "is_primary": true},
      "https://example.com/interior.jpg"
    ],
    "amenities": [
      "WiFi",
      "Air Conditioning",
      "Snorkeling Equipment",
      "Kayak/Paddleboard"
    ]
  }'

Response

{
  "success": true,
  "boat": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "title": "BALI Catspace - Luxury Catamaran",
    "description": "Beautiful 40ft catamaran with 4 cabins.",
    "boat_type": "catamaran",
    "capacity": 8,
    "length_ft": 40,
    "year": 2023,
    "location_city": "Lefkada",
    "location_state": "Greece",
    "price_per_day": 850,
    "instant_book": false,
    "cancellation_policy": "moderate",
    "is_active": true,
    "is_published": true,
    "created_at": "2026-01-27T10:30:00Z",
    "owner": {
      "id": "user-uuid",
      "name": "Captain John",
      "email": "captain@example.com"
    },
    "images": [
      {
        "id": "img-1",
        "url": "https://example.com/exterior.jpg",
        "is_primary": true,
        "sort_order": 0
      }
    ],
    "amenities": [
      {"id": "1", "name": "WiFi", "category": "entertainment"}
    ]
  },
  "images_uploaded": 2,
  "amenities_added": 4,
  "view_url": "https://charter.boats/boats/550e8400-e29b-41d4-a716-446655440000"
}

Response Fields

FieldTypeDescription
successbooleanWhether the import succeeded
boatobjectCreated boat with all relations
images_uploadedintegerNumber of images added
amenities_addedintegerNumber of amenities linked
view_urlstringPublic URL to view the listing

Errors

StatusMessage
400title is required
400location_city is required
400boat_type must be one of: sailboat, yacht, ...
400capacity is required and must be >= 1
400Owner identification required: provide owner_id or owner_email
401API key required. Include X-API-Key header.
401Invalid API key

On this page