Skip to main content
Once you have a crew_unique_id (from your crew list), read their profile. You always get the base profile; sensitive identity fields appear only when the crew member has explicitly consented to share them with you.
Requires crew:profile:read. Identity fields additionally require crew:profile:full:read and the crew member’s consent. Authenticated with your API key as a Bearer token over TLS; reads are not signed.

Get a profile

cURL
Response

Base fields (always)

name, rank, nationality, languages, skills, years_experience, bio, email, phone, country_code, profile_photo_url. phone is returned in international (E.164) form, composing the dial code and the national number (e.g. +447700900000). country_code is the ISO country code.

Address

When present, address carries the structured parts (line1, line2, city, state, country, postcode) plus full_address, a single-line composed address. A crew member who supplied only a city/postcode (no street) will have line1: null but a populated full_address — read full_address for display.

Employment history source

Each employment row’s source is either self_reported (the crew member entered it) or employer_verified (an employer has confirmed it). It reflects the verification level, not where the record was entered. date_of_birth, address, passport, visas, and employment_history. When the crew member hasn’t consented to identity sharing, full_profile is false and these fields are simply absent — the rest of the profile still returns. Don’t treat a missing identity field as an error.

Photo

profile_photo_url points at a CrewPass-hosted photo proxy (never a raw storage link). Fetch it the same way as any other GET, with the Bearer header:
It streams the image, or returns 404 if the crew member has no photo.

Next