Create Client Invite

POST /v1/endpoints/{id}/rbac/clients/invites

Issue a one-time invite link an end user can redeem to register as an RBAC client on this endpoint. Useful when the endpoint's registration policy is set to invite-only; otherwise users would self-register through the public sign-in page.

The returned invite contains an invite_token the user redeems via the registration flow. This call creates a placeholder client row in invited status and returns the token + URL; it does not send an email — hand the URL to the user out-of-band.

Path parameters

id string (uuid) Req
Endpoint UUID.

Request body

email string
Stored on the placeholder client and echoed back. Optional. (This endpoint does not send mail.)
display_name string
Pre-fills the new client's display name.
expires_in_hours int
Hours until the invite expires. Default 72 when omitted or ≤ 0; capped at 8760 (1 year).

Response (200 OK)

id int64
Numeric client ID of the created invited-status placeholder.
invite_token string
Single-use token the user redeems during registration.
invite_url string
Relative redemption path: /register?endpoint=<endpoint_id>&invite=<invite_token>.
email string
Echo of the supplied email (empty string if none).
display_name string
Echo of the supplied display name.
expires_at datetime
Invite expiry. Past this time, redemption fails.
status string
Always invited for a freshly created invite.

Errors

400 Bad Request
Malformed JSON request body.
401 Unauthorized
Missing auth.
403 Forbidden
Caller lacks the endpoints:write permission in the active account.
404 Not Found
Endpoint doesn't exist or doesn't belong to the calling account.
Request
curl -X POST "https://api.ngris.com/v1/endpoints/<uuid>/rbac/clients/invites" \ -H "X-API-KEY: <your_api_key>" \ -H "Content-Type: application/json" \ -d '{ "email": "alice@example.com", "display_name": "Alice", "expires_in_hours": 24 }'
Python
from ngris import Ngris client = Ngris(api_key="<your_api_key>") inv = client._post_raw( "/endpoints/<endpoint_uuid>/rbac/clients/invites", {"email": "alice@example.com", "expires_in_hours": 24}, ) print("Send to user:", inv["invite_url"])
Response — 200 OK
{ "id": 33, "invite_token": "a1b2c3d4...", "invite_url": "/register?endpoint=184&invite=a1b2c3d4...", "email": "alice@example.com", "display_name": "Alice", "expires_at": "2026-04-30T13:00:00Z", "status": "invited" }
On this page
Create Client Invite
Iris