---
title: "Mark an authenticity score as contested"
method: POST
path: "/api/kols/{username}/authenticity/dispute"
tags: ["Authenticity"]
---

# Mark an authenticity score as contested

`POST /api/kols/{username}/authenticity/dispute`

## Request

- Base URL: `https://api.kolens.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.kolens.ai/api/kols/{username}/authenticity/dispute`
- Auth: HTTP bearer

Stamp the latest score row as disputed by the caller's workspace.

Required for legal cover (PM revision): every authenticity score
must be challengeable on day 1. We don't *retract* the score on
dispute — we just attach the operator's note + workspace id so the
UI can render "Contested by Acme on 2026-04-01" alongside the
badge, and downstream consumers (filters, alerts) can skip
disputed scores if they want.

Workspace resolution is best-effort: if the caller has no
workspace binding the dispute still records (with NULL workspace),
so legacy CLI keys can flag scores too.

## Path parameters

- `username` string, required

## Query parameters

- `platform` string

## Headers

- `x-kolens-user-id` string, nullable
- `x-kolens-workspace-id` string, nullable

## Request body

- DisputeIn
  - `note` string, nullable: Optional explanation of why this score is contested.

## Response `200`

Successful Response

- AuthenticityScoreOut: Composite authenticity score + per-signal breakdown. Note on copy: every user-visible string here says "authenticity" or "signal" — never "fake" / "bot" / "fraud". The PM revision is firm on this: the score lives in legal grey area and the wording is the cover.
  - `username` string, required
  - `platform` string, required
  - `algorithm_version` string, required
  - `snapshot_date` string, required
  - `score` integer, required
  - `confidence` string, required
  - `signals` object, required
  - `disputed_at` string, nullable
  - `disputed_by_workspace_id` string, nullable
  - `dispute_note` string, nullable
  - `computed_at` string, required
  - `summary` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/kolens/apis/kolens-api.md) · [All operations](https://skmtc.dev/kolens/apis/kolens-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kolens/apis/kolens-api/revisions/5d6865ab0a24?raw)
