curl --request GET \
--url https://api.arize.com/v2/evaluators \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.arize.com/v2/evaluators"
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/evaluators', 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/evaluators",
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/evaluators"
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/evaluators")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arize.com/v2/evaluators")
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{
"evaluators": [
{
"id": "RXZhbHVhdG9yOjEyOmFCY0Q=",
"name": "Hallucination Eval",
"description": "Detects hallucinated content in LLM responses",
"type": "TEMPLATE",
"space_id": "U3BhY2U6NDkzOkJaSkc=",
"created_at": "2026-02-13T21:27:19.055Z",
"updated_at": "2026-02-13T21:27:19.279Z",
"created_by_user_id": "VXNlcjoxOm5OYkM="
}
],
"pagination": {
"has_more": false
}
}{
"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"
}List evaluators
List evaluators the user has access to, sorted by update date (most recent first).
When space_id is provided, results are limited to that space. When omitted,
evaluators from all permitted spaces are returned.
Use type to return only evaluators of one type. DECISION_JUDGE
evaluators are returned only when type=DECISION_JUDGE is passed; a
request without type returns every other type. On such a request a
page can hold fewer than limit evaluators, or none, while
pagination.has_more is true. Keep following next_cursor until
has_more is false. type=DECISION_JUDGE does not check whether
Decision Judge is enabled for the account; it returns any Decision Judge
evaluators that exist.
curl --request GET \
--url https://api.arize.com/v2/evaluators \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.arize.com/v2/evaluators"
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/evaluators', 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/evaluators",
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/evaluators"
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/evaluators")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arize.com/v2/evaluators")
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{
"evaluators": [
{
"id": "RXZhbHVhdG9yOjEyOmFCY0Q=",
"name": "Hallucination Eval",
"description": "Detects hallucinated content in LLM responses",
"type": "TEMPLATE",
"space_id": "U3BhY2U6NDkzOkJaSkc=",
"created_at": "2026-02-13T21:27:19.055Z",
"updated_at": "2026-02-13T21:27:19.279Z",
"created_by_user_id": "VXNlcjoxOm5OYkM="
}
],
"pagination": {
"has_more": false
}
}{
"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
Query Parameters
Filter search results to a particular space ID A universally unique identifier (base64-encoded opaque string).
"RW50aXR5OjEyMzQ1"
Case-insensitive substring filter on the space name. Narrows results to resources in spaces whose name contains the given string. If omitted, no space name filtering is applied and all resources are returned.
255Case-insensitive substring filter on the resource name. Returns only
resources whose name contains the given string. For example,
name=prod matches "production", "my-prod-dataset", etc. If omitted,
no name filtering is applied and all resources are returned.
255Return only evaluators of this type. When omitted, evaluators of every
type except DECISION_JUDGE are returned. Pass DECISION_JUDGE to list
Decision Judge evaluators.
The evaluator type:
TEMPLATE— LLM-based evaluator.CODE— managed built-in evaluators or custom Python code (both are subtypes ofCODE, discriminated by the nestedCodeConfig.type=MANAGED|CUSTOM).HARNESS— test harness evaluator.REMOTE— remote evaluator.DECISION_JUDGE— Decision Judge evaluator. It asks a set of typed questions about each span and writes one result per question. Requires Decision Judge to be enabled for the account.GET /v2/evaluatorsreturns these evaluators only whentype=DECISION_JUDGEis passed.
Applies to both the parent Evaluator.type field and every version's type
discriminator — a version's type must always match its parent evaluator's type.
TEMPLATE, CODE, HARNESS, REMOTE, DECISION_JUDGE Maximum items to return. Defaults to 50 if omitted; maximum is 100.
1 <= x <= 100Opaque pagination cursor returned from a previous response
(pagination.next_cursor). Treat it as an unreadable token; do not
attempt to parse or construct it.
Was this page helpful?