---
title: "Accept a sub-out offer"
method: POST
path: "/api/v1/sub-out/{referralId}/accept"
tags: ["sub-out"]
---

# Accept a sub-out offer

`POST /api/v1/sub-out/{referralId}/accept`

## Request

- Base URL: `http://localhost:3002`
- URL: `http://localhost:3002/api/v1/sub-out/{referralId}/accept`
- Auth: HTTP bearer

Candidate captain accepts a sub-out referral offered to their tenant. Atomic transition to SHORTLIST_ACCEPTED with booking ownership reassignment. Body is empty `{}`. Per spec §10.9, the actor identity is Tenant, resolved from the authenticated captain id.

## Path parameters

- `referralId` string, required

## Headers

- `Idempotency-Key` string, uuid: Client-supplied UUID v4. Repeat requests with the same key return the cached response.

## Request body

- EmptyBody

## Response `200`

Offer accepted

- object
  - `data` SubOutReferral, required
    - `id` string, required
    - `sourceType` string, required
    - `sourceId` string, required
    - `bookingId` string, nullable, required
    - `subOutState` string, nullable, required
    - `subOutReason` string, nullable, required
    - `status` string, required
    - `targetType` string, required
    - `targetId` string, required
    - `currentOfferId` string, nullable
    - `offerExpiresAt` string, date-time, nullable
    - `ownerApproval` string, nullable

## Other responses

- `401`: Authentication required, or the bearer token is missing or invalid.
- `403`: Authenticated but not permitted to access this resource.
- `409`: Idempotency-Key was reused with a different request body

---

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