Skip to content

Create a resource group

POST
/api/tenant/{tenantId}/ResourceGroups
curl --request POST \
--url https://api.nimles.com/identity/api/tenant/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/ResourceGroups \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "fields": { "additionalProperty": { "value": "example", "valueType": "example" } }, "accessibility": "example", "name": "example", "description": "example", "parentId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "organizationId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }'

Creates a new resource group. Root-level resource groups (no parent, no organization) can be created by any user of the tenant, enabling self-service workspace provisioning without prior role assignments, or by a caller with resource group write access in the tenant (a service client). The APIs accept tokens from every tenant, so anyone else would otherwise fill other tenants with groups. Child resource groups require the caller to have write permission.

tenantId
required
string format: uuid

Your tenant id.

The resource group data.

Media typeapplication/json
object
fields
object
key
additional properties
object
value
required
nullable
valueType
string
nullable
accessibility
string
nullable
name
required
string
>= 1 characters
description
string
nullable
parentId
string format: uuid
nullable
organizationId
string format: uuid
nullable

Example generated

{
"fields": {
"additionalProperty": {
"value": "example",
"valueType": "example"
}
},
"accessibility": "example",
"name": "example",
"description": "example",
"parentId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"organizationId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
}

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.

Media typeapplication/json
One of:
object
fields
object
key
additional properties
string
data
object
fields
object
key
additional properties
object
value
required
nullable
valueType
string
nullable
accessibility
string
nullable
id
string format: uuid
relations
Array<object>
nullable
object
fields
object
key
additional properties
object
value
required
nullable
valueType
string
nullable
accessibility
string
nullable
id
string format: uuid
name
string
nullable
entityId
required
string format: uuid
entityType
required
string
>= 1 characters
relationType
required
string
>= 1 characters
tenantId
string format: uuid
nullable
resourceGroupId
string format: uuid
nullable
creatorId
string format: uuid
nullable
createdDate
string format: date-time
nullable
version
integer format: int32
nullable
lastModified
string format: date-time
nullable
name
required
string
>= 1 characters
description
string
nullable
parentId
string format: uuid
nullable
organizationId
string format: uuid
nullable

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",
"description": "example",
"parentId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"organizationId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"
}
}
Location
string

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.

Media typeapplication/json

An RFC 9457 problem.

object
detail
string
nullable
instance
string
nullable
status
integer format: int32
nullable
title
string
nullable
type
string
nullable
key
additional properties

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.

Media typeapplication/problem+json

An RFC 9457 problem.

object
detail
string
nullable
instance
string
nullable
status
integer format: int32
nullable
title
string
nullable
type
string
nullable
key
additional properties

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.

Media typeapplication/problem+json

A validation problem: the messages by member (or by JSON Pointer for a patch).

object
errors
object
key
additional properties
Array<string>
status
integer format: int32
nullable
title
string
nullable
type
string
nullable
key
additional properties

Example generated

{
"errors": {
"additionalProperty": [
"example"
]
},
"status": 1,
"title": "example",
"type": "example"
}