FactionDocs
API Reference

Submit Feedback

Submit rep edits and corrections back to Faction.

POST
/feedback

Authorization

bearerAuth
AuthorizationBearer <token>

OAuth2 client credentials flow. Token obtained from /oauth2/token on the auth host.

In: header

Header Parameters

X-Correlation-Id*string

Caller-supplied correlation ID. Propagated end-to-end and returned in responses and audit logs.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.eu.faction.ai/v1/feedback" \  -H "X-Correlation-Id: 8f3c-b21" \  -H "Content-Type: application/json" \  -d '{    "case_id": "string",    "module": "intent_classifier",    "original_output": {},    "corrected_output": {},    "actor": {}  }'
{
  "feedback_id": "string",
  "received_at": "2019-08-24T14:15:22Z"
}
{
  "error_code": "MISSING_REQUIRED_FIELD",
  "message": "Field 'case_id' is required.",
  "correlation_id": "8f3c-b21",
  "request_id": "req_01JZP4..."
}
{
  "error_code": "EXPIRED_TOKEN",
  "message": "Bearer token expired at 2026-04-29T13:00:00Z.",
  "correlation_id": "8f3c-b21",
  "request_id": "req_01JZP4..."
}
{
  "error_code": "SCOPE_INSUFFICIENT",
  "message": "Token lacks scope 'extract.quote'.",
  "correlation_id": "8f3c-b21",
  "request_id": "req_01JZP4..."
}
{
  "error_code": "INTERNAL_ERROR",
  "message": "An unexpected error occurred.",
  "correlation_id": "8f3c-b21",
  "request_id": "req_01JZP4..."
}

Feedback modes

What Faction does with submitted feedback depends on the tenant's configured feedback mode:

ModeBehaviorDefault
OffDiscards.
Audit onlyStored for analytics. Never used for training.Default
Tenant-scoped tuningUsed to retrain tenant-specific layers. Stays tenant-scoped.Opt-in
Shared improvementAggregated, anonymized signals contribute to base-model improvement.Opt-in. Never default.

Mode changes require written approval from a Rubix authorized contact. Audit trail records the change.

On this page