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
curl -sS "$BASE/api/v2/employers/me/crew/crew_001/profile" \
  -H "Authorization: Bearer $CPK_KEY"
Response
{
  "crew_unique_id": "crew_001",
  "name": "Alex Crew",
  "rank": "Chief Engineer",
  "nationality": "British",
  "languages": [{ "language": "English", "proficiency": "Native" }],
  "skills": ["MEOL", "AEC"],
  "years_experience": "12",
  "bio": "…",
  "email": "alex@example.com",
  "phone": "+44 7700 900000",
  "profile_photo_url": "https://partners.crewpass.co.uk/api/v2/employers/me/crew/crew_001/photo",
  "employment_history": [
    { "vessel_name": "M/Y Example", "role": "2nd Engineer",
      "started_at": "2022-01-01", "ended_at": "2024-06-01", "source": "employer_confirmed" }
  ],

  "full_profile": true,
  "date_of_birth": "1990-04-12",
  "address": { "line1": "…", "city": "…", "country": "United Kingdom", "postcode": "…" },
  "passport": { "nationality": "British", "number": "123456789", "expiry": "2030-04-01" },
  "visas": [{ "type": "B1/B2", "country": "USA", "expiry": "2029-01-01" }]
}

Base fields (always)

name, rank, nationality, languages, skills, years_experience, bio, email, phone, profile_photo_url. 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:
GET /api/v2/employers/me/crew/crew_001/photo
It streams the image, or returns 404 if the crew member has no photo.

Next