Keywords

Update a keyword

Mute or unmute it, reclassify it (`kind`), change the platforms it is tracked on, its classifier `context`, or its `matching` rules (each rule field optional; an empty list clears one). Rules apply to new mentions from the next poll; stored mentions are untouched.

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

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

In: header

Path Parameters

idstring

Keyword id (kw_...).

Length1 <= length
kind?string

Reclassify it as brand, competitor or topic.

Value in"brand" | "competitor" | "topic"
muted?boolean

A muted keyword stops polling and matching; its mentions stay.

platforms?|null

Replaces the platform list; null means every platform.

Items1 <= items
context?string|null

A sentence the classifier reads for this keyword only, on top of the company profile (at most 300 characters): what the term means here, what to ignore. "Arc is our browser; ignore the geometry word." Null clears it.

Lengthlength <= 300
matching?

Omitted fields are untouched; an empty list clears one.

Response Body

application/json

application/json

application/json

application/json

curl -X PATCH "https://api.mentio.dev/v1/keywords/kw_abc123" \  -H "Content-Type: application/json" \  -d '{}'
{
  "id": "string",
  "term": "string",
  "kind": "brand",
  "muted": true,
  "pausedForBalance": true,
  "platforms": [
    "bluesky"
  ],
  "context": "string",
  "matching": {
    "requiredTerms": [
      "string"
    ],
    "requiredMode": "any",
    "excludedTerms": [
      "string"
    ],
    "excludedAuthors": [
      "string"
    ],
    "caseSensitive": true
  },
  "stats": {
    "mentions": 0,
    "relevant": 0,
    "last7d": 0,
    "lastMentionAt": "string",
    "feedback": {
      "relevant": 0,
      "notRelevant": 0
    }
  },
  "polling": [
    {
      "platform": "bluesky",
      "lastPolledAt": "string",
      "emptyPolls": 0
    }
  ],
  "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
  }
}