> ## Documentation Index
> Fetch the complete documentation index at: https://docs.crewpass.co.uk/llms.txt
> Use this file to discover all available pages before exploring further.

# List a crew member's documents

> A crew member's current certificates and other documents.

Each document has its issuer, verification status, dates, and a
`classification` you can map to your own document types. Only documents
CrewPass has finished processing are listed. To fetch a file, use the
download endpoint. Returns `404` if the crew member is not on one of your
vessels.

Requires `crew:documents:read`.



## OpenAPI

````yaml /api-reference/openapi.json get /api/v2/employers/me/crew/{crew_unique_id}/documents
openapi: 3.1.0
info:
  title: CrewPass Partner API
  description: >-
    Read the crew, vessel, document and compliance data CrewPass holds for the
    crew on your vessels, with each crew member's consent.
  version: 0.1.0
servers: []
security: []
paths:
  /api/v2/employers/me/crew/{crew_unique_id}/documents:
    get:
      tags:
        - Documents
      summary: List a crew member's documents
      description: >-
        A crew member's current certificates and other documents.


        Each document has its issuer, verification status, dates, and a

        `classification` you can map to your own document types. Only documents

        CrewPass has finished processing are listed. To fetch a file, use the

        download endpoint. Returns `404` if the crew member is not on one of
        your

        vessels.


        Requires `crew:documents:read`.
      operationId: crew_documents_api_v2_employers_me_crew__crew_unique_id__documents_get
      parameters:
        - name: crew_unique_id
          in: path
          required: true
          schema:
            type: string
            title: Crew Unique Id
        - name: X-Partner-API-Key
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Your API key, as an alternative to the `Authorization: Bearer`
              header.
            title: X-Partner-Api-Key
          description: >-
            Your API key, as an alternative to the `Authorization: Bearer`
            header.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - PartnerApiKey: []
