Update a client
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/Clients/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"), Headers = { { "Authorization", "Bearer <token>" }, }, Content = new StringContent("{ \"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\", \"secrets\": [ { \"fields\": { \"additionalProperty\": { \"value\": \"example\", \"valueType\": \"example\" } }, \"accessibility\": \"example\", \"id\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\", \"value\": \"example\", \"description\": \"example\", \"expiration\": \"2026-04-15T12:00:00Z\" } ], \"replyUrls\": [ { \"fields\": { \"additionalProperty\": { \"value\": \"example\", \"valueType\": \"example\" } }, \"accessibility\": \"example\", \"id\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\", \"value\": \"https://example.com\", \"description\": \"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 } ], \"allowedGrantTypes\": [ \"example\" ], \"allowedScopes\": [ \"example\" ], \"allowOfflineAccess\": true, \"allowAccessTokensViaBrowser\": true, \"requireConsent\": true, \"requirePkce\": true, \"enabled\": true, \"postLogoutRedirectUris\": [ \"https://example.com\" ], \"allowedCorsOrigins\": [ \"example\" ], \"frontChannelLogoutUri\": \"https://example.com\", \"backChannelLogoutUri\": \"https://example.com\", \"clientUri\": \"https://example.com\", \"logoUri\": \"https://example.com\", \"iconUri\": \"https://example.com\", \"accentColor\": \"example\", \"accessTokenLifetime\": 1, \"identityTokenLifetime\": 1, \"absoluteRefreshTokenLifetime\": 1, \"uniqueName\": \"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/Clients/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';const options = { method: 'PUT', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"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","secrets":[{"fields":{"additionalProperty":{"value":"example","valueType":"example"}},"accessibility":"example","id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","value":"example","description":"example","expiration":"2026-04-15T12:00:00Z"}],"replyUrls":[{"fields":{"additionalProperty":{"value":"example","valueType":"example"}},"accessibility":"example","id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","value":"https://example.com","description":"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}],"allowedGrantTypes":["example"],"allowedScopes":["example"],"allowOfflineAccess":true,"allowAccessTokensViaBrowser":true,"requireConsent":true,"requirePkce":true,"enabled":true,"postLogoutRedirectUris":["https://example.com"],"allowedCorsOrigins":["example"],"frontChannelLogoutUri":"https://example.com","backChannelLogoutUri":"https://example.com","clientUri":"https://example.com","logoUri":"https://example.com","iconUri":"https://example.com","accentColor":"example","accessTokenLifetime":1,"identityTokenLifetime":1,"absoluteRefreshTokenLifetime":1,"uniqueName":"example"}'};
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/Clients/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --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", "secrets": [ { "fields": { "additionalProperty": { "value": "example", "valueType": "example" } }, "accessibility": "example", "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "value": "example", "description": "example", "expiration": "2026-04-15T12:00:00Z" } ], "replyUrls": [ { "fields": { "additionalProperty": { "value": "example", "valueType": "example" } }, "accessibility": "example", "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "value": "https://example.com", "description": "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 } ], "allowedGrantTypes": [ "example" ], "allowedScopes": [ "example" ], "allowOfflineAccess": true, "allowAccessTokensViaBrowser": true, "requireConsent": true, "requirePkce": true, "enabled": true, "postLogoutRedirectUris": [ "https://example.com" ], "allowedCorsOrigins": [ "example" ], "frontChannelLogoutUri": "https://example.com", "backChannelLogoutUri": "https://example.com", "clientUri": "https://example.com", "logoUri": "https://example.com", "iconUri": "https://example.com", "accentColor": "example", "accessTokenLifetime": 1, "identityTokenLifetime": 1, "absoluteRefreshTokenLifetime": 1, "uniqueName": "example" }'Updates an existing client. Responses never carry a secret’s value: a secret sent without one keeps the
client’s secret with its id (its description and expiration are the request’s when given,
else kept), and one whose id the client does not have needs a value (422). A value that is one of the
stored hashes is kept; any other BCrypt hash ($2…) is refused (422), so the hash of a revoked secret
never becomes a secret; other values are new plaintext secrets and are hashed. Secrets, reply URLs and login
providers keep their accessibility, and a client
or item without fields keeps its fields. Responses never carry a login provider’s clientSecret or
token; one sent back empty keeps the stored value, and a login provider that changes its name or
clientId must send its clientSecret again (422 otherwise).
Only a platform administrator can save a client with the nimles.owner scope (422 otherwise). The model
does not carry the custom sign-in domain, so the client keeps its own: only the platform seeds set one
(SaveClient.MaySetCustomDomain), and never one that a client of another tenant holds.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”A unique identifier for the client.
Your tenant id.
Request Body
Section titled “Request Body”The client data.
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
Example generated
{ "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", "secrets": [ { "fields": { "additionalProperty": { "value": "example", "valueType": "example" } }, "accessibility": "example", "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "value": "example", "description": "example", "expiration": "2026-04-15T12:00:00Z" } ], "replyUrls": [ { "fields": { "additionalProperty": { "value": "example", "valueType": "example" } }, "accessibility": "example", "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "value": "https://example.com", "description": "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 } ], "allowedGrantTypes": [ "example" ], "allowedScopes": [ "example" ], "allowOfflineAccess": true, "allowAccessTokensViaBrowser": true, "requireConsent": true, "requirePkce": true, "enabled": true, "postLogoutRedirectUris": [ "https://example.com" ], "allowedCorsOrigins": [ "example" ], "frontChannelLogoutUri": "https://example.com", "backChannelLogoutUri": "https://example.com", "clientUri": "https://example.com", "logoUri": "https://example.com", "iconUri": "https://example.com", "accentColor": "example", "accessTokenLifetime": 1, "identityTokenLifetime": 1, "absoluteRefreshTokenLifetime": 1, "uniqueName": "example"}Responses
Section titled “Responses”OK
object
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", "description": "example", "secrets": [ { "fields": { "additionalProperty": { "value": "example", "valueType": "example" } }, "accessibility": "example", "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "value": "example", "description": "example", "expiration": "2026-04-15T12:00:00Z" } ], "replyUrls": [ { "fields": { "additionalProperty": { "value": "example", "valueType": "example" } }, "accessibility": "example", "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "value": "https://example.com", "description": "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 } ], "allowedGrantTypes": [ "example" ], "allowedScopes": [ "example" ], "allowOfflineAccess": true, "allowAccessTokensViaBrowser": true, "requireConsent": true, "requirePkce": true, "enabled": true, "postLogoutRedirectUris": [ "https://example.com" ], "allowedCorsOrigins": [ "example" ], "frontChannelLogoutUri": "https://example.com", "backChannelLogoutUri": "https://example.com", "clientUri": "https://example.com", "logoUri": "https://example.com", "iconUri": "https://example.com", "accentColor": "example", "accessTokenLifetime": 1, "identityTokenLifetime": 1, "absoluteRefreshTokenLifetime": 1, "uniqueName": "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.
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"}