Core API
Feedback
Feedback turns a production call into a training signal. It is the entry point to the reliability loop.
Why feedback matters
Calls without feedback are observations. Calls with feedback are candidates for a golden dataset. The Atlas reliability loop is built around the assumption that engineers — not annotators — review their own production traffic and tag it in place.
Posting feedback
Feedback can be posted from server code or the console.
typescriptawait client.feedback.create({
call_id: "chatcmpl-abc123",
rating: "thumbs_down",
correction: "The summary should be one sentence, not three.",
tags: ["length:over", "accuracy:partial"],
});bashcurl https://api.newmen.ai/v1/feedback \
-H "Authorization: Bearer $NEWMEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"call_id": "chatcmpl-abc123",
"rating": "thumbs_down",
"correction": "The summary should be one sentence, not three.",
"tags": ["length:over", "accuracy:partial"]
}'At minimum, include call_id and one of rating, correction, or tags. You may post multiple feedback rows per call; the latest entry per user wins when building a dataset.
Tagging conventions
Tags are free-form strings, but the team has converged on a dimension:value convention. Examples:
accuracy:good,accuracy:partial,accuracy:wrongtone:formal,tone:tersepii:redact-missed,pii:over-redacted
Consistent tagging makes evaluator binding and dataset filtering dramatically easier. We do not enforce a schema; the console will suggest tags you have used before.