curl --request GET \
--url https://api.arize.com/v2/webhooks \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.arize.com/v2/webhooks"
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/webhooks', 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/webhooks",
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/webhooks"
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/webhooks")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arize.com/v2/webhooks")
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{
"webhooks": [
{
"id": "V2ViaG9vazoxMjM0NQ==",
"organization_id": "T3JnYW5pemF0aW9uOjEyMzQ1",
"name": "Prompt release notifications",
"description": "Notifies the deploy pipeline when a prompt version is labeled",
"url": "https://example.com/hooks/arize",
"auth_type": "HMAC_SHA256",
"signing_secret_hint": "whsec_…abcd",
"timeout_ms": 30000,
"headers": {
"X-Environment": "production"
},
"created_at": "2026-08-01T12:00:00Z",
"updated_at": "2026-08-01T12:00:00Z",
"created_by_user_id": "VXNlcjoxMjM0NQ=="
},
{
"id": "V2ViaG9vazoxMjM0Ng==",
"organization_id": "T3JnYW5pemF0aW9uOjEyMzQ1",
"name": "Evaluator version notifications",
"description": "",
"url": "https://example.com/hooks/evaluators",
"auth_type": "BEARER",
"timeout_ms": 10000,
"headers": {},
"created_at": "2026-08-02T12:00:00Z",
"updated_at": "2026-08-02T12:00:00Z"
}
],
"pagination": {
"next_cursor": "cursor_12345",
"has_more": true
}
}{
"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 webhooks
List the webhooks in the organizations the user has access to, most
recently created first. Use org_id to narrow the list to a single
organization; a 404 is returned only when the given org_id does not
exist or is not accessible.
Webhooks used as monitor notification channels are included — a webhook is an organization-level destination regardless of what it is attached to.
curl --request GET \
--url https://api.arize.com/v2/webhooks \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.arize.com/v2/webhooks"
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/webhooks', 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/webhooks",
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/webhooks"
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/webhooks")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arize.com/v2/webhooks")
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{
"webhooks": [
{
"id": "V2ViaG9vazoxMjM0NQ==",
"organization_id": "T3JnYW5pemF0aW9uOjEyMzQ1",
"name": "Prompt release notifications",
"description": "Notifies the deploy pipeline when a prompt version is labeled",
"url": "https://example.com/hooks/arize",
"auth_type": "HMAC_SHA256",
"signing_secret_hint": "whsec_…abcd",
"timeout_ms": 30000,
"headers": {
"X-Environment": "production"
},
"created_at": "2026-08-01T12:00:00Z",
"updated_at": "2026-08-01T12:00:00Z",
"created_by_user_id": "VXNlcjoxMjM0NQ=="
},
{
"id": "V2ViaG9vazoxMjM0Ng==",
"organization_id": "T3JnYW5pemF0aW9uOjEyMzQ1",
"name": "Evaluator version notifications",
"description": "",
"url": "https://example.com/hooks/evaluators",
"auth_type": "BEARER",
"timeout_ms": 10000,
"headers": {},
"created_at": "2026-08-02T12:00:00Z",
"updated_at": "2026-08-02T12:00:00Z"
}
],
"pagination": {
"next_cursor": "cursor_12345",
"has_more": true
}
}{
"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
The unique organization identifier (base64). When provided, only resources belonging to this organization are returned. A universally unique identifier (base64-encoded opaque string).
"RW50aXR5OjEyMzQ1"
Case-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.
255Maximum 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?