crew_unique_id (from your crew list), read their
profile. name and rank always return; four further blocks are each gated on
their own scope and the crew member’s consent for it — a block is simply
absent from the response when either is missing.
Requires
crew:profile:read. The contact block (email, phone, country_code) additionally requires crew:contact:read; the professional block (nationality, languages, skills, bio, years_experience, profile_photo_url) requires crew:professional:read; employment_history requires crew:experience:read; the personal block (date_of_birth, address, passport, visas) requires crew:personal:read. crew:profile:full:read is a legacy alias for crew:experience:read + crew:personal:read together. Each also needs 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. Everything else sits in one of the four scope-gated blocks
below.
Contact block (crew:contact:read)
email, phone, country_code. 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.
Professional block (crew:professional:read)
nationality, languages, skills, years_experience, bio and
profile_photo_url. This is the old base profile in full, minus name /
rank (which need only crew:profile:read) and the contact fields above.
Employment history (crew:experience:read)
employment_history only. Each 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.
Personal block (crew:personal:read)
date_of_birth, address, passport, visas. address, when present,
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.
full_profile is true only when both crew:experience:read and
crew:personal:read are effective for this crew member (the old
crew:profile:full:read bundle — employment history plus the personal block).
When a block isn’t effective, its fields are simply absent — the rest of the
profile still returns. Don’t treat a missing field as an error.
Photo
profile_photo_url is part of the professional block: it’s only set when
crew:professional:read is effective, and 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:
404 if the crew member has no photo, or
crew:professional:read isn’t effective.