Update an App Access Role
Update a Role. The application cannot be changed. Passing provisioning_actions or deprovisioning_actions replaces the whole list.
curl --request PUT \
--url https://api.siit.io/v1/app_access/roles/{uid} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"application": "<string>",
"approval_policy": "<string>",
"approval_mode": "approval_policy",
"business_reason_required": true,
"is_restricted_to_audience": true,
"audience": {
"matchers": [
{
"values": [
"<string>"
]
}
]
},
"duration": "none",
"max_duration_minutes": 123,
"provisioning_actions": [
{}
],
"deprovisioning_actions": [
{}
]
}
'import requests
url = "https://api.siit.io/v1/app_access/roles/{uid}"
payload = {
"name": "<string>",
"application": "<string>",
"approval_policy": "<string>",
"approval_mode": "approval_policy",
"business_reason_required": True,
"is_restricted_to_audience": True,
"audience": { "matchers": [{ "values": ["<string>"] }] },
"duration": "none",
"max_duration_minutes": 123,
"provisioning_actions": [{}],
"deprovisioning_actions": [{}]
}
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>',
application: '<string>',
approval_policy: '<string>',
approval_mode: 'approval_policy',
business_reason_required: true,
is_restricted_to_audience: true,
audience: {matchers: [{values: ['<string>']}]},
duration: 'none',
max_duration_minutes: 123,
provisioning_actions: [{}],
deprovisioning_actions: [{}]
})
};
fetch('https://api.siit.io/v1/app_access/roles/{uid}', 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.siit.io/v1/app_access/roles/{uid}",
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>',
'application' => '<string>',
'approval_policy' => '<string>',
'approval_mode' => 'approval_policy',
'business_reason_required' => true,
'is_restricted_to_audience' => true,
'audience' => [
'matchers' => [
[
'values' => [
'<string>'
]
]
]
],
'duration' => 'none',
'max_duration_minutes' => 123,
'provisioning_actions' => [
[
]
],
'deprovisioning_actions' => [
[
]
]
]),
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.siit.io/v1/app_access/roles/{uid}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"application\": \"<string>\",\n \"approval_policy\": \"<string>\",\n \"approval_mode\": \"approval_policy\",\n \"business_reason_required\": true,\n \"is_restricted_to_audience\": true,\n \"audience\": {\n \"matchers\": [\n {\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n },\n \"duration\": \"none\",\n \"max_duration_minutes\": 123,\n \"provisioning_actions\": [\n {}\n ],\n \"deprovisioning_actions\": [\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://api.siit.io/v1/app_access/roles/{uid}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"application\": \"<string>\",\n \"approval_policy\": \"<string>\",\n \"approval_mode\": \"approval_policy\",\n \"business_reason_required\": true,\n \"is_restricted_to_audience\": true,\n \"audience\": {\n \"matchers\": [\n {\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n },\n \"duration\": \"none\",\n \"max_duration_minutes\": 123,\n \"provisioning_actions\": [\n {}\n ],\n \"deprovisioning_actions\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.siit.io/v1/app_access/roles/{uid}")
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 \"application\": \"<string>\",\n \"approval_policy\": \"<string>\",\n \"approval_mode\": \"approval_policy\",\n \"business_reason_required\": true,\n \"is_restricted_to_audience\": true,\n \"audience\": {\n \"matchers\": [\n {\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n },\n \"duration\": \"none\",\n \"max_duration_minutes\": 123,\n \"provisioning_actions\": [\n {}\n ],\n \"deprovisioning_actions\": [\n {}\n ]\n}"
response = http.request(request)
puts response.read_body{
"result": {
"uid": "<string>",
"name": "<string>",
"application": "<string>",
"approval_policy": "<string>",
"approval_mode": "approval_policy",
"business_reason_required": true,
"is_restricted_to_audience": true,
"audience": {
"matchers": [
{
"data_point": "contract_type",
"comparator": "=",
"values": [
"<string>"
]
}
]
},
"duration": "fixed",
"max_duration_minutes": 123,
"max_duration_unit": "days",
"provisioning_actions": [
{}
],
"deprovisioning_actions": [
{}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
}{
"error": "<string>",
"troubleshoot": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The UID of the App Access Role
Body
Request body for creating or updating an App Access Role. Pass UIDs (not objects) for relationship fields.
The application this Role grants access to. Required on create, immutable afterwards. Pass the UID of the related object.
The approval policy used when approval_mode is approval_policy. Defaults to the company default policy. Pass the UID of the related object.
approval_policy, auto_approve, auto_reject, skip_approval People who can see the record when is_restricted_to_audience is true. A person matches when every matcher matches. Without a status matcher, status = employee is added. Writing it replaces all the matchers.
Show child attributes
Show child attributes
fixed, none, optional, required, required_and_limited Required when duration is required_and_limited or fixed
days, hours, minutes, months, weeks Replaces the actions run when access is granted: a single action, or an automated action followed by one manual action. At least one is required. Validate against GET /v1/app_access/roles/provisioning_actions_schema.
Replaces the actions run when access is revoked: none, a single action, or an automated action followed by one manual action. Validate against GET /v1/app_access/roles/provisioning_actions_schema.
Response
Successful
Show child attributes
Show child attributes
curl --request PUT \
--url https://api.siit.io/v1/app_access/roles/{uid} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"application": "<string>",
"approval_policy": "<string>",
"approval_mode": "approval_policy",
"business_reason_required": true,
"is_restricted_to_audience": true,
"audience": {
"matchers": [
{
"values": [
"<string>"
]
}
]
},
"duration": "none",
"max_duration_minutes": 123,
"provisioning_actions": [
{}
],
"deprovisioning_actions": [
{}
]
}
'import requests
url = "https://api.siit.io/v1/app_access/roles/{uid}"
payload = {
"name": "<string>",
"application": "<string>",
"approval_policy": "<string>",
"approval_mode": "approval_policy",
"business_reason_required": True,
"is_restricted_to_audience": True,
"audience": { "matchers": [{ "values": ["<string>"] }] },
"duration": "none",
"max_duration_minutes": 123,
"provisioning_actions": [{}],
"deprovisioning_actions": [{}]
}
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>',
application: '<string>',
approval_policy: '<string>',
approval_mode: 'approval_policy',
business_reason_required: true,
is_restricted_to_audience: true,
audience: {matchers: [{values: ['<string>']}]},
duration: 'none',
max_duration_minutes: 123,
provisioning_actions: [{}],
deprovisioning_actions: [{}]
})
};
fetch('https://api.siit.io/v1/app_access/roles/{uid}', 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.siit.io/v1/app_access/roles/{uid}",
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>',
'application' => '<string>',
'approval_policy' => '<string>',
'approval_mode' => 'approval_policy',
'business_reason_required' => true,
'is_restricted_to_audience' => true,
'audience' => [
'matchers' => [
[
'values' => [
'<string>'
]
]
]
],
'duration' => 'none',
'max_duration_minutes' => 123,
'provisioning_actions' => [
[
]
],
'deprovisioning_actions' => [
[
]
]
]),
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.siit.io/v1/app_access/roles/{uid}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"application\": \"<string>\",\n \"approval_policy\": \"<string>\",\n \"approval_mode\": \"approval_policy\",\n \"business_reason_required\": true,\n \"is_restricted_to_audience\": true,\n \"audience\": {\n \"matchers\": [\n {\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n },\n \"duration\": \"none\",\n \"max_duration_minutes\": 123,\n \"provisioning_actions\": [\n {}\n ],\n \"deprovisioning_actions\": [\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://api.siit.io/v1/app_access/roles/{uid}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"application\": \"<string>\",\n \"approval_policy\": \"<string>\",\n \"approval_mode\": \"approval_policy\",\n \"business_reason_required\": true,\n \"is_restricted_to_audience\": true,\n \"audience\": {\n \"matchers\": [\n {\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n },\n \"duration\": \"none\",\n \"max_duration_minutes\": 123,\n \"provisioning_actions\": [\n {}\n ],\n \"deprovisioning_actions\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.siit.io/v1/app_access/roles/{uid}")
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 \"application\": \"<string>\",\n \"approval_policy\": \"<string>\",\n \"approval_mode\": \"approval_policy\",\n \"business_reason_required\": true,\n \"is_restricted_to_audience\": true,\n \"audience\": {\n \"matchers\": [\n {\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n },\n \"duration\": \"none\",\n \"max_duration_minutes\": 123,\n \"provisioning_actions\": [\n {}\n ],\n \"deprovisioning_actions\": [\n {}\n ]\n}"
response = http.request(request)
puts response.read_body{
"result": {
"uid": "<string>",
"name": "<string>",
"application": "<string>",
"approval_policy": "<string>",
"approval_mode": "approval_policy",
"business_reason_required": true,
"is_restricted_to_audience": true,
"audience": {
"matchers": [
{
"data_point": "contract_type",
"comparator": "=",
"values": [
"<string>"
]
}
]
},
"duration": "fixed",
"max_duration_minutes": 123,
"max_duration_unit": "days",
"provisioning_actions": [
{}
],
"deprovisioning_actions": [
{}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
}{
"error": "<string>",
"troubleshoot": "<string>"
}
