Skip to content

Patch a tenant

PATCH
/api/tenant/{tenantId}/Tenants/{id}
curl --request PATCH \
--url https://api.nimles.com/identity/api/tenant/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/Tenants/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '[ { "op": "example", "path": "example", "from": "example", "value": "example" } ]'

Patches an existing tenant with JSON Patch (RFC 6902) operations. The members the PUT changes can be patched, except loginProviders (use the PUT). A uniqueName that is removed or set to null or empty is derived from the name, like the PUT does. The accessibility and fields of domains are kept as they are: a domain may carry them back unchanged, but changing them is rejected (422). No endpoint changes their accessibility (the PUT keeps it); use the PUT to change their fields.

A tenant owner can patch only the tenant the request is made in (403 otherwise), and a patch of theirs that changes a platform-owned setting (hostName, identityDomain, domains, defaultClientId, allowedOrigins, uniqueName) is rejected (422). A platform administrator can patch any tenant.

id
required
string format: uuid

A unique identifier for the tenant.

tenantId
required
string format: uuid

Your tenant id.

The operations, applied in order; all or none are applied.

Media typeapplication/json
Array<object>
object
op
required
string
>= 1 characters /^(add|remove|replace|move|copy|test)$/
path
required
string
>= 1 characters
from
string
nullable
value
nullable

Example generated

[
{
"op": "example",
"path": "example",
"from": "example",
"value": "example"
}
]

OK

Media typeapplication/json
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
nullable
description
string
nullable
email
string
nullable
logoId
string format: uuid
nullable
bannerId
string format: uuid
nullable
hostName
string
nullable
identityDomain
string
nullable
address
object
coAddress
string
nullable
state
string
nullable
country
string
nullable
name
string
nullable
firstName
string
nullable
lastName
string
nullable
street
string
nullable
postalCode
string
nullable
city
string
nullable
uniqueName
string
nullable
defaultClientId
string format: uuid
nullable
defaultResourceGroupId
string format: uuid
nullable
domains
Array<object>
nullable
object
fields
object
key
additional properties
object
value
required
nullable
valueType
string
nullable
accessibility
string
nullable
id
string format: uuid
value
required
string
nullable
loginProviders
Array<object>
nullable
object
fields
object
key
additional properties
object
value
required
nullable
valueType
string
nullable
accessibility
string
nullable
id
string format: uuid
name
required
string
nullable
clientId
required
string
nullable
clientSecret
required
string
nullable
token
required
string
nullable
hasClientSecret
boolean
hasToken
boolean
scopes
Array<string>
nullable
requestOfflineAccess
boolean
authority
string
nullable
type
string
nullable
callbackPath
string
nullable
languages
Array<string>
nullable
allowedOrigins
Array<string>
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",
"email": "example",
"logoId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"bannerId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"hostName": "example",
"identityDomain": "example",
"address": {
"coAddress": "example",
"state": "example",
"country": "example",
"name": "example",
"firstName": "example",
"lastName": "example",
"street": "example",
"postalCode": "example",
"city": "example"
},
"uniqueName": "example",
"defaultClientId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"defaultResourceGroupId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"domains": [
{
"fields": {
"additionalProperty": {
"value": "example",
"valueType": "example"
}
},
"accessibility": "example",
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"value": "example"
}
],
"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"
}
],
"languages": [
"example"
],
"allowedOrigins": [
"example"
]
}
}

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.

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"
}

Not found: no such item in the tenant.

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"
}

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"
}