/api/public/v1/invitesinvites.create
Create a one-time invite link for an email (token returned once).
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
command_idbody | string (uuid) | Yes | Client-generated UUID for this command. Send the same id (and body) again to get the stored receipt instead of a second change; a different body under the same id is CONFLICT. |
emailbody | string | Yes | |
rolebody | "admin" | "operator" | "viewer" | Yes | |
expires_atbody | string (date-time) | Yes | When the invite link stops working (ISO 8601 with offset) |
scopebody | "all" | "groups" | No | Default: `"all"`. |
group_idsbody | array<string (uuid)> | No | Profile groups a group-scoped member may see (max 200 items) Default: `[]`. |
Examples
curl -X POST "https://browlix.com/api/public/v1/invites" \
-H "Authorization: Bearer $BROWLIX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"command_id":"<uuid>","email":"<email>","role":"admin","expires_at":"<expires_at>"}'Response
201 with { data, replayed: false, correlation_id } the first time; 200 with replayed: true when the same command_id and body come again.
Errors
| Code | HTTP | Retryable |
|---|---|---|
| UNAUTHENTICATED | 401 | No |
| FORBIDDEN | 403 | No |
| RATE_LIMITED | 429 | Yes |
| VALIDATION_FAILED | 422 | No |
| CONFLICT | 409 | No |
| OUTCOME_UNKNOWN | 202 | Yes |
| DEPENDENCY_UNAVAILABLE | 503 | Yes |
| UNKNOWN | 500 | No |
