Assign to an account
curl --request PUT \
--url https://devx.{environment}.oleria.io/v1/roles/{id}/assignees/{accountId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://devx.{environment}.oleria.io/v1/roles/{id}/assignees/{accountId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.put(url, headers=headers)
print(response.text)const options = {method: 'PUT', headers: {Authorization: 'Bearer <token>'}};
fetch('https://devx.{environment}.oleria.io/v1/roles/{id}/assignees/{accountId}', 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://devx.{environment}.oleria.io/v1/roles/{id}/assignees/{accountId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://devx.{environment}.oleria.io/v1/roles/{id}/assignees/{accountId}"
req, _ := http.NewRequest("PUT", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://devx.{environment}.oleria.io/v1/roles/{id}/assignees/{accountId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://devx.{environment}.oleria.io/v1/roles/{id}/assignees/{accountId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"jobId": "9f2b1c7e-5a84-4d6b-9c31-0e7f8a2d4b16",
"self": "/v1/action-jobs/9f2b1c7e-5a84-4d6b-9c31-0e7f8a2d4b16"
}{
"code": "BAD_REQUEST",
"message": "The request was malformed."
}{
"code": "UNAUTHORIZED",
"message": "Missing or invalid authentication token."
}{
"code": "FORBIDDEN",
"message": "The token lacks the required scope."
}{
"code": "NOT_FOUND",
"message": "No resource with the given id."
}{
"code": "TOO_MANY_REQUESTS",
"message": "Rate limit exceeded. Retry after the specified interval."
}{
"code": "INTERNAL_ERROR",
"message": "An unexpected error occurred."
}Roles
Assign to an account
Assigns the role to the account, granting the permissions the role carries. Already holding the role is not an error. The change is applied in the source system asynchronously: this returns a job, and the job reports the outcome, including whether the target could be changed at all. Requires the https://devx.{environment}.oleria.io/write scope.
PUT
/
v1
/
roles
/
{id}
/
assignees
/
{accountId}
Assign to an account
curl --request PUT \
--url https://devx.{environment}.oleria.io/v1/roles/{id}/assignees/{accountId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://devx.{environment}.oleria.io/v1/roles/{id}/assignees/{accountId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.put(url, headers=headers)
print(response.text)const options = {method: 'PUT', headers: {Authorization: 'Bearer <token>'}};
fetch('https://devx.{environment}.oleria.io/v1/roles/{id}/assignees/{accountId}', 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://devx.{environment}.oleria.io/v1/roles/{id}/assignees/{accountId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://devx.{environment}.oleria.io/v1/roles/{id}/assignees/{accountId}"
req, _ := http.NewRequest("PUT", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://devx.{environment}.oleria.io/v1/roles/{id}/assignees/{accountId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://devx.{environment}.oleria.io/v1/roles/{id}/assignees/{accountId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"jobId": "9f2b1c7e-5a84-4d6b-9c31-0e7f8a2d4b16",
"self": "/v1/action-jobs/9f2b1c7e-5a84-4d6b-9c31-0e7f8a2d4b16"
}{
"code": "BAD_REQUEST",
"message": "The request was malformed."
}{
"code": "UNAUTHORIZED",
"message": "Missing or invalid authentication token."
}{
"code": "FORBIDDEN",
"message": "The token lacks the required scope."
}{
"code": "NOT_FOUND",
"message": "No resource with the given id."
}{
"code": "TOO_MANY_REQUESTS",
"message": "Rate limit exceeded. Retry after the specified interval."
}{
"code": "INTERNAL_ERROR",
"message": "An unexpected error occurred."
}Authorizations
OAuth 2.0 client-credentials flow. Request an access token from the token endpoint and send it as Authorization: Bearer <token>.
Path Parameters
Global id of the role.
Global id of the account to act on.
Response
The change was accepted and is being applied. Poll the returned job for its outcome.

