Feedback

Submit feedback and corrections for a prior API query

Attach corrections to the exact query you ran: pass the feedback type, the query object you sent, and optional per-item corrections. Public submissions are recorded for human review (status "logged"); nothing is auto-applied. Read the review status back later via GET /v1/feedback/{feedback_id}. recommendations and channel_sponsors feedback types require a Pro+ plan; every other type needs read. monitor_alert feedback targets fired alerts: query carries monitor_id and/or tracker_id and/or alert_id, corrections target the alert id, and every referenced alert must belong to the caller (otherwise 404 alert_not_found). missed_alert corrections are expectations with nothing to target: omit the correction id and put { source_url, approximate_timestamp_seconds?, entity_id? } in suggested_change. delivery_issue corrections may carry { channel } in suggested_change. experience feedback says how a task went as a whole rather than correcting a result: it requires category and notes, refuses corrections (400 invalid_feedback_request), and needs no query. category and mcp_call_id, when sent, are recorded in the stored query.

post/v1/feedback

Request

  • Base URL: https://api.arcmira.com
  • URL: https://api.arcmira.com/v1/feedback
  • Auth: HTTP bearer

Query parameters

type'recommendations' | 'channel_sponsors' | 'mentions' | 'entities_search' | 'entities' | 'channels' | 'monitor_alert' | 'appearances' | 'search' | 'experience'

Feedback type when omitted from the JSON body. Provide type in either location; the body takes precedence.

querystring

Query being reviewed when omitted from the JSON body. Body query fields override matching query-string fields.

Headers

Idempotency-Keystring

1 to 255 printable ASCII characters (0x21 to 0x7E); anything else is 400 invalid_idempotency_key. Persist a unique key and the exact request before sending a logical mutation. A retry returns its stored response with Idempotency-Replayed: true. A changed intent under a finalized key returns 409 idempotency_conflict. Keys belong to the authenticated owner, credential and mutation domain. Current authorization still applies. Receipts have no general 24-hour expiry; signing-secret recovery alone expires after 24 hours or when the secret is displaced.

Request body

type'recommendations' | 'channel_sponsors' | 'mentions' | 'entities_search' | 'entities' | 'channels' | 'monitor_alert' | 'appearances' | 'search' | 'experience'

The surface being reviewed. Values: recommendations (/v1/recommendations results by com_* id; requires a Pro+ plan), channel_sponsors (sponsor entities on a channel; requires a Pro+ plan), mentions (/v1/mentions results by men_* id), entities_search (/v1/entities/resolve candidates), entities (/v1/entities/{id} payloads), channels (/v1/channels/{channel_id}/videos results), monitor_alert (fired alerts from /v1/monitors/{id}/alerts or /v1/trackers/{id}/alerts; corrections target the alert id), appearances (person appearances from /v1/mentions with is_appearance=true), search (/v1/search passages), experience (how a task went as a whole, not one result: requires category and notes, takes no corrections, and query is optional).

queryobject

The query object that produced the result you are reviewing, echoed back verbatim so reviewers can replay it. For monitor_alert feedback, carry monitor_id and/or tracker_id and/or alert_id.

endpointstring
method'GET' | 'POST' | 'PATCH' | 'PUT' | 'DELETE'
request_idstring
result_urlstring
source_urlstring
notesstring

Free text for the reviewer. Required when type is experience: say what the user asked for and what went wrong, slow, or missing.

category'wrong_entity' | 'bad_data' | 'missing' | 'slow' | 'confusing' | 'other'

What kind of problem this is. Values: wrong_entity (a name resolved to the wrong person, company or thing), bad_data (a result or field is wrong), missing (something that should exist was not found), slow (the task took too long), confusing (the answer or an error was hard to act on), other (anything else; say what in notes). Required when type is experience.

mcp_call_idstring

The MCP tool call this feedback is about, as the Arcmira MCP server names it (mcpc_ and 32 hex digits). Joins the feedback to that call in product analytics.

Response

Success

feedback_idstring required

Id of the persisted feedback record, fbk_ and digits. Read it back via GET /v1/feedback/{feedback_id}.

typestring required

The feedback type you submitted. Values: recommendations, channel_sponsors, mentions, entities_search, entities, channels, monitor_alert, appearances, search, experience.

queryobject required

The query object the feedback is attached to, echoed back. category and mcp_call_id, when sent, are recorded in it under those names.

appliedinteger required

Count of corrections applied automatically. CURRENTLY always 0: public submissions are logged for review, never auto-applied.

unchangedinteger required

Count of corrections whose target already had the requested value. Currently always 0 for public submissions.

failedinteger required

Count of corrections that could not be processed. Currently always 0 for public submissions.

loggedinteger required

Count of corrections recorded for human review.

Changes

No recorded changes to this operation across all 1 revision of this API.