Duplicate a keyword
Creates a new keyword from this one's settings under a new term, or the same term in another group: its kind, platforms, context, every matching rule, its monthly mention cap and its comments setting. Review pages and feeds are copied only when named in include. The copy is a new keyword: $5 a month, and the newest posts of the last 30 days come in at once, as for any new keyword.
Authorization
bearerAuth An API key from POST /v1/api-keys. Keys start with ref_.
In: header
Path Parameters
Keyword id (kw_...).
1 <= lengthRequest Body
application/json
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/keywords/kw_abc123/duplicate" \ -H "Content-Type: application/json" \ -d '{ "term": "string" }'{ "id": "string", "term": "string", "kind": "brand", "muted": true, "pausedForBalance": true, "pausedForNoise": true, "pausedForCap": true, "cap": { "mentions": 1, "welcome": true, "own": 0 }, "comments": { "enabled": true, "maxPerPost": 1 }, "group": { "id": "string", "name": "string", "externalId": "string", "isDefault": true }, "platforms": [ "bluesky" ], "feeds": [ { "url": "string", "title": "string", "connectedAt": "string" } ], "reviewSources": [ { "platform": "appstore", "id": "string", "url": "string", "countries": [ "string" ], "language": "string", "connectedAt": "string" } ], "context": "string", "matching": { "requiredTerms": [ "string" ], "requiredMode": "any", "excludedTerms": [ "string" ], "excludedAuthors": [ "string" ], "caseSensitive": true }, "stats": { "mentions": 0, "relevant": 0, "last7d": 0, "thisMonth": 0, "lastMentionAt": "string", "feedback": { "relevant": 0, "notRelevant": 0 }, "noise": { "scored": 0, "relevant": 0, "noisy": true }, "health": "healthy", "cost": { "keywordDays": 0, "keywordCents": 0, "billableMentions": 0, "mentionCents": 0, "billableComments": 0, "commentCents": 0, "totalCents": 0 } }, "polling": [ { "platform": "bluesky", "lastPolledAt": "string", "emptyPolls": 0 } ], "createdAt": "string"}Delete a keyword
Deletes the keyword with its matches. A post that another keyword also matched is kept.
Check a keyword's health
Checks whether the keyword earns its cost over `range` (default 30d). Returns a status (healthy, noisy, quiet, capped, paused or new) with plain-word reasons, numbers by platform and week, cost, the words and authors behind the noise, and suggestions. Send a suggestion's `patch` unchanged to PATCH /v1/keywords/{id}. Its effect comes from replaying the matcher's rules on the window's posts. `ai=true` adds a model-written context (cached a day, up to 20 model calls an hour per workspace). Read only and never billed. Reports are cached 5 minutes and rebuilt after a keyword change. Up to 30 reads a minute per workspace.