Skip to main content
POST
Add a tag to a card

Authorizations

Authorization
string
header
default:dav_ak_live_your_token
required

Personal access token. The scopes granted at issuance determine both which operations the key may call and the ceiling on the resource permissions it can exercise. Each scope family is a ladder: projects:manage implies projects:write and projects:read; cards:manage implies cards:write and cards:read; and teams:manage implies teams:write and teams:read. These are named API capability bundles, not blanket domain roles: manage exposes only the permissions enumerated for that scope and never bypasses the acting user's current role-based access.

Headers

If-Match
string

Quoted or unquoted latest card historyHeadId. When the request body also contains expectedHistoryHeadId, both values must match. A stale head returns 409 CARD_HISTORY_CONFLICT without applying the mutation.

Maximum string length: 132

Path Parameters

projectId
string
required

Project id. May be compound in the form {projectId}--{branchName}.

Minimum string length: 1
cardId
string<uuid>
required

Agile card id.

Body

application/json
tagId
string<uuid>
required
expectedHistoryHeadId
string<uuid> | null

Latest committed card-history row ID; null only before a card has history.

Response

Tag attached, or already attached.

The link field is omitted when the identical link already existed.

historyHeadId
string<uuid> | null
required

Latest committed card-history row ID; null only before a card has history.

historyHeadSequence
string | null
required

Globally monotonic card-history sequence.

Pattern: ^\d+$
indexCard
object | null