---
title: "Get Profile"
method: GET
path: "/api/v1/auth/profile"
tags: ["grandline-auth"]
---

# Get Profile

`GET /api/v1/auth/profile`

## Request

- Base URL: `https://grandline.luzomi.com`
- URL: `https://grandline.luzomi.com/api/v1/auth/profile`
- Auth: none declared

Return the calling user's profile + completion state for prefilling the
web UI's profile form and the nav account menu. `last_seen_at` is the most
recent `api_keys.last_used_at` — the closest signal to a "last login".

## Response `200`

Successful Response

- ProfileOut
  - `email` string, required
  - `name` string, nullable, required
  - `designation` string, nullable, required
  - `company_name` string, nullable, required
  - `what_building` string, nullable, required
  - `country` string, nullable
  - `city` string, nullable
  - `sectors` string[]
  - `privacy_consent_at` string, date-time, nullable
  - `privacy_policy_version` string, nullable
  - `marketing_consent` boolean
  - `profile_completed_at` string, date-time, nullable
  - `total_authenticated_calls` integer
  - `verified_at` string, date-time, nullable
  - `last_seen_at` string, date-time, nullable
  - `status` string, nullable
  - `active_key_expires_at` string, date-time, nullable

## Other responses

- `401`: Authentication required
- `404`: Key not found / not owned by caller

---

[API](https://skmtc.dev/luzomi/apis/grandline-api.md) · [All operations](https://skmtc.dev/luzomi/apis/grandline-api/llms.txt) · [OpenAPI document](https://skmtc.dev/luzomi/apis/grandline-api/revisions/4ce06aea012b?raw)
