Create Client Invite
Issue a one-time invite link an end user redeems to become an RBAC client of this endpoint. The link opens on the endpoint's own hostname (https://<endpoint host>/_tunnel_auth/register?invite=<token>), on a page that looks like the endpoint's sign-in page: the invitee chooses a username and password (when the endpoint offers password sign-in) or signs in with one of the endpoint's OAuth providers, and is then signed in. The link works once, only on this endpoint, until it expires.
OAuth / SSO redemption needs the provider account's email to be the invite's email (compared trimmed and case-insensitively); an address the provider reports as unverified, or none, is refused. An invite without an email can therefore only be redeemed with a username and password.
The endpoint's registration policy applies when the invite is redeemed: with self-registration off the invite is refused ("Registration is closed"); with Requires approval the user is created pending until you activate them; with Invite only (invite_only: true) the invite is your approval, so there is no approval step, whatever auto_approve says; with email verification on, a confirmation link (valid 24 hours) is emailed to the invite's address and the user gets access once they open it. The allowed / blocked email domains and the password requirements apply too.
One invite sends at most one confirmation email every 2 minutes and 5 a day; past that the invitee's page says "Already sent — check your inbox" and no email is sent. A username that is already taken on the endpoint is refused before any email goes out. See Sign-in protection for the limits on the invite and login pages.
This call does not email the invite: hand the link to the user yourself. The token is shown only in this response; ngris stores only its hash.
Path parameters
uuid from /endpoints.Request body
72 when omitted or ≤ 0; capped at 8760 (1 year).Response (200 OK)
uuid of the created invited-status placeholder client.https://<endpoint host>/_tunnel_auth/register?invite=<invite_token>. Treat it as opaque and hand it to the user as-is.invited for a freshly created invite.Deprecated: until the sunset this response also carries the legacy integer id and *_id fields. Don't use them; read uuid and the *_uuid fields.
Errors
email while the registration policy requires email verification; or no role_uuid while the endpoint has no default role and no registration Default Role ("Choose a role for this invite…"). The response's fields names the field.endpoints:write permission in the active account.role_uuid is not one of this endpoint's roles.