Mentions

Update a mention

The one write on a mention. Set status to ignored or done to handle it (open puts it back), assign it to a workspace member, snooze it out of the feed, leave an internal note, or correct the classifier: `relevant` true or false is your verdict (relevance becomes 100 or 0, and every list, filter, digest and report follows it), `sentiment` replaces the label; null withdraws a verdict and restores the classifier's value. Omitted fields are untouched. Delivery and billing never change.

PATCH
/v1/mentions/{id}
AuthorizationBearer <token>

API key minted via POST /v1/api-keys (format mk_live_...)

In: header

Path Parameters

idstring

Mention id (mm_...).

Length1 <= length
status?string

ignored or done to handle it; open to put it back.

Value in"open" | "ignored" | "done"
assigneeId?string|null

A workspace member (user id), or null to unassign.

Length1 <= length
snoozedUntil?string

ISO 8601 (or epoch ms) until which the mention leaves the feed; null wakes it.

Formatdate-time
note?string|null

Internal note; null or empty clears it.

Lengthlength <= 2000
relevant?boolean|null

Your verdict on relevance, correcting the classifier: true sets relevance to 100 and puts a filtered mention back in the relevant feed, false sets it to 0 and takes it out; null withdraws the verdict and restores the classifier's score. Never billed or unbilled. A mention still being classified answers 409 classification_pending.

sentiment?string|null

Your corrected sentiment; null withdraws the correction and restores the classifier's.

Value in"positive" | "neutral" | "negative"

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://api.mentio.dev/v1/mentions/mm_abc123" \  -H "Content-Type: application/json" \  -d '{}'
{
  "id": "string",
  "status": "open",
  "relevant": true,
  "delivered": true,
  "priority": 0,
  "keyword": {
    "id": "string",
    "term": "string"
  },
  "post": {
    "platform": "bluesky",
    "url": "string",
    "text": "string",
    "links": [
      "string"
    ],
    "publishedAt": "string",
    "replyTo": {
      "author": "string",
      "url": "string",
      "text": "string"
    }
  },
  "author": {
    "id": "string",
    "name": "string",
    "handle": "string",
    "url": "string",
    "avatarUrl": "string",
    "followers": 0,
    "tags": [
      "string"
    ]
  },
  "classification": {
    "relevance": 100,
    "sentiment": "positive",
    "intents": [
      "string"
    ],
    "automated": true,
    "language": "string",
    "note": "string",
    "failed": true,
    "feedback": {
      "relevant": true,
      "sentiment": "positive",
      "at": "string",
      "original": {
        "relevance": 100,
        "sentiment": "positive"
      }
    }
  },
  "triage": {
    "assignee": {
      "id": "string",
      "name": "string",
      "email": "string"
    },
    "snoozedUntil": "string",
    "note": "string"
  },
  "createdAt": "string"
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "retryAfterSeconds": 0
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "retryAfterSeconds": 0
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "retryAfterSeconds": 0
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "retryAfterSeconds": 0
  }
}