Change a service identity
curl --request PATCH \
--url https://api.example.com/api/registry/identities/{identity_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"description": "<string>",
"roles": [
"<string>"
],
"allowed_users": [
"<string>"
],
"allowed_roles": [
"<string>"
],
"enabled": true
}
'import requests
url = "https://api.example.com/api/registry/identities/{identity_id}"
payload = {
"description": "<string>",
"roles": ["<string>"],
"allowed_users": ["<string>"],
"allowed_roles": ["<string>"],
"enabled": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
description: '<string>',
roles: ['<string>'],
allowed_users: ['<string>'],
allowed_roles: ['<string>'],
enabled: true
})
};
fetch('https://api.example.com/api/registry/identities/{identity_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/registry/identities/{identity_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'description' => '<string>',
'roles' => [
'<string>'
],
'allowed_users' => [
'<string>'
],
'allowed_roles' => [
'<string>'
],
'enabled' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/registry/identities/{identity_id}"
payload := strings.NewReader("{\n \"description\": \"<string>\",\n \"roles\": [\n \"<string>\"\n ],\n \"allowed_users\": [\n \"<string>\"\n ],\n \"allowed_roles\": [\n \"<string>\"\n ],\n \"enabled\": true\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.example.com/api/registry/identities/{identity_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"description\": \"<string>\",\n \"roles\": [\n \"<string>\"\n ],\n \"allowed_users\": [\n \"<string>\"\n ],\n \"allowed_roles\": [\n \"<string>\"\n ],\n \"enabled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/registry/identities/{identity_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"description\": \"<string>\",\n \"roles\": [\n \"<string>\"\n ],\n \"allowed_users\": [\n \"<string>\"\n ],\n \"allowed_roles\": [\n \"<string>\"\n ],\n \"enabled\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"slug": "<string>",
"description": "<string>",
"roles": [
"<string>"
],
"allowed_users": [
"<string>"
],
"allowed_roles": [
"<string>"
],
"enabled": true,
"client_id": "<string>",
"service_account_name": "<string>",
"schedules": 123,
"can_use": true,
"created_by": "<string>",
"created_at": "<string>",
"updated_at": "<string>"
}{
"error": "<string>",
"code": 500
}{
"error": "<string>",
"code": 500
}{
"error": "<string>",
"code": 500
}{
"error": "<string>",
"code": 500
}{
"error": "<string>",
"code": 500
}Service identities
Change a service identity
Changes a service identity’s roles, who may use it, or whether it’s on.
Roles you add are checked as at creation; removing one is always allowed. Disabling it stops every schedule that runs as it.
PATCH
/
api
/
registry
/
identities
/
{identity_id}
Change a service identity
curl --request PATCH \
--url https://api.example.com/api/registry/identities/{identity_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"description": "<string>",
"roles": [
"<string>"
],
"allowed_users": [
"<string>"
],
"allowed_roles": [
"<string>"
],
"enabled": true
}
'import requests
url = "https://api.example.com/api/registry/identities/{identity_id}"
payload = {
"description": "<string>",
"roles": ["<string>"],
"allowed_users": ["<string>"],
"allowed_roles": ["<string>"],
"enabled": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
description: '<string>',
roles: ['<string>'],
allowed_users: ['<string>'],
allowed_roles: ['<string>'],
enabled: true
})
};
fetch('https://api.example.com/api/registry/identities/{identity_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/registry/identities/{identity_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'description' => '<string>',
'roles' => [
'<string>'
],
'allowed_users' => [
'<string>'
],
'allowed_roles' => [
'<string>'
],
'enabled' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/registry/identities/{identity_id}"
payload := strings.NewReader("{\n \"description\": \"<string>\",\n \"roles\": [\n \"<string>\"\n ],\n \"allowed_users\": [\n \"<string>\"\n ],\n \"allowed_roles\": [\n \"<string>\"\n ],\n \"enabled\": true\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.example.com/api/registry/identities/{identity_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"description\": \"<string>\",\n \"roles\": [\n \"<string>\"\n ],\n \"allowed_users\": [\n \"<string>\"\n ],\n \"allowed_roles\": [\n \"<string>\"\n ],\n \"enabled\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/registry/identities/{identity_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"description\": \"<string>\",\n \"roles\": [\n \"<string>\"\n ],\n \"allowed_users\": [\n \"<string>\"\n ],\n \"allowed_roles\": [\n \"<string>\"\n ],\n \"enabled\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"slug": "<string>",
"description": "<string>",
"roles": [
"<string>"
],
"allowed_users": [
"<string>"
],
"allowed_roles": [
"<string>"
],
"enabled": true,
"client_id": "<string>",
"service_account_name": "<string>",
"schedules": 123,
"can_use": true,
"created_by": "<string>",
"created_at": "<string>",
"updated_at": "<string>"
}{
"error": "<string>",
"code": 500
}{
"error": "<string>",
"code": 500
}{
"error": "<string>",
"code": 500
}{
"error": "<string>",
"code": 500
}{
"error": "<string>",
"code": 500
}Authorizations
OAuth2AuthorizationCodeBearerAPIKeyHeader
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
The service identity's ID.
Body
application/json
Change a service identity. Omitted or null fields keep their value;
send an empty list to clear allowed_users or allowed_roles.
Response
Successful Response
A service identity.
The Keycloak client.
The name its runs act as in Trino, Ranger and the AI Router.
Crew schedules set to run as it, enabled or not.
Whether you may set a schedule to run as it.
Username of the admin who made it.
ISO 8601, UTC.
ISO 8601, UTC.
Was this page helpful?

