NEWMEN

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:wrong
  • tone:formal, tone:terse
  • pii: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.