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.
Authorization
Bearer JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.
In: header
Path Parameters
The tenant identifier
The invitation details (email and role).
Email address of the user to invite.
email1 <= lengthRole to assign to the invited user.
"UNSPECIFIED" | "ADMIN" | "MEMBER" | "OWNER" | "DEVELOPER" | "OPERATOR" | "VIEWER"Response Body
curl -X POST "https://api.fruxon.com/v1/tenants/string/users:invite" \ -H "Content-Type: application/json" \ -d '{ "email": "user@example.com", "role": "UNSPECIFIED" }'{
"id": "string",
"userEmail": "string",
"slug": "string",
"displayName": "string",
"role": "ADMIN",
"expiresAt": 0
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string",
"property1": null,
"property2": null
}Retrieves a specific user by ID.
Looks up a single workspace member by their tenant user id. The id matches the `name` field returned by `GET /users`. Returns 404 if the user is not a member of the caller's workspace — this endpoint does not cross tenant boundaries. Use `PATCH /users/{user}` to mutate role or profile fields (admin-only).
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.