Write human annotations to a batch of examples in a dataset.
Idempotency: Writes use upsert semantics — submitting the same annotation config name for the same example overwrites the previous value. Retrying on network failure will not create duplicates.
Unmatched record IDs: If a record_id does not correspond to an existing
example in the dataset, the annotation for that record is silently ignored.
The response will still include an entry for it. No error is returned.
Payload Requirements
dataset_id is the path parameter for the target dataset.annotations is a list of per-example annotation inputs, each identified by record_id.Valid example
{
"annotations": [
{"record_id": "ex_abc", "values": [{"name": "quality", "score": 0.8}]}
]
}
Invalid example (annotation name not found in space)
{
"annotations": [
{"record_id": "ex_abc", "values": [{"name": "nonexistent_config"}]}
]
}
Most Arize AI endpoints require authentication. For those endpoints that require authentication, include your API key in the request header using the format
The unique identifier of the dataset A universally unique identifier
"RW50aXR5OjEyMzQ1"
Body containing dataset example annotation batch
Batch annotation request for dataset examples.
Batch of dataset example annotations to write. Up to 500 examples per request.
1 - 500 elementsAnnotations successfully written to dataset examples
Result of a batch annotation operation. Contains one result entry per annotated record.
Per-record annotation results, in the same order as the request.