App Resource Role API
Search App Resource Roles
Search app resource roles by role or parent-resource text, optionally filtered by team, app instance, or resource IDs.
POST
/
v2
/
app-resource-roles
/
search
Search App Resource Roles
curl --request POST \
--url https://public.api.serval.com/v2/app-resource-roles/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"teamId": "<string>",
"appInstanceIds": [
"<string>"
],
"resourceIds": [
"<string>"
],
"pageSize": 123,
"pageToken": "<string>",
"query": "<string>"
}
'import requests
url = "https://public.api.serval.com/v2/app-resource-roles/search"
payload = {
"teamId": "<string>",
"appInstanceIds": ["<string>"],
"resourceIds": ["<string>"],
"pageSize": 123,
"pageToken": "<string>",
"query": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
teamId: '<string>',
appInstanceIds: ['<string>'],
resourceIds: ['<string>'],
pageSize: 123,
pageToken: '<string>',
query: '<string>'
})
};
fetch('https://public.api.serval.com/v2/app-resource-roles/search', 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/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'teamId' => '<string>',
'appInstanceIds' => [
'<string>'
],
'resourceIds' => [
'<string>'
],
'pageSize' => 123,
'pageToken' => '<string>',
'query' => '<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/search"
payload := strings.NewReader("{\n \"teamId\": \"<string>\",\n \"appInstanceIds\": [\n \"<string>\"\n ],\n \"resourceIds\": [\n \"<string>\"\n ],\n \"pageSize\": 123,\n \"pageToken\": \"<string>\",\n \"query\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://public.api.serval.com/v2/app-resource-roles/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"teamId\": \"<string>\",\n \"appInstanceIds\": [\n \"<string>\"\n ],\n \"resourceIds\": [\n \"<string>\"\n ],\n \"pageSize\": 123,\n \"pageToken\": \"<string>\",\n \"query\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://public.api.serval.com/v2/app-resource-roles/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"teamId\": \"<string>\",\n \"appInstanceIds\": [\n \"<string>\"\n ],\n \"resourceIds\": [\n \"<string>\"\n ],\n \"pageSize\": 123,\n \"pageToken\": \"<string>\",\n \"query\": \"<string>\"\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>"
],
"isIngested": true,
"scopedId": "<string>"
}
],
"nextPageToken": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Filter by team ID. Required if app_instance_ids is not provided.
Filter by app instance IDs.
Filter by resource IDs.
Maximum number of results to return. With query, the default is 50 and the maximum is 200. Without query, the default and maximum are 10000.
Token for pagination. Leave empty for the first request.
Case-insensitive substring search over role and parent-resource names, descriptions, and external IDs. Maximum 256 characters.
Was this page helpful?
⌘I
Search App Resource Roles
curl --request POST \
--url https://public.api.serval.com/v2/app-resource-roles/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"teamId": "<string>",
"appInstanceIds": [
"<string>"
],
"resourceIds": [
"<string>"
],
"pageSize": 123,
"pageToken": "<string>",
"query": "<string>"
}
'import requests
url = "https://public.api.serval.com/v2/app-resource-roles/search"
payload = {
"teamId": "<string>",
"appInstanceIds": ["<string>"],
"resourceIds": ["<string>"],
"pageSize": 123,
"pageToken": "<string>",
"query": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
teamId: '<string>',
appInstanceIds: ['<string>'],
resourceIds: ['<string>'],
pageSize: 123,
pageToken: '<string>',
query: '<string>'
})
};
fetch('https://public.api.serval.com/v2/app-resource-roles/search', 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/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'teamId' => '<string>',
'appInstanceIds' => [
'<string>'
],
'resourceIds' => [
'<string>'
],
'pageSize' => 123,
'pageToken' => '<string>',
'query' => '<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/search"
payload := strings.NewReader("{\n \"teamId\": \"<string>\",\n \"appInstanceIds\": [\n \"<string>\"\n ],\n \"resourceIds\": [\n \"<string>\"\n ],\n \"pageSize\": 123,\n \"pageToken\": \"<string>\",\n \"query\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", 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.post("https://public.api.serval.com/v2/app-resource-roles/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"teamId\": \"<string>\",\n \"appInstanceIds\": [\n \"<string>\"\n ],\n \"resourceIds\": [\n \"<string>\"\n ],\n \"pageSize\": 123,\n \"pageToken\": \"<string>\",\n \"query\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://public.api.serval.com/v2/app-resource-roles/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"teamId\": \"<string>\",\n \"appInstanceIds\": [\n \"<string>\"\n ],\n \"resourceIds\": [\n \"<string>\"\n ],\n \"pageSize\": 123,\n \"pageToken\": \"<string>\",\n \"query\": \"<string>\"\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>"
],
"isIngested": true,
"scopedId": "<string>"
}
],
"nextPageToken": "<string>"
}
