Requires
crew:documents:read to list, and crew:documents:download to fetch a file. A document whose classification.document_class is medical (e.g. an ENG1) is included only when crew:medical:read is also effective for the crew member; otherwise it’s left out of the list and its download link 404s. Both authenticated with your API key as a Bearer token over TLS; reads are not signed.1. List documents
cURL
Response
documents_expiring total and can’t be downloaded. A
new upload appears as soon as processing completes.
An earlier edition of a certificate that has since been renewed is still listed,
with is_current: false.
What the key fields mean:
2. Classify documents
Theclassification block tells you what a document is, using values from the
published code list, so you can file it in your own
system without reading the title. CrewPass builds it from what it already holds:
the certificate type the document was matched to, and the crew member’s maritime
competence profile, medical record and STCW record.
A
null or an empty list means CrewPass doesn’t hold that fact for the document;
it never means “no”. The whole block can be null if a document can’t be
classified at the moment. Treat that as unknown and fall back to title.
Mapping to your own types
Use the most specific signal first:document_classdecides where the document belongs: certificates (training,competency,endorsement) or paperwork (identity,medical,travel).- STCW training:
stcw_codeswithis_refresher. For exampleVI/1-2withis_refresher: trueis the updated proficiency in fire prevention and fire fighting. - Certificates of competency:
coc_capacities, e.g. regulationII/2, role Master,gt_max: 3000,vessel_types: ["yacht"]. - Everything else (short courses, specialist training): keep a one-time map
keyed by
catalogue_title.id. - Fall back to
titleonly when none of the above is set.
3. Download a file
Downloading is a two-step flow. First ask for a link; then follow it. The link is hosted on a CrewPass domain, expires in about 15 minutes, and the underlying storage location is never exposed.cURL
Response
cURL
Download every document for a crew member
A common job — pull all of someone’s certificates into your own system. List, then download each one:Python
Each download link is single-purpose and short-lived. If
crew:documents:download
isn’t enabled, or the crew member is off your fleet, you get 403 / 404 rather
than a link. If the file store is briefly unreachable you get a 503 — never an
unsigned storage URL.Next
- Check compliance — which of these documents satisfy the role’s requirements.