Update App Resource Role
Update an existing app resource role.
curl --request PUT \
--url https://public.api.serval.com/v2/app-resource-roles/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"requestsEnabled": true,
"accessPolicyId": "<string>",
"provisioningMethod": {
"builtinWorkflow": {}
},
"externalId": "<string>",
"externalData": "<string>",
"requireFormConfirmation": true,
"owners": {
"owners": [
{
"targetId": "<string>"
}
]
}
}
'import requests
url = "https://public.api.serval.com/v2/app-resource-roles/{id}"
payload = {
"name": "<string>",
"description": "<string>",
"requestsEnabled": True,
"accessPolicyId": "<string>",
"provisioningMethod": { "builtinWorkflow": {} },
"externalId": "<string>",
"externalData": "<string>",
"requireFormConfirmation": True,
"owners": { "owners": [{ "targetId": "<string>" }] }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
requestsEnabled: true,
accessPolicyId: '<string>',
provisioningMethod: {builtinWorkflow: {}},
externalId: '<string>',
externalData: '<string>',
requireFormConfirmation: true,
owners: {owners: [{targetId: '<string>'}]}
})
};
fetch('https://public.api.serval.com/v2/app-resource-roles/{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://public.api.serval.com/v2/app-resource-roles/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '<string>',
'requestsEnabled' => true,
'accessPolicyId' => '<string>',
'provisioningMethod' => [
'builtinWorkflow' => [
]
],
'externalId' => '<string>',
'externalData' => '<string>',
'requireFormConfirmation' => true,
'owners' => [
'owners' => [
[
'targetId' => '<string>'
]
]
]
]),
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://public.api.serval.com/v2/app-resource-roles/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"requestsEnabled\": true,\n \"accessPolicyId\": \"<string>\",\n \"provisioningMethod\": {\n \"builtinWorkflow\": {}\n },\n \"externalId\": \"<string>\",\n \"externalData\": \"<string>\",\n \"requireFormConfirmation\": true,\n \"owners\": {\n \"owners\": [\n {\n \"targetId\": \"<string>\"\n }\n ]\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://public.api.serval.com/v2/app-resource-roles/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"requestsEnabled\": true,\n \"accessPolicyId\": \"<string>\",\n \"provisioningMethod\": {\n \"builtinWorkflow\": {}\n },\n \"externalId\": \"<string>\",\n \"externalData\": \"<string>\",\n \"requireFormConfirmation\": true,\n \"owners\": {\n \"owners\": [\n {\n \"targetId\": \"<string>\"\n }\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://public.api.serval.com/v2/app-resource-roles/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"requestsEnabled\": true,\n \"accessPolicyId\": \"<string>\",\n \"provisioningMethod\": {\n \"builtinWorkflow\": {}\n },\n \"externalId\": \"<string>\",\n \"externalData\": \"<string>\",\n \"requireFormConfirmation\": true,\n \"owners\": {\n \"owners\": [\n {\n \"targetId\": \"<string>\"\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"resourceId": "<string>",
"name": "<string>",
"description": "<string>",
"requestsEnabled": true,
"accessPolicyId": "<string>",
"provisioningMethod": {
"builtinWorkflow": {}
},
"externalId": "<string>",
"externalData": "<string>",
"requireFormConfirmation": true,
"tagIds": [
"<string>"
]
}
}{
"message": "<string>",
"detail": {
"type": "<string>",
"value": "<string>",
"debug": {}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The ID of the role.
Body
The name of the role. Omit to leave unchanged.
A description of the role. Omit to leave unchanged.
Whether requests are enabled for the role. Omit to leave unchanged.
The default access policy for the role (optional).
Provisioning configuration. Exactly one method should be set.
- Builtin Workflow
- Custom Workflow
- Linked Roles
- Manual
Show child attributes
Show child attributes
The external ID of the role in the external system (optional).
Data from the external system as a JSON string (optional).
Replaces the role's whole owner set when present (an empty set removes all owners). Omit to leave owners unchanged.
Show child attributes
Show child attributes
Response
Success
The updated role.
Show child attributes
Show child attributes
Was this page helpful?
curl --request PUT \
--url https://public.api.serval.com/v2/app-resource-roles/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"requestsEnabled": true,
"accessPolicyId": "<string>",
"provisioningMethod": {
"builtinWorkflow": {}
},
"externalId": "<string>",
"externalData": "<string>",
"requireFormConfirmation": true,
"owners": {
"owners": [
{
"targetId": "<string>"
}
]
}
}
'import requests
url = "https://public.api.serval.com/v2/app-resource-roles/{id}"
payload = {
"name": "<string>",
"description": "<string>",
"requestsEnabled": True,
"accessPolicyId": "<string>",
"provisioningMethod": { "builtinWorkflow": {} },
"externalId": "<string>",
"externalData": "<string>",
"requireFormConfirmation": True,
"owners": { "owners": [{ "targetId": "<string>" }] }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
requestsEnabled: true,
accessPolicyId: '<string>',
provisioningMethod: {builtinWorkflow: {}},
externalId: '<string>',
externalData: '<string>',
requireFormConfirmation: true,
owners: {owners: [{targetId: '<string>'}]}
})
};
fetch('https://public.api.serval.com/v2/app-resource-roles/{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://public.api.serval.com/v2/app-resource-roles/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '<string>',
'requestsEnabled' => true,
'accessPolicyId' => '<string>',
'provisioningMethod' => [
'builtinWorkflow' => [
]
],
'externalId' => '<string>',
'externalData' => '<string>',
'requireFormConfirmation' => true,
'owners' => [
'owners' => [
[
'targetId' => '<string>'
]
]
]
]),
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://public.api.serval.com/v2/app-resource-roles/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"requestsEnabled\": true,\n \"accessPolicyId\": \"<string>\",\n \"provisioningMethod\": {\n \"builtinWorkflow\": {}\n },\n \"externalId\": \"<string>\",\n \"externalData\": \"<string>\",\n \"requireFormConfirmation\": true,\n \"owners\": {\n \"owners\": [\n {\n \"targetId\": \"<string>\"\n }\n ]\n }\n}")
req, _ := http.NewRequest("PUT", 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.put("https://public.api.serval.com/v2/app-resource-roles/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"requestsEnabled\": true,\n \"accessPolicyId\": \"<string>\",\n \"provisioningMethod\": {\n \"builtinWorkflow\": {}\n },\n \"externalId\": \"<string>\",\n \"externalData\": \"<string>\",\n \"requireFormConfirmation\": true,\n \"owners\": {\n \"owners\": [\n {\n \"targetId\": \"<string>\"\n }\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://public.api.serval.com/v2/app-resource-roles/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"requestsEnabled\": true,\n \"accessPolicyId\": \"<string>\",\n \"provisioningMethod\": {\n \"builtinWorkflow\": {}\n },\n \"externalId\": \"<string>\",\n \"externalData\": \"<string>\",\n \"requireFormConfirmation\": true,\n \"owners\": {\n \"owners\": [\n {\n \"targetId\": \"<string>\"\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"resourceId": "<string>",
"name": "<string>",
"description": "<string>",
"requestsEnabled": true,
"accessPolicyId": "<string>",
"provisioningMethod": {
"builtinWorkflow": {}
},
"externalId": "<string>",
"externalData": "<string>",
"requireFormConfirmation": true,
"tagIds": [
"<string>"
]
}
}{
"message": "<string>",
"detail": {
"type": "<string>",
"value": "<string>",
"debug": {}
}
}
