Create a score
Create a new score or annotation. Evaluator scores are read-only through this API — only human, LLM, and code sources are accepted. Returns 201 on success.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Request body for creating a score.
Score name (e.g. "correctness")
1 - 255Score type. Determines which value field is required. Vector type is not accepted on create (used by evaluators only).
numeric, boolean, categorical, text Score source. Evaluator is not accepted (evaluator scores are created by the enrichment worker, not via this API).
human, llm, code Application UUID
Optional client-provided score ID for upsert. If not provided, a deterministic UUID v5 is generated from (application_id, target_id, name, annotator_id).
Target span ID. Exactly one of span_id, trace_id, or session_id is required.
Target trace ID. Exactly one of span_id, trace_id, or session_id is required.
Target session ID. Exactly one of span_id, trace_id, or session_id is required.
Numeric value. Required for numeric type. For boolean type, must be exactly 1.0 or 0.0 (runtime-validated; out-of-range values return 422).
Categorical label. Required for categorical type.
Text content. Required for text type.
65536Annotator identifier. Required for source=llm and source=code. Ignored for source=human (backend populates from auth token).
Optional reasoning or explanation
Arbitrary key-value metadata (string to string map)
Configuration name. Defaults to name if not provided.
Response
Score created successfully