v3

latestOpenAPI 3.0.3Apache-2.02026-08-08119359592.5 KB
Experiments

Annotate a batch of experiment runs

Write human annotations to a batch of runs in an experiment.

Idempotency: Writes use upsert semantics — submitting the same annotation config name for the same run overwrites the previous value. Retrying on network failure will not create duplicates.

202 Accepted: The annotations have been accepted and will be written. Visibility in read queries may lag by a short interval. No response body is returned.

Unmatched record IDs: If a record_id does not correspond to an existing run in the experiment, the annotation for that record is silently ignored. No error is returned.

Payload Requirements

  • experiment_id is the path parameter for the target experiment.
  • annotations is a list of per-run annotation inputs, each identified by record_id.
  • Annotation names must match existing annotation configs in the experiment's space.
  • Up to 1000 runs may be annotated per request.

Valid example

{
  "annotations": [
    {"record_id": "run_abc", "values": [{"name": "quality", "label": "good"}]}
  ]
}

Invalid example (annotation name not found in space)

{
  "annotations": [
    {"record_id": "run_abc", "values": [{"name": "nonexistent_config"}]}
  ]
}

<Note>This endpoint is in beta, read more here.</Note>

post/v2/experiments/{experiment_id}/runs/annotate

Path parameters

experiment_idstring required

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

Example:RW50aXR5OjEyMzQ1

The unique experiment identifier (base64)

Request body

Example request

{
  "annotations": [
    {
      "values": [
        {
          "name": "accuracy"
        }
      ]
    }
  ]
}

Response

Annotations written successfully. The annotations have been accepted and will be written. Visibility in read queries may lag by a short interval.