Create a role assignment
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/RoleAssignments"), Headers = { { "Authorization", "Bearer <token>" }, }, Content = new StringContent("{ \"fields\": { \"additionalProperty\": { \"value\": \"example\", \"valueType\": \"example\" } }, \"accessibility\": \"example\", \"principalId\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\", \"principalType\": \"example\", \"roleDefinitionId\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\", \"description\": \"example\", \"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\" } } }") { 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/RoleAssignments';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"fields":{"additionalProperty":{"value":"example","valueType":"example"}},"accessibility":"example","principalId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","principalType":"example","roleDefinitionId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","description":"example","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"}}}'};
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/RoleAssignments \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "fields": { "additionalProperty": { "value": "example", "valueType": "example" } }, "accessibility": "example", "principalId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "principalType": "example", "roleDefinitionId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "description": "example", "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" } } }'Creates a new role assignment.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Your tenant id.
Request Body
Section titled “Request Body”The role assignment data.
object
object
object
object
object
object
Example generated
{ "fields": { "additionalProperty": { "value": "example", "valueType": "example" } }, "accessibility": "example", "principalId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "principalType": "example", "roleDefinitionId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "description": "example", "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" } }}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", "principalId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "principalType": "example", "roleDefinitionId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "description": "example", "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" } } }}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"}