Skip to main content
GET
/
generations
Get generation
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.phaseo.ai/v1/generations', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
import requests

url = "https://api.phaseo.ai/v1/generations"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
curl --request GET \
--url https://api.phaseo.ai/v1/generations \
--header 'Authorization: Bearer <token>'
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.phaseo.ai/v1/generations"

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.phaseo.ai/v1/generations")
.header("Authorization", "Bearer <token>")
.asString();
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.phaseo.ai/v1/generations",
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;
}
require 'uri'
require 'net/http'

url = URI("https://api.phaseo.ai/v1/generations")

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
{
  "created_at": "2023-11-07T05:31:56Z",
  "request_id": "<string>",
  "team_id": "<string>",
  "app_id": "<string>",
  "endpoint": "<string>",
  "model_id": "<string>",
  "provider": "<string>",
  "native_response_id": "<string>",
  "stream": true,
  "byok": true,
  "status_code": 123,
  "success": true,
  "error_code": "<string>",
  "error_message": "<string>",
  "latency_ms": 123,
  "generation_ms": 123,
  "usage": {
    "prompt_tokens": 123,
    "completion_tokens": 123,
    "total_tokens": 123
  },
  "cost_nanos": 123,
  "currency": "<string>",
  "pricing_lines": [
    {}
  ],
  "key_id": "<string>",
  "throughput": 123,
  "replay_supported": true,
  "replay_request": {}
}
{
"ok": true,
"error": "<string>",
"reason": "<string>"
}
{
"ok": true,
"error": "<string>"
}
Fetches the stored audit record for a given request_id that belongs to your team. Use:
  • GET /v1/generations?id=<request_id>
When the gateway captured full request details for that generation, the response also includes:
  • replay_supported: whether a replay-ready payload is available
  • replay_request: the stored request body you can send back to the original endpoint for a controlled rerun
Typical replay flow:
  1. Read the generation record with GET /v1/generations?id=<request_id>.
  2. Check replay_supported === true.
  3. Re-submit replay_request to the original endpoint named by endpoint such as /v1/chat/completions or /v1/responses.

Authorizations

Authorization
string
header
required

Bearer token authentication

Query Parameters

id
string
required

The ID of the generation

Response

Generation data

created_at
string<date-time>
request_id
string
team_id
string
app_id
string | null
endpoint
string
model_id
string
provider
string
native_response_id
string | null
stream
boolean
byok
boolean
status_code
number
success
boolean
error_code
string | null
error_message
string | null
latency_ms
number
generation_ms
number
usage
object | null
cost_nanos
number
currency
string
pricing_lines
object[]
key_id
string
throughput
number | null
replay_supported
boolean

Whether a replay-ready request payload is available for this generation.

replay_request
object | null

Replay-ready request payload captured for this generation when available.

Last modified on May 6, 2026