POST
/
api
/
v2
/
employers
/
me
/
crew
/
{crew_unique_id}
/
compliance-checks
Crew compliance snapshot (scope: crew:compliance:read)
curl --request POST \
  --url https://partners.crewpass.co.uk/api/v2/employers/me/crew/{crew_unique_id}/compliance-checks \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{}'
{
  "crew_unique_id": "<string>",
  "overall_status": "<string>",
  "source": "<string>",
  "as_of": "2023-11-07T05:31:56Z",
  "requirements_total": 0,
  "requirements_met": 0,
  "requirements_expiring": 0,
  "requirements_expired": 0,
  "requirements_missing": 0,
  "requirements_pending": 0,
  "stcw_completion_percentage": 123,
  "next_expiry_date": "<string>",
  "requirements": [
    {
      "requirement_key": "<string>",
      "source": "<string>",
      "status": "<string>",
      "title": "<string>",
      "document_id": "<string>",
      "expiry_date": "<string>",
      "days_until_expiry": 123
    }
  ],
  "stcw": {
    "completion_percentage": 123,
    "modules": [
      {
        "code": "<string>",
        "name": "<string>",
        "status": "<string>",
        "expiry_date": "<string>"
      }
    ]
  },
  "medical": {
    "status": "<string>",
    "expiry_date": "<string>",
    "fit_category": "<string>"
  }
}

Authorizations

Authorization
string
header
required

Partner API key (cpk_live_* / cpk_test_*) as a Bearer token.

Headers

authorization
string | null
X-Partner-API-Key
string | null

Path Parameters

crew_unique_id
string
required

Query Parameters

vessel_id
string | null

Body

application/json

POST /employers/me/crew/{id}/compliance-checks request body.

Currently empty: the endpoint returns the crew member's current compliance projection as-is. Point-in-time (as_of) and required-cert filtering are intentionally not exposed yet — honouring them would mean re-deriving compliance here, which is forbidden (CLAUDE.md). They will return when the underlying snapshot supports them.

Response

Successful Response

Compliance snapshot — mirrors the internal projections (never re-derived).

The roll-up counts and source are unchanged; requirements /stcw /medical are an additive role/STCW/medical breakdown read straight from crewComplianceSnapshots (criticalGaps) and crewCompliance (STCW modules + the ENG1 medical block).

crew_unique_id
string
required
overall_status
string
required
source
string
required
as_of
string<date-time>
required
requirements_total
integer
default:0
requirements_met
integer
default:0
requirements_expiring
integer
default:0
requirements_expired
integer
default:0
requirements_missing
integer
default:0
requirements_pending
integer
default:0
stcw_completion_percentage
number | null
next_expiry_date
string | null
requirements
ComplianceRequirementItem · object[]
stcw
StcwBreakdown · object
medical
MedicalBreakdown · object