Skip to main content
POST
Bulk update analytics tags

Authorizations

Authorization
string
header
required

OAuth 2.1 authorization code + PKCE (S256). Tokens are tenant-bound (company_id) and scoped. Discover endpoints via /.well-known/oauth-authorization-server.

Body

application/json

At least one of selectedPostIds, query or filters is required, otherwise the route returns 400 rather than tag the whole company by default. That guard is weaker than it looks. filters satisfies it without narrowing anything, so a request whose only target is filters resolves to every post in the company - capped at the 5,000 most recently uploaded. A query of *, or any other symbol-only string, does the same, because it produces no searchable tokens and the text predicate is dropped. Narrow with selectedPostIds, or with a query containing real words.

operation
enum<string>
required

How to apply the tags across all matched posts.

Available options:
add,
remove,
replace
tags
string[]
required

Tag strings to apply (at least one after sanitization).

Minimum array length: 1
selectedPostIds
string[]

Explicit post ids to target.

query
string

Free-text search over post title/creator/contractorName to select targets. Pass "*" to mean all posts.

filters
string

Accepted but never read. It is a legacy wire field kept for deploy compatibility and has no replacement on this endpoint, so it does NOT narrow the target set - see the warning on this schema.

Response

Per-post results and errors for the bulk tag operation.

data
object
required