Update a mention
Set the engaged state, or update AI-judged relevance or sentiment. The action field selects the operation. For engage, pass engaged: true|false for an absolute, idempotent write; omitting it toggles the current value.
Returns the COMMITTED mention row (same shape as GET /api/v2/mentions/{sourceId}), never an echo of the request — e.g. relevance: 3 (clear) answers with the restored AI verdict, and the engaged field is the value the toggle actually stored. No follow-up GET is needed to learn the resulting state.
For ids that cannot ride in a URL path segment, use PATCH /api/v2/mentions/by-id?sourceId=… with the same body.
Authorizations
Clerk API key. Create one in Settings → API Keys. Pass as Authorization: Bearer <key>.
Path Parameters
Body
- Option 1
- Option 2
- Option 3
Mutation request for a mention. The action field discriminates which update to apply.
Set the engaged-with flag on the mention. Pass engaged for an absolute, idempotent write; omit it to TOGGLE the current value.
"engage"Internal post id.
-9007199254740991 <= x <= 9007199254740991The mention's timestamp, copied verbatim from the list/export response. Tinybird-style format (YYYY-MM-DD HH:mm:ss.SSS, UTC, no Z suffix); ISO 8601 also accepted. Used together with sourceId / postId to uniquely key the mention.
^\d{4}-\d{2}-\d{2}[ T]\d{2}:\d{2}:\d{2}(\.\d{1,9})?(Z|[+-]\d{2}:?\d{2})?$"2026-05-06 13:35:37.000"
Target state: true marks the mention engaged, false un-marks it. The write is absolute and idempotent — safe to retry and safe to call concurrently. OMITTING it toggles the current value, which is what the web app's engage button does; non-interactive callers should always pass it.
true
Response
200 response
A single mention collected from a social platform. Canonical shape shared by list_mentions (MCP), GET /api/v2/mentions (REST), and the tRPC feed.
Internal post id (numeric). Pass as postId to PATCH /api/v2/mentions/{sourceId}.
-9007199254740991 <= x <= 9007199254740991Stable composite key for the mention across the collection pipeline (e.g. reddit_t3_1abc234). Use this as the path parameter for PATCH /api/v2/mentions/{sourceId} and as the sourceId field on POST /api/v2/feedback.
"reddit_t3_1abc234"
Canonical URL to the original post.
"https://reddit.com/r/example/comments/abc123/..."
Post title. null for platforms that don't have titles (tweets, etc.).
Post body / content. May be empty or null for posts with no text.
Platform the mention was collected from. Lowercase values like reddit, twitter, linkedin. Historical rows may be uppercase.
"reddit"
When the mention was posted. Tinybird-style datetime string (YYYY-MM-DD HH:mm:ss.SSS, UTC, no Z suffix).
"2026-05-06 13:35:37.000"
Handle/username of the mention's author. null if not captured.
"jane.doe"
Display name of the author, when distinct from the handle.
URL to the author's avatar image. null if not captured.
URL to the author's profile page. null if not captured.
Author's follower count at collection time. null if not available.
-9007199254740991 <= x <= 9007199254740991Relevance classification. Always one of relevant / not_relevant (unscored posts collapse to not_relevant).
relevant, not_relevant "relevant"
Free-text justification the AI produced for its relevance verdict, when available.
Sentiment classification. null until the AI has scored this mention.
Positive, Neutral, Negative "Neutral"
Detected language as a full lowercase English name (english, spanish, …; undetermined when detection fails) — never an ISO 639-1 code.
"english"
AI-assigned topic tags applied to the mention.
AI-assigned topic tag. Applied by the relevance worker during scoring. A post can carry multiple tags.
buy_intent, competitor_mention, customer_testimonial, promotional_post, own_brand_mention, industry_insights, hiring, event, product_question, pricing, churn_intent, launch_announcement, bug_report, user_feedback, ai_generated Monitored keywords this mention matched, with id + display text.
Whether a workspace member has marked this mention as engaged-with (replied, liked on-platform, etc.).
Raw internal relevance score (0 = high, 1 = medium, 2 = low). The public relevance field is derived from this. Optional; not all consumers populate it.
User feedback on this mention's relevance: 1 for thumbs up, -1 for thumbs down, 0 for no feedback. Optional.
URL to a preview image attached to the post, when present.
Denormalized first-matched keyword id. Convenience for callers that need a single keyword reference without scanning keywords[].
