Replace a workflow's tags
workflow:writeREPLACES the whole tag set — send the complete list you want, not a delta; {"tags": []} clears every tag. To merge instead, use POST /api/workflows/bulk with op: addTags.
This is a dedicated column write: it never touches the definition, never mints a version and never bumps definitionRev, so it is safe on a live workflow and cannot conflict with an in-flight editor save. Tags are trimmed, blank entries dropped, and deduplicated case-insensitively with the first spelling kept — so ["Prod", "prod"] stores one tag, Prod. The response is a bare acknowledgement, not the workflow: read the tags back with GET /api/workflows/{id} if you need them.
Authorization
bearerAuth An API token: Authorization: Bearer grt_…. Mint one in the app under Settings → Workspace → API tokens; the raw value is shown once. Scopes confine the token — see x-permission on each operation.
In: header
Path Parameters
Workflow id.
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/api/workflows/497f6eca-6276-4993-bfeb-53cbbbba6f08/tags" \ -H "Content-Type: application/json" \ -d '{ "tags": [ "prod", "billing" ] }'{ "data": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "updated": true }}