{
"id": "V2ViaG9va1N1YnNjcmlwdGlvbjoxMjM0NQ==",
"webhook_id": "V2ViaG9vazoxMjM0NQ==",
"source_type": "PROMPT",
"source_id": "UHJvbXB0OjEyMzQ1",
"event": "PROMPT_VERSION_LABELED",
"created_at": "2026-08-01T12: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": 409,
"title": "Resource conflict",
"detail": "A resource with the given identifier already exists.",
"instance": "/resource",
"type": "https://arize.com/docs/ax/rest-reference/errors#resource-conflict"
}{
"status": 422,
"title": "Unprocessable Entity",
"detail": "One or more fields failed validation.",
"instance": "/resource/12345",
"type": "https://arize.com/docs/ax/rest-reference/errors#unprocessable-entity"
}{
"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"
}Create a webhook subscription
Subscribe a webhook to one event on a prompt or evaluator. To deliver several events to the same webhook, create one subscription per event.
Payload Requirements
webhook_id,source_type,source_id, andeventare required.webhook_idmust be a webhook in the source’s organization; unknown webhooks yield a 404.eventmust belong to the source type: prompt events forPROMPTsources and evaluator events forEVALUATORsources. Other combinations are rejected with a 422.- A webhook can subscribe to a given event on a given source only once (409 on conflict).
- At most 200 webhooks may subscribe to the same event on a source; requests that would exceed this limit are rejected with a 422.
Creating a subscription requires PROMPT_UPDATE for a prompt source or
EVALUATOR_UPDATE for an evaluator source. Callers with the matching
PROMPT_READ or EVALUATOR_READ permission but not the required update
permission receive a 403; sources the caller cannot read yield a 404.
{
"id": "V2ViaG9va1N1YnNjcmlwdGlvbjoxMjM0NQ==",
"webhook_id": "V2ViaG9vazoxMjM0NQ==",
"source_type": "PROMPT",
"source_id": "UHJvbXB0OjEyMzQ1",
"event": "PROMPT_VERSION_LABELED",
"created_at": "2026-08-01T12: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": 409,
"title": "Resource conflict",
"detail": "A resource with the given identifier already exists.",
"instance": "/resource",
"type": "https://arize.com/docs/ax/rest-reference/errors#resource-conflict"
}{
"status": 422,
"title": "Unprocessable Entity",
"detail": "One or more fields failed validation.",
"instance": "/resource/12345",
"type": "https://arize.com/docs/ax/rest-reference/errors#unprocessable-entity"
}{
"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
Body
Body containing the webhook, the source to attach it to, and the event to deliver
The unique identifier of the webhook to deliver the event to. Must belong to the source's organization.
"RW50aXR5OjEyMzQ1"
The kind of resource to attach the webhook to
PROMPT, EVALUATOR The unique identifier of the prompt or evaluator to attach the webhook to
"RW50aXR5OjEyMzQ1"
The event to deliver. Must belong to the source type.
PROMPT_VERSION_CREATED, PROMPT_VERSION_LABELED, PROMPT_VERSION_UNLABELED, EVALUATOR_VERSION_CREATED Response
The created webhook subscription
A subscription delivers one event from one prompt or evaluator to one webhook. A webhook that should receive several events from the same resource has one subscription per event.
Unique identifier for the subscription
"RW50aXR5OjEyMzQ1"
The unique identifier of the webhook that receives the event
"RW50aXR5OjEyMzQ1"
The kind of resource the subscription is attached to
PROMPT, EVALUATOR The unique identifier of the prompt or evaluator the subscription is attached to
"RW50aXR5OjEyMzQ1"
The event delivered to the webhook
PROMPT_VERSION_CREATED, PROMPT_VERSION_LABELED, PROMPT_VERSION_UNLABELED, EVALUATOR_VERSION_CREATED Timestamp for when the subscription was created
Was this page helpful?