Skip to main content
For any crew member on your fleet you can list their current documents — with the issuing authority, CrewPass’s verification status and a classification you can map to your own document types — and download the actual files through a short-lived, CrewPass-hosted link.
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
Each document is returned in its latest version, and only once CrewPass has finished processing it. The list leaves out documents that are still being processed, older uploads from before CrewPass’s current document processing, duplicates, and documents CrewPass has rejected or removed. Documents left out aren’t counted in a fleet’s 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

The classification 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:
  1. document_class decides where the document belongs: certificates (training, competency, endorsement) or paperwork (identity, medical, travel).
  2. STCW training: stcw_codes with is_refresher. For example VI/1-2 with is_refresher: true is the updated proficiency in fire prevention and fire fighting.
  3. Certificates of competency: coc_capacities, e.g. regulation II/2, role Master, gt_max: 3000, vessel_types: ["yacht"].
  4. Everything else (short courses, specialist training): keep a one-time map keyed by catalogue_title.id.
  5. Fall back to title only 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.