Get current user
const url = 'https://api.deploybase.eu/api/v1/api/v1/me';const options = {method: 'GET', headers: {Authorization: '<Authorization>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.deploybase.eu/api/v1/api/v1/me \ --header 'Authorization: <Authorization>'Returns information about the currently authenticated user
Authorizations
Section titled “ Authorizations ”Responses
Section titled “ Responses ”OK
object
object
object
ActiveTeam labels the team above, so a client can render the switcher without a second round trip. Absent when the team profile could not be read — /me answering at all matters more than the label.
object
AnalyticsID is a keyed hash of the team id for product analytics (umami.identify), so the analytics tool never sees the internal team UUID. Absent when the server has no ANALYTICS_ID_SECRET; the app then identifies nobody (DEP-674).
DisplayLabel is what to show a human; never empty.
IsHome is false when the caller has switched into another team.
EmailConfirmationRequired is true only while the gate actually refuses this person: the address is unconfirmed AND the account was created on or after the cutoff (EMAIL_CONFIRMATION_REQUIRED_AFTER). An older unconfirmed account reports email_verified false but this false, and may publish. The dashboard’s confirm banner follows this field, not email_verified.
EmailVerified is whether the address is confirmed (DEP-687 #3), the true state whatever the cutoff. Whether the gate refuses is email_confirmation_required. Checked live against Zitadel when the token says false, so it turns true on the first /me after the link is clicked, without signing out.
TeamID is the INTERNAL team UUID of the team this request is acting on — the same value every other endpoint means by team_id, and since DEP-534 the ACTIVE team rather than necessarily the caller’s own.
It used to be claims.TeamID(), the Zitadel ORG id. That was a different namespace entirely: no other endpoint accepts or returns an org id, so a client that fed this value back got a 404 at best. Changing it is the fix, not a regression.
Example generated
{ "data": { "active_team": { "analytics_id": "example", "display_label": "example", "id": "example", "is_home": true, "name": "example", "role": "example", "slug": "example" }, "email": "example", "email_confirmation_required": true, "email_verified": true, "membership_id": "example", "name": "example", "roles": [ "example" ], "team_id": "example", "team_role": "example", "user_id": "example" }, "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Unauthorized
object
object
Example generated
{ "code": "example", "details": "example", "error": "example", "meta": { "request_id": "example", "timestamp": "example", "trace_id": "example" }}Live a8b7eb1d built