List annotation

Lists human annotations on traces and observations, optionally scoped to one review queue.

GET /v1/o11y/llm/annotation

Addresshttps://api.hanzo.ai/v1/o11y/llm/annotation
MethodGET
OperationListLLMAnnotations
AuthAuthorization: Bearer $HANZO_API_KEY

Lists human annotations on traces and observations, optionally scoped to one review queue.

Callers need the viewer role; the runtime's own gate enforces it.

Request

5 fields.

FieldInTypeRequiredDescription
traceIdquerystring—TraceID narrows to annotations on one trace.
queuequerystring—Queue narrows to one review queue.
statusquerystring—Status narrows to one review status, e.g. PENDING.
offsetqueryinteger—Offset is how many rows to skip, for paging.
limitqueryinteger—Limit caps how many rows come back.

Response

StatusBodyMeaning
200o11y.O11yLLMAnnotationsOutok
202Approvalheld for approval
defaultproblem-detailsrefused

200 body — 15 fields.

FieldInTypeAlwaysDescription
databodyo11y.O11yLLMAnnotationsPage—
data.itemsbodyo11y.O11yLLMAnnotation[]—Items are the annotations, newest first.
data.items[].authorbodystring—Author is who wrote it.
data.items[].contentbodystring—Content is the note itself.
data.items[].createdAtbodystring (date-time)—CreatedAt is when the annotation was stored.
data.items[].idbodystring—ID is the annotation's id.
data.items[].observationIdbodystring—ObservationID is the observation the annotation attaches to, when narrowed.
data.items[].queuebodystring—Queue is the review queue the annotation sits in, when queued.
data.items[].statusbodystring—Status is the annotation's review status, e.g. PENDING.
data.items[].traceIdbodystring—TraceID is the trace the annotation attaches to.
data.items[].updatedAtbodystring (date-time)—UpdatedAt is when the annotation last changed.
data.limitbodyinteger (int64)—Limit is the page cap the read ran with.
data.offsetbodyinteger (int64)—Offset is the row offset this page started at.
data.totalbodyinteger (int64)—Total is how many annotations match, across all pages.
statusbodystring—Status is "success".

Failure carries the platform error shape — see Errors.

Examples

hanzo o11y llm annotation get
import { Configuration, O11yApi } from 'hanzoai';

const api = new O11yApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.listLLMAnnotations();
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import O11yApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = O11yApi(client).list_llm_annotations()
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.O11yAPI.ListLLMAnnotations(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, o11y_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = o11y_api::list_llm_annotations(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.O11yApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new O11yApi(client).listLLMAnnotations();
curl https://api.hanzo.ai/v1/o11y/llm/annotation \
  -H "Authorization: Bearer $HANZO_API_KEY"

Tool o11y, op ListLLMAnnotations — POST the JSON-RPC envelope to https://api.hanzo.ai/v1/mcp.

curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "o11y",
         "arguments": {
           "op": "ListLLMAnnotations",
           "input": {}
         }
       }
     }'

O11y API · All Hanzo APIs · Interactive reference

Was this page useful?