Merge a tag into another
Repoints every tagging carrying this tag onto the tag named by `into` (duplicates collapse), then deletes this tag. The governance answer to synonym drift — idempotent, and convergent if re-run. Returns the surviving tag.
Repoints every tagging carrying this tag onto the tag named by into (duplicates collapse), then deletes this tag. The governance answer to synonym drift — idempotent, and convergent if re-run. Returns the surviving tag.
Authorization
bearerAuth tags:updateA gallery API key, sent as Authorization: Bearer gpk_… (or the x-api-key header).
In: header
Scope: tags:update
Path Parameters
Header Parameters
Optional. Send a unique key per logical operation to make retries safe: a retry with the same key replays the stored success for 14 days instead of re-running the write. Reusing a key with a different body returns 400.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Merge this tag into another: repoint every tagging, delete this tag.
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
{ "id": "string", "name": "string", "color": "slate", "facet": "medium", "created_at": "string", "updated_at": "string"}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}List tags GET
Returns the gallery's tag vocabulary, ordered by name, each with its per-resource-type usage counts (the governance read — dead tags are the ones with no counts).
List everything carrying a tag GET
The cross-resource read: every record carrying this tag, as typed references (`owner_type` + prefixed id), newest first. Row-level security filters the list to owner types the caller can read.