Create an invite
using System.Net.Http.Headers;var client = new HttpClient();var request = new HttpRequestMessage{ Method = HttpMethod.Post, RequestUri = new Uri("https://api.nimles.com/identity/api/tenant/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/Invites"), Headers = { { "Authorization", "Bearer <token>" }, }, Content = new StringContent("{ \"fields\": { \"additionalProperty\": { \"value\": \"example\", \"valueType\": \"example\" } }, \"accessibility\": \"example\", \"email\": \"hello@example.com\", \"roleDefinitionId\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\", \"scope\": { \"data\": { \"additionalProperty\": \"example\" }, \"control\": { \"tenantId\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\", \"organizationId\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\", \"resourceGroupId\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\", \"instance\": \"example\" } }, \"sendEmail\": true, \"message\": \"example\" }") { Headers = { ContentType = new MediaTypeHeaderValue("application/json") } }};using (var response = await client.SendAsync(request)){ response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);}const url = 'https://api.nimles.com/identity/api/tenant/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/Invites';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"fields":{"additionalProperty":{"value":"example","valueType":"example"}},"accessibility":"example","email":"hello@example.com","roleDefinitionId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","scope":{"data":{"additionalProperty":"example"},"control":{"tenantId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","organizationId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","resourceGroupId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","instance":"example"}},"sendEmail":true,"message":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.nimles.com/identity/api/tenant/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/Invites \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "fields": { "additionalProperty": { "value": "example", "valueType": "example" } }, "accessibility": "example", "email": "hello@example.com", "roleDefinitionId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "scope": { "data": { "additionalProperty": "example" }, "control": { "tenantId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "organizationId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "resourceGroupId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "instance": "example" } }, "sendEmail": true, "message": "example" }'Creates a new invite. Generates a secure invite code and sets an expiration date.
The inviter needs the right to write invites and role assignments at the invite’s scope, and must itself hold
every action the role grants there (403). The role and the scope’s organization and resource group must be the
tenant’s (400). With sendEmail, Identity mails the invite with a link to the accept page configured for
the calling client (400 without one), up to a daily limit per tenant (429).
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Your tenant id.
Request Body
Section titled “Request Body”The invite data.
object
object
object
object
object
object
Example generated
{ "fields": { "additionalProperty": { "value": "example", "valueType": "example" } }, "accessibility": "example", "email": "hello@example.com", "roleDefinitionId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "scope": { "data": { "additionalProperty": "example" }, "control": { "tenantId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "organizationId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "resourceGroupId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "instance": "example" } }, "sendEmail": true, "message": "example"}Responses
Section titled “Responses”Created. The body is the item, or { data: { id } } when it cannot be read yet. Location is the item’s path within the service, /api/tenant/{tenantId}/{Resource}/{id}, without the /{service} prefix api.nimles.com routes by: use data.id from the body.
object
object
object
object
object
object
object
object
object
object
object
object
The id of a new item, when the create answers before the item can be read.
object
object
Example generated
{ "data": { "fields": { "additionalProperty": { "value": "example", "valueType": "example" } }, "accessibility": "example", "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "relations": [ { "fields": { "additionalProperty": { "value": "example", "valueType": "example" } }, "accessibility": "example", "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "name": "example", "entityId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "entityType": "example", "relationType": "example" } ], "tenantId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "resourceGroupId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "creatorId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "createdDate": "2026-04-15T12:00:00Z", "version": 1, "lastModified": "2026-04-15T12:00:00Z", "email": "example", "roleDefinitionId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "scope": { "data": { "additionalProperty": "example" }, "control": { "tenantId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "organizationId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "resourceGroupId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "instance": "example" } }, "status": "example", "expiresAt": "2026-04-15T12:00:00Z", "acceptedAt": "2026-04-15T12:00:00Z", "acceptedByPrincipalId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "inviteCode": "example", "requiresApproval": true, "requestedByPrincipalId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "requesterName": "example", "requesterPhone": "example", "requestMessage": "example", "allowAnyAccount": true, "isExpired": true, "sendEmail": true, "lastSentAt": "2026-04-15T12:00:00Z", "invitedByName": "example", "invitedByEmail": "example", "message": "example", "roleName": "example", "organizationName": "example" }}Headers
Section titled “Headers”The new item’s path within the service, without the service prefix: /api/tenant/{tenantId}/{Resource}/{id}.
Unauthorized: no bearer token, or one that is expired or not for this API.
Forbidden: the caller holds no role that allows this action at this scope. The body is empty, or a problem whose detail names the action.
An RFC 9457 problem.
object
Example generated
{ "detail": "example", "instance": "example", "status": 1, "title": "example", "type": "example"}Conflict: the item kept changing under concurrent writes; read it again and retry.
An RFC 9457 problem.
object
Example generated
{ "detail": "example", "instance": "example", "status": 1, "title": "example", "type": "example"}Unprocessable: the body or the change is invalid. The errors are keyed by member.
A validation problem: the messages by member (or by JSON Pointer for a patch).
object
object
Example generated
{ "errors": { "additionalProperty": [ "example" ] }, "status": 1, "title": "example", "type": "example"}