curl --request GET \
--url https://api.arize.com/v2/roles/{role_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.arize.com/v2/roles/{role_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.arize.com/v2/roles/{role_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://api.arize.com/v2/roles/{role_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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://api.arize.com/v2/roles/{role_id}"
req, _ := http.NewRequest("GET", 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.get("https://api.arize.com/v2/roles/{role_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arize.com/v2/roles/{role_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "Um9sZToxOmFCY0Q=",
"name": "Data Scientist",
"description": "Can read and create datasets and experiments.",
"permissions": [
"PROJECT_READ",
"DATASET_READ",
"DATASET_CREATE",
"EXPERIMENT_READ",
"EXPERIMENT_CREATE"
],
"is_predefined": false,
"created_at": "2024-06-01T10:00:00Z",
"updated_at": "2024-06-01T10:00:00Z"
}{
"status": 400,
"title": "Invalid request parameters",
"detail": "The 'name' field is required and must be a non-empty string.",
"instance": "/resource",
"type": "https://arize.com/docs/ax/rest-reference/errors#invalid-request"
}{
"status": 401,
"title": "Authentication required",
"detail": "You must be authenticated to access this resource.",
"instance": "/resource",
"type": "https://arize.com/docs/ax/rest-reference/errors#authentication-required"
}{
"status": 403,
"title": "Access forbidden",
"detail": "You do not have permission to access this resource.",
"instance": "/resource/12345",
"type": "https://arize.com/docs/ax/rest-reference/errors#access-forbidden"
}{
"status": 404,
"title": "Resource not found",
"detail": "The requested resource with ID '12345' was not found.",
"instance": "/resource/12345",
"type": "https://arize.com/docs/ax/rest-reference/errors#resource-not-found"
}{
"status": 429,
"title": "Rate limit exceeded",
"detail": "You have exceeded the allowed number of requests. Please try again later.",
"instance": "/resource",
"type": "https://arize.com/docs/ax/rest-reference/errors#rate-limit-exceeded"
}Get a role
curl --request GET \
--url https://api.arize.com/v2/roles/{role_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.arize.com/v2/roles/{role_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.arize.com/v2/roles/{role_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://api.arize.com/v2/roles/{role_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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://api.arize.com/v2/roles/{role_id}"
req, _ := http.NewRequest("GET", 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.get("https://api.arize.com/v2/roles/{role_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arize.com/v2/roles/{role_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "Um9sZToxOmFCY0Q=",
"name": "Data Scientist",
"description": "Can read and create datasets and experiments.",
"permissions": [
"PROJECT_READ",
"DATASET_READ",
"DATASET_CREATE",
"EXPERIMENT_READ",
"EXPERIMENT_CREATE"
],
"is_predefined": false,
"created_at": "2024-06-01T10:00:00Z",
"updated_at": "2024-06-01T10:00:00Z"
}{
"status": 400,
"title": "Invalid request parameters",
"detail": "The 'name' field is required and must be a non-empty string.",
"instance": "/resource",
"type": "https://arize.com/docs/ax/rest-reference/errors#invalid-request"
}{
"status": 401,
"title": "Authentication required",
"detail": "You must be authenticated to access this resource.",
"instance": "/resource",
"type": "https://arize.com/docs/ax/rest-reference/errors#authentication-required"
}{
"status": 403,
"title": "Access forbidden",
"detail": "You do not have permission to access this resource.",
"instance": "/resource/12345",
"type": "https://arize.com/docs/ax/rest-reference/errors#access-forbidden"
}{
"status": 404,
"title": "Resource not found",
"detail": "The requested resource with ID '12345' was not found.",
"instance": "/resource/12345",
"type": "https://arize.com/docs/ax/rest-reference/errors#resource-not-found"
}{
"status": 429,
"title": "Rate limit exceeded",
"detail": "You have exceeded the allowed number of requests. Please try again later.",
"instance": "/resource",
"type": "https://arize.com/docs/ax/rest-reference/errors#rate-limit-exceeded"
}Authorizations
Most Arize AI endpoints require authentication. For those endpoints that require authentication, include your API key in the request header using the format
Path Parameters
The unique role identifier (base64) A universally unique identifier (base64-encoded opaque string).
"RW50aXR5OjEyMzQ1"
Response
A role object.
Unique identifier for the role.
Human-readable name of the role.
List of permissions granted by this role. Each value corresponds to a
permission identifier (e.g. PROJECT_READ, DATASET_CREATE).
Returned only to callers with ROLE_READ.
A permission identifier following the pattern {RESOURCE}_{ACTION}. Auto-generated from proto/auth/protocol/permissions.proto.
AGENT_ROLE_CREATE, AGENT_ROLE_DELETE, AGENT_ROLE_READ, AGENT_ROLE_UPDATE, AI_PROVIDER_READ, ALYX_RUN, ANNOTATION_CONFIG_CREATE, ANNOTATION_CONFIG_DELETE, ANNOTATION_CONFIG_READ, ANNOTATION_CONFIG_UPDATE, CUSTOM_METRIC_CREATE, CUSTOM_METRIC_DELETE, CUSTOM_METRIC_READ, CUSTOM_METRIC_UPDATE, DASHBOARD_CREATE, DASHBOARD_DELETE, DASHBOARD_READ, DASHBOARD_RESTRICT, DASHBOARD_UPDATE, DATASET_CREATE, DATASET_DELETE, DATASET_EXAMPLE_ANNOTATE, DATASET_EXAMPLE_CREATE, DATASET_EXAMPLE_DELETE, DATASET_EXAMPLE_READ, DATASET_EXAMPLE_UPDATE, DATASET_READ, DATASET_UPDATE, DATASET_VIEW_CREATE, DATASET_VIEW_DELETE, DATASET_VIEW_READ, DATASET_VIEW_UPDATE, DATA_FABRIC_CONNECTOR_CREATE, DATA_FABRIC_CONNECTOR_DELETE, DATA_FABRIC_CONNECTOR_READ, DATA_FABRIC_CONNECTOR_UPDATE, EVALUATOR_CREATE, EVALUATOR_DELETE, EVALUATOR_READ, EVALUATOR_UPDATE, EXPERIMENT_CREATE, EXPERIMENT_DELETE, EXPERIMENT_EVAL_TASK_CREATE, EXPERIMENT_EVAL_TASK_DELETE, EXPERIMENT_EVAL_TASK_READ, EXPERIMENT_EVAL_TASK_UPDATE, EXPERIMENT_READ, EXPERIMENT_RUN_ANNOTATE, EXPERIMENT_RUN_READ, EXPERIMENT_UPDATE, FILE_IMPORT_CREATE, FILE_IMPORT_DELETE, FILE_IMPORT_READ, FILE_IMPORT_UPDATE, LLM_INTEGRATION_CREATE, LLM_INTEGRATION_DELETE, LLM_INTEGRATION_UPDATE, MANAGED_AGENT_CREATE, MANAGED_AGENT_DELETE, MANAGED_AGENT_READ, MANAGED_AGENT_UPDATE, ML_MODEL_CREATE, ML_MODEL_DELETE, ML_MODEL_READ, ML_MODEL_UPDATE, MONITOR_CREATE, MONITOR_DELETE, MONITOR_READ, MONITOR_TRIGGER, MONITOR_UPDATE, ORGANIZATION_CREATE, ORGANIZATION_DELETE, ORGANIZATION_READ, ORGANIZATION_UPDATE, PLAYGROUND_RUN, PLAYGROUND_VIEW_CREATE, PLAYGROUND_VIEW_DELETE, PLAYGROUND_VIEW_READ, PLAYGROUND_VIEW_UPDATE, PROJECT_CREATE, PROJECT_DELETE, PROJECT_EVAL_TASK_CREATE, PROJECT_EVAL_TASK_DELETE, PROJECT_EVAL_TASK_READ, PROJECT_EVAL_TASK_UPDATE, PROJECT_READ, PROJECT_RESTRICT, PROJECT_SPAN_ANNOTATE, PROJECT_SPAN_CREATE, PROJECT_SPAN_DELETE, PROJECT_SPAN_READ, PROJECT_SPAN_UPDATE, PROJECT_UPDATE, PROMPT_CREATE, PROMPT_DELETE, PROMPT_OPTIMIZE_TASK_CREATE, PROMPT_OPTIMIZE_TASK_DELETE, PROMPT_OPTIMIZE_TASK_READ, PROMPT_OPTIMIZE_TASK_UPDATE, PROMPT_READ, PROMPT_UPDATE, QUEUE_CREATE, QUEUE_DELETE, QUEUE_READ, QUEUE_RECORD_ANNOTATE, QUEUE_RECORD_CREATE, QUEUE_RECORD_DELETE, QUEUE_RECORD_READ, QUEUE_RECORD_UPDATE, QUEUE_UPDATE, REMOTE_ENDPOINT_INTEGRATION_CREATE, REMOTE_ENDPOINT_INTEGRATION_DELETE, REMOTE_ENDPOINT_INTEGRATION_READ, REMOTE_ENDPOINT_INTEGRATION_UPDATE, ROLE_BINDING_CREATE, ROLE_BINDING_DELETE, ROLE_BINDING_READ, ROLE_CREATE, ROLE_DELETE, ROLE_READ, ROLE_UPDATE, SERVICE_KEY_CREATE, SERVICE_KEY_READ, SERVICE_KEY_REVOKE, SPACE_CREATE, SPACE_DELETE, SPACE_READ, SPACE_UPDATE, TAG_CREATE, TAG_DELETE, TAG_READ, TAG_UPDATE, TRACE_VIEW_CREATE, TRACE_VIEW_DELETE, TRACE_VIEW_READ, TRACE_VIEW_UPDATE, USER_CREATE, USER_DELETE, USER_PERMISSION_UPDATE, USER_READ, USER_UPDATE Whether this role is a system-defined predefined role. Predefined roles cannot be updated or deleted.
Timestamp when the role was created.
Timestamp when the role was last updated.
A brief description of the role's purpose.
Was this page helpful?