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.
API key minted via POST /v1/api-keys (format mk_live_...)
In: header
Path Parameters
Keyword id (kw_...).
1 <= lengthReclassify it as brand, competitor or topic.
"brand" | "competitor" | "topic"A muted keyword stops polling and matching; its mentions stay.
Replaces the platform list; null means every platform.
1 <= itemsA 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.
length <= 300Omitted 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
}
}List keywords GET
Every keyword of the workspace, newest first, with its match stats and poll health.
Export mentions as CSV GET
The same mentions GET /v1/mentions would list for these filters, as CSV, newest matched first (the order they entered your feed, which can differ from the post date): id, published_at, platform, keyword, author, author_url, author_followers, relevance, sentiment, intents (pipe-separated), status, relevant, delivered, url, text (first 1,000 characters). Capped at 10,000 rows; the X-Mentions-Truncated header says when the cap cut the list. At most 6 exports per minute per workspace; a 429 carries Retry-After.