Get the current user's profile.
Returns the global Fruxon profile of the authenticated caller — name, avatar, and other cross-tenant identity fields. The user is identified implicitly by the Firebase ID token; there is no path parameter. A profile row is created on first access (lazy provisioning), so this endpoint always returns 200 for any authenticated caller. For workspace-scoped membership data (role within a specific tenant), use `GET /v1/tenants/{tenant}/users/{user}` instead.
Authorization
Bearer JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.
In: header
Header Parameters
Optional Mixpanel anonymous distinct_id captured by the browser SDK
before sign-in. When present and a new FruxonUser row is
created in this request, the backend issues a Mixpanel
$create_alias so pre-signup events (Page Views on /login,
/signup, etc.) merge into the user's email-keyed profile. Ignored
when the row already exists.
Response Body
curl -X GET "https://api.fruxon.com/v1/users/me"{
"id": "string",
"username": "string",
"email": "string",
"firstName": "string",
"lastName": "string",
"avatarFileId": "string",
"status": "INVITED",
"role": "ADMIN",
"createdAt": 0,
"modifiedAt": 0
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}Invites a user to join the current tenant.
Creates an outstanding invitation for the given email and sends an invitation email with an accept link. If an invitation already exists for this email in the current tenant it is replaced. If the email is already an active member, returns 400.
Update the current user's profile.
Partial update — only the fields present in the request body are applied; omitted fields remain unchanged. Use this for first-name / last-name / avatar changes triggered from the in-app profile settings. The caller can only mutate their own profile; identity is taken from the Firebase ID token, not from any path parameter.