Set the SSO default access of an organization
using System.Net.Http.Headers;var client = new HttpClient();var request = new HttpRequestMessage{ Method = HttpMethod.Put, RequestUri = new Uri("https://api.nimles.com/identity/api/tenant/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/Organizations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/ssoDefaultAccess"), Headers = { { "Authorization", "Bearer <token>" }, }, Content = new StringContent("{ \"groupIds\": [ \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\" ], \"roleAssignments\": [ { \"organizationId\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\", \"resourceGroupId\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\", \"roleDefinitionId\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\" } ], \"groupsApprovedAtTenant\": true, \"rolesApproved\": true }") { 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/Organizations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/ssoDefaultAccess';const options = { method: 'PUT', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"groupIds":["2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"],"roleAssignments":[{"organizationId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","resourceGroupId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","roleDefinitionId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"}],"groupsApprovedAtTenant":true,"rolesApproved":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://api.nimles.com/identity/api/tenant/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/Organizations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/ssoDefaultAccess \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "groupIds": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "roleAssignments": [ { "organizationId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "resourceGroupId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "roleDefinitionId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" } ], "groupsApprovedAtTenant": true, "rolesApproved": true }'Sets the SSO default access of an organization: the groups and roles a user gets when they first join it through its single sign-on (once per user; never again after an administrator removes them). It is granted only while the organization signs in with one Microsoft Entra ID directory.
Every role is granted in this organization: an entry without organizationId gets it, and one that
names another organization, or a resource group outside this one, is refused (422, ScopeOutsideOrganization).
The role must exist (422, UnknownRole), and the caller must be able to assign it there themselves: hold
roleAssignments/write and every action and data action of the role at its scope (403,
RoleNotDelegable). Groups are the tenant’s, so only a caller with groups/members/write and
roleAssignments/write at the tenant may name them (403, GroupsRequireTenantAdmin). At most
10 roles and 10 groups (422, TooManyEntries); duplicates are dropped.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The organization identifier.
Your tenant id.
Request Body
Section titled “Request Body”The SSO default access configuration.
object
object
Example generated
{ "groupIds": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "roleAssignments": [ { "organizationId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "resourceGroupId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "roleDefinitionId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" } ], "groupsApprovedAtTenant": true, "rolesApproved": true}Responses
Section titled “Responses”OK
object
object
object
object
object
object
object
object
object
object
object
object
object
object
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", "name": "example", "uniqueName": "example", "description": "example", "rootResourceGroupId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "memberIds": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "loginProviders": [ { "fields": { "additionalProperty": { "value": "example", "valueType": "example" } }, "accessibility": "example", "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "name": "example", "clientId": "example", "clientSecret": "example", "token": "example", "hasClientSecret": true, "hasToken": true, "scopes": [ "example" ], "requestOfflineAccess": true, "authority": "example", "type": "example", "callbackPath": "example" } ], "domains": [ { "fields": { "additionalProperty": { "value": "example", "valueType": "example" } }, "accessibility": "example", "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "value": "example" } ], "logoId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "bannerId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "ssoDefaultAccess": { "groupIds": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ], "roleAssignments": [ { "organizationId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "resourceGroupId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "roleDefinitionId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" } ], "groupsApprovedAtTenant": true, "rolesApproved": true } }}No Content: done, with no item to return.
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"}Not found: no such item in the tenant.
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"}