---
title: "All captain settings"
method: GET
path: "/api/v1/settings"
tags: ["Settings"]
---

# All captain settings

`GET /api/v1/settings`

## Request

- Base URL: `http://localhost:3002`
- URL: `http://localhost:3002/api/v1/settings`
- Auth: HTTP bearer

Returns all settings for the captain: profile, availability rules, exceptions, pricing tiers, harbors, and durations.

## Response `200`

Captain settings bundle

- object
  - `data` object
    - `captain` Captain
      - `id` string, required
      - `name` string, nullable
      - `phone` string, nullable
      - `bio` string, nullable
      - `profileImageUrl` string, nullable
      - `homeHarborId` string, nullable: Convenience pointer to the harbor in `harbors[]` with `isHome = true`. Returned for clients that only need the captain's primary harbor without iterating the list.
      - `harbors` object[]
        - `harborId` string, required
        - `isHome` boolean, required
        - `name` string, required
      - `depositType` 'FIXED' | 'PERCENTAGE' | 'null', nullable
      - `depositValue` integer, nullable
      - `cancellationWindowDays` integer, nullable
      - `depositRefundable` boolean
      - `weatherCancellationPolicy` string, nullable
      - `notificationPreferences` unknown
      - `googleCalendarConnected` boolean
    - `availabilityRules` AvailabilityRule[]
      - `id` string, required
      - `captainId` string, required
      - `dayOfWeek` integer, required
      - `startTime` string, nullable
      - `endTime` string, nullable
      - `isActive` boolean
    - `availabilityExceptions` AvailabilityException[]
      - `id` string, required
      - `captainId` string, required
      - `date` string, date-time, required
      - `isBlocked` boolean, required
      - `reason` string, nullable
      - `overrideStart` string, nullable
      - `overrideEnd` string, nullable
      - `createdAt` string, date-time
    - `pricingTiers` PricingTier[]
      - `id` string, required
      - `captainId` string, required
      - `name` string, required
      - `ratePerHour` number, nullable
      - `isActive` boolean
    - `harbors` Harbor[]
      - `id` string, required
      - `name` string, required
      - `city` string, nullable
      - `state` string, nullable
      - `lat` number, nullable
      - `lng` number, nullable
      - `sortOrder` integer
      - `isActive` boolean, required
    - `durations` Duration[]
      - `id` string, required
      - `hours` integer, required
      - `label` string, required
      - `isActive` boolean
      - `sortOrder` integer

## Other responses

- `401`: Authentication required, or the bearer token is missing or invalid.

---

[API](https://skmtc.dev/chartercaptain/apis/charter-captain-api.md) · [All operations](https://skmtc.dev/chartercaptain/apis/charter-captain-api/llms.txt) · [OpenAPI document](https://skmtc.dev/chartercaptain/apis/charter-captain-api/revisions/1ffea1113adb?raw)
