Skip to main content
GET
/
v2
/
prompts
/
{prompt_id}
/
versions
List prompt versions
curl --request GET \
  --url https://api.arize.com/v2/prompts/{prompt_id}/versions \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.arize.com/v2/prompts/{prompt_id}/versions"

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/prompts/{prompt_id}/versions', 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/prompts/{prompt_id}/versions",
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/prompts/{prompt_id}/versions"

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/prompts/{prompt_id}/versions")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.arize.com/v2/prompts/{prompt_id}/versions")

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
{
  "prompt_versions": [
    {
      "id": "pv_002",
      "prompt_id": "prompt_001",
      "commit_hash": "def789ghi012",
      "commit_message": "Updated system prompt",
      "messages": [
        {
          "role": "system",
          "content": "You are a helpful assistant."
        }
      ],
      "input_variable_format": "f_string",
      "provider": "open_ai",
      "model": "gpt-4",
      "created_at": "2024-01-02T12:00:00Z",
      "created_by_user_id": "user_12345"
    },
    {
      "id": "pv_001",
      "prompt_id": "prompt_001",
      "commit_hash": "abc123def456",
      "commit_message": "Initial version",
      "messages": [
        {
          "role": "system",
          "content": "You are an assistant."
        }
      ],
      "input_variable_format": "f_string",
      "provider": "open_ai",
      "model": "gpt-4",
      "created_at": "2024-01-01T12:00:00Z",
      "created_by_user_id": "user_12345"
    }
  ],
  "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

Authorization
string
header
required

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

prompt_id
string
required

The unique prompt identifier (base64) A universally unique identifier (base64-encoded opaque string).

Example:

"RW50aXR5OjEyMzQ1"

Query Parameters

limit
integer
default:50

Maximum items to return

Required range: 1 <= x <= 100
cursor
string

Opaque pagination cursor returned from a previous response (pagination.next_cursor). Treat it as an unreadable token; do not attempt to parse or construct it.

Response

Returns a list of prompt version objects

prompt_versions
object[]
required

A list of prompt versions

pagination
object
required

Pagination metadata for cursor-based navigation