Replace Artifact tags

PUT
/v1/scopes/{scope_id}/artifacts/{family}/{artifact_id}/tags

Scope-local labels follow logical identity without changing content revisions. Inactive manifest entries remain valid targets.

Authorization

BearerAuth
AuthorizationBearer <token>

Bearer credential resolved to an opaque authenticated Principal by the Server deployment.

In: header

Path Parameters

scope_id*string
Length1 <= length <= 256
family*string

Artifact families supporting logical tags; Prompt configurations are excluded.

Value in

  • "memory"
  • "experience"
  • "skill"
  • "handoff"
artifact_id*string
Length1 <= length <= 128

Header Parameters

If-Match*string
Length1 <= length

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Replace all labels atomically. Empty clears the set. Labels preserve display text, use NFC then casefold for exact matching, and reject normalized duplicates, outer whitespace, and Unicode control, surrogate or unassigned characters.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://example.com/v1/scopes/string/artifacts/memory/string/tags" \  -H "If-Match: string" \  -H "Content-Type: application/json" \  -d '{    "tags": []  }'
{  "scope_id": "string",  "target": {    "type": "artifact",    "family": "memory",    "artifact_id": "string"  },  "tags": [],  "tag_digest": "string"}