Skip to main content
This walks the management-company flow end to end: list your vessels → list your fleet → look up a crew member → read their profile, documents, and compliance, and download a document. Every v1 read authenticates with your API key as a Bearer token over TLS and is not signed, so each call carries the same Authorization header and nothing more (see Authentication).
1

Get your credentials

CrewPass issues you a partner API key (cpk_live_* and cpk_test_*). Keep it server-side.
2

Confirm who you are

GET /api/v2/partners/me returns your identity and granted scopes. It’s the first call any partner makes.
cURL
Response
3

List your vessels

GET /api/v2/employers/me/vessels returns the vessels on your account.
cURL
Response
4

List your fleet

GET /api/v2/employers/me/fleet returns every crew member on your vessels, their verification + background-check status, and a count of documents expiring soon.
Python
Response
Paginate with ?cursor=<next_cursor>&limit=50 (max limit 200). status and background_check_status appear only when crew:status:read is effective for that crew member.
5

Look up a crew member by email

If you hold crew by email, resolve to a crew_unique_id.
cURL
A crew member not on one of your vessels returns 404 — you can never enumerate the wider CrewPass user base.
6

Read profile, documents, and compliance

With a crew_unique_id, read the detail (the GETs carry only the Bearer header; the compliance check is a read-only POST with a JSON body):
cURL
7

Download a document file

GET …/documents/{document_id}/download returns a short-lived, CrewPass-hosted link (never a raw storage URL). Follow download_url to stream the file.
Response

Next steps

Now dive into a capability: