Say which roles may make a move, replacing whatever was there.
curl --request POST \
--url https://app.assetinfinity.ai/api/rpc/set_transition_roles \
--header 'Content-Type: application/json' \
--data '
{
"p_transition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_role_ids": [
"<string>"
]
}
'import requests
url = "https://app.assetinfinity.ai/api/rpc/set_transition_roles"
payload = {
"p_transition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_role_ids": ["<string>"]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
p_transition_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
p_role_ids: ['<string>']
})
};
fetch('https://app.assetinfinity.ai/api/rpc/set_transition_roles', 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://app.assetinfinity.ai/api/rpc/set_transition_roles",
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([
'p_transition_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'p_role_ids' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"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://app.assetinfinity.ai/api/rpc/set_transition_roles"
payload := strings.NewReader("{\n \"p_transition_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_role_ids\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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://app.assetinfinity.ai/api/rpc/set_transition_roles")
.header("Content-Type", "application/json")
.body("{\n \"p_transition_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_role_ids\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.assetinfinity.ai/api/rpc/set_transition_roles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"p_transition_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_role_ids\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_bodyStatuses and transitions
Say which roles may make a move, replacing whatever was there.
Naming roles is what decides the move from then on: the transition’s permission code is no longer consulted. Naming none puts it back on the permission code, and an edge with neither may be moved by anybody who may edit the record.
POST
/
rpc
/
set_transition_roles
Say which roles may make a move, replacing whatever was there.
curl --request POST \
--url https://app.assetinfinity.ai/api/rpc/set_transition_roles \
--header 'Content-Type: application/json' \
--data '
{
"p_transition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_role_ids": [
"<string>"
]
}
'import requests
url = "https://app.assetinfinity.ai/api/rpc/set_transition_roles"
payload = {
"p_transition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"p_role_ids": ["<string>"]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
p_transition_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
p_role_ids: ['<string>']
})
};
fetch('https://app.assetinfinity.ai/api/rpc/set_transition_roles', 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://app.assetinfinity.ai/api/rpc/set_transition_roles",
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([
'p_transition_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'p_role_ids' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"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://app.assetinfinity.ai/api/rpc/set_transition_roles"
payload := strings.NewReader("{\n \"p_transition_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_role_ids\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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://app.assetinfinity.ai/api/rpc/set_transition_roles")
.header("Content-Type", "application/json")
.body("{\n \"p_transition_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_role_ids\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.assetinfinity.ai/api/rpc/set_transition_roles")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"p_transition_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"p_role_ids\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_bodyHeaders
Preference
Available options:
params=single-object Body
application/jsonapplication/vnd.pgrst.object+jsonapplication/vnd.pgrst.object+json;nulls=strippedtext/csv
Say which roles may make a move, replacing whatever was there.
Naming roles is what decides the move from then on: the transition's permission code is no longer consulted. Naming none puts it back on the permission code, and an edge with neither may be moved by anybody who may edit the record.
Response
200
OK
⌘I

