---
title: "List sub-out claim opportunities"
method: GET
path: "/api/v1/sub-out/opportunities"
tags: ["sub-out"]
---

# List sub-out claim opportunities

`GET /api/v1/sub-out/opportunities`

## Request

- Base URL: `http://localhost:3002`
- URL: `http://localhost:3002/api/v1/sub-out/opportunities`
- Auth: HTTP bearer

Candidate captain lists OWNER_APPROVED sub-out referrals available to claim. Filtered by marketplace opt-in, Stripe Connect onboarding, and source-tenant blacklist. Includes per-row financial breakdown.

## Response `200`

Available opportunities

- object
  - `data` SubOutOpportunity[], required
    - `referralId` string, required
    - `booking` object, required
      - `id` string, required
      - `date` string, date-time, required
      - `startTime` string, nullable, required
      - `endTime` string, nullable, required
      - `harbor` unknown
    - `breakdown` object, required
      - `grossEarnings` number, required
      - `platformFee` number, required
      - `platformFeeRate` number, required
      - `netEarnings` number, required

## Other responses

- `401`: Authentication required, or the bearer token is missing or invalid.
- `403`: Authenticated but not permitted to access this resource.

---

[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)
