Discovery
Submit Artifact Feedback
submit_artifact_feedbackSample and above
File EXPLICIT, structured feedback about a specific artifact you (or the model) produced — a chat message, a report, a thesis, a claim, a tool call, or the schema. Use this (not `submit_feedback`) when you can name WHAT was judged and HOW: pass `target_type` + `target_id` + a ...
Example Call
example_call.pypython
# Using the Valuein MCP server from Python (via MCP SDK)# Or call directly from Claude / Cursor after setup result = await client.call_tool( "submit_artifact_feedback", arguments={ "target_type": "chat_message", "target_id": "EXAMPLE", "sentiment": "positive"})print(result)Direct tool call:submit_artifact_feedback(...)
Inputs
| Parameter | Type | Required | Description |
|---|---|---|---|
target_type | "chat_message" | "report" | "thesis" | "claim" | "tool_call" | "schema" | "other" | required | REQUIRED. The kind of artifact this feedback is about: 'chat_message', 'report', 'thesis', 'claim', 'tool_call', 'schema', or 'other'. |
target_id | string | required | REQUIRED. The id of the artifact this feedback targets (a report id, thesis id, claim id, message id, tool-call id, or table/schema name). |
sentiment | "positive" | "negative" | "correction" | required | REQUIRED. How you judge the artifact: 'positive' (it was right/useful), 'negative' (it was wrong/unhelpful), or 'correction' (you are supplying the right value via `expected_value`). |
reason | "wrong_number" | "bad_citation" | "missing_data" | "wrong_company" | "formatting" | "hallucinated_fact" | "tool_error" | "coverage_gap" | "other" | optional | Optional structured error-mode: 'wrong_number', 'bad_citation', 'missing_data', 'wrong_company', 'formatting', 'hallucinated_fact', 'tool_error', 'coverage_gap', or 'other'. |
request_id | string | optional | Optional `_meta` request id of the turn that produced the artifact. Folded into the idempotency key so a retried submission of the same judgement files once. |
fact_id | string | optional | Optional disputed `fact_id` (most useful for wrong_number / bad_citation). |
ticker | string | optional | Optional ticker the disputed figure belongs to (e.g. 'AAPL', 'BRK.B'). ALWAYS send this alongside `fact_id` — a `fact_id` is a one-way hash that does not contain the symbol, so without it nobody can locate the filing and your report cannot be checked against the source. Supplying it is what turns a complaint into a verifiable one. |
expected_value | string | optional | Optional: what the value SHOULD have been, in your own words. Stored verbatim for triage — NEVER computed, restated, or trusted as data by Valuein. |
message | string | optional | Optional free-text detail (≤4000 chars). What you expected and what happened. |
idempotency_key | string | optional | Optional explicit dedupe key (1–64 chars). Used to dedupe when no `request_id` is supplied; safe to retry on a network error. |
Output Fields
feedback_idstatusExample Response
Illustrative
response.jsonjson
{ "feedback_id": null, "status": "ACTIVE"}Shape only — field names match the live schema; values are placeholders, not real filings. See MCP server for the structured response shape.
Notes
Available from the Sample plan and above.
Plan Access
Sample (guest)
AvailableBenchmark (token)
AvailablePro
AvailableInstitutional
AvailableRelated Tools
Index names are trademarks of their owners; Valuein is not affiliated with or endorsed by any index provider.