components:
  schemas:
    DocumentsResponse:
      properties:
        crew_unique_id:
          type: string
          title: Crew Unique Id
        items:
          items:
            $ref: '#/components/schemas/DocumentItem'
          type: array
          title: Items
      type: object
      required:
        - crew_unique_id
        - items
      title: DocumentsResponse
      description: A crew member's current documents.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    DocumentItem:
      properties:
        document_id:
          type: string
          title: Document Id
        type:
          anyOf:
            - type: string
            - type: 'null'
          title: Type
        category:
          anyOf:
            - type: string
            - type: 'null'
          title: Category
          description: The category the document is filed under on CrewPass.
        title:
          anyOf:
            - type: string
            - type: 'null'
          title: Title
        issuer:
          anyOf:
            - type: string
            - type: 'null'
          title: Issuer
          description: The authority that issued the document. `null` when it isn't known.
        verification_status:
          anyOf:
            - type: string
            - type: 'null'
          title: Verification Status
          description: >-
            CrewPass's check on the document, taking expiry into account:
            `verified`, `pending` or `expired`.
        status:
          anyOf:
            - type: string
            - type: 'null'
          title: Status
        issue_date:
          anyOf:
            - type: string
            - type: 'null'
          title: Issue Date
        expiry_date:
          anyOf:
            - type: string
            - type: 'null'
          title: Expiry Date
        document_number:
          anyOf:
            - type: string
            - type: 'null'
          title: Document Number
          description: The document's own reference number.
        review_status:
          anyOf:
            - type: string
              enum:
                - verified
                - pending
                - pending_manual_review
                - rejected
            - type: 'null'
          title: Review Status
          description: >-
            The result of CrewPass's review, without expiry: an expired
            certificate that was verified stays `verified`.
        is_expired:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Expired
          description: >-
            `true` once `expiry_date` has passed. `null` when there is no expiry
            date.
        no_expiry:
          anyOf:
            - type: boolean
            - type: 'null'
          title: No Expiry
          description: >-
            `true` for a document that does not expire, `false` when it has an
            expiry date, and `null` when CrewPass doesn't know. A missing
            `expiry_date` without `no_expiry: true` means the date wasn't
            recorded.
        is_current:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Current
          description: >-
            `false` once a newer edition of the same certificate is on file.
            `null` when CrewPass doesn't know.
        superseded_by:
          anyOf:
            - type: string
            - type: 'null'
          title: Superseded By
          description: The `document_id` of the newer edition, if there is one.
        classification:
          anyOf:
            - $ref: '#/components/schemas/DocumentClassification'
            - type: 'null'
          description: >-
            What the document is, as codes you can map. `null` when the document
            can't be classified at the moment.
      type: object
      required:
        - document_id
      title: DocumentItem
      description: A certificate or other document on a crew member's CrewPass profile.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    DocumentClassification:
      properties:
        taxonomy_version:
          type: string
          title: Taxonomy Version
          description: The version of the document code list these values come from.
          examples:
            - 2026-09-17.230e599f
        document_class:
          anyOf:
            - type: string
              enum:
                - training
                - competency
                - endorsement
                - medical
                - identity
                - travel
                - other
            - type: 'null'
          title: Document Class
          description: The broad kind of document. Separates certificates from paperwork.
        category_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Category Code
          description: A finer grouping of the document, from the code list.
          examples:
            - stcw_training
        catalogue_title:
          anyOf:
            - $ref: '#/components/schemas/CatalogueTitle'
            - type: 'null'
          description: >-
            The CrewPass certificate type the document was matched to. Every
            document of the same type has the same `id`.
        stcw_regulation:
          anyOf:
            - type: string
            - type: 'null'
          title: Stcw Regulation
          description: The STCW regulation the document relates to.
          examples:
            - VI/1
        stcw_codes:
          items:
            type: string
          type: array
          title: Stcw Codes
          description: >-
            The specific STCW units the document covers. A combined basic
            training certificate lists `VI/1-1` to `VI/1-4`.
          examples:
            - - VI/1-1
        level:
          anyOf:
            - type: string
              enum:
                - management
                - operational
                - support
            - type: 'null'
          title: Level
          description: The STCW level, where the certificate has one.
        is_refresher:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Refresher
          description: '`true` for an updated proficiency (refresher) certificate.'
        flag_state:
          anyOf:
            - type: string
            - type: 'null'
          title: Flag State
          description: ISO 3166 alpha-2 code of the state that issued the document.
          examples:
            - GB
        coc_capacities:
          items:
            $ref: '#/components/schemas/CocCapacity'
          type: array
          title: Coc Capacities
          description: For a certificate of competency, each capacity it grants.
        sources:
          items:
            type: string
            enum:
              - document_type
              - title_override
              - competence_profile
              - medical_record
              - stcw_record
              - document_category
              - catalogue
              - structured_data
          type: array
          title: Sources
          description: What the classification was built from, in order.
      type: object
      required:
        - taxonomy_version
      title: DocumentClassification
      description: >-
        What the document is, as codes you can map to your own document types.


        Every value comes from the published document code list

        (https://docs.crewpass.co.uk/reference/document-codes). `null` or an
        empty

        list means CrewPass doesn't hold that fact; it never means "no".
    CatalogueTitle:
      properties:
        id:
          type: string
          title: Id
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
      type: object
      required:
        - id
      title: CatalogueTitle
      description: The CrewPass certificate type the document was matched to.
    CocCapacity:
      properties:
        stcw_regulation:
          anyOf:
            - type: string
            - type: 'null'
          title: Stcw Regulation
          examples:
            - II/2
        role:
          anyOf:
            - type: string
            - type: 'null'
          title: Role
          examples:
            - Chief Mate
        level:
          anyOf:
            - type: string
              enum:
                - management
                - operational
                - support
            - type: 'null'
          title: Level
        gt_max:
          anyOf:
            - type: integer
            - type: 'null'
          title: Gt Max
          examples:
            - 3000
        kw_max:
          anyOf:
            - type: integer
            - type: 'null'
          title: Kw Max
        power_unrestricted:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Power Unrestricted
        area:
          anyOf:
            - type: string
            - type: 'null'
          title: Area
          examples:
            - unlimited
        vessel_types:
          items:
            type: string
          type: array
          title: Vessel Types
          examples:
            - - yacht
      type: object
      title: CocCapacity
      description: One capacity a certificate of competency grants, with its limits.
  securitySchemes:
    PartnerApiKey:
      type: http
      scheme: bearer
      description: Partner API key (`cpk_live_*` / `cpk_test_*`) as a Bearer token.

````