---
title: "Update a tag"
method: PATCH
path: "/tag/{id}"
tags: ["Tags"]
---

# Update a tag

`PATCH /tag/{id}`

## Request

- Base URL: `https://api.qrcodly.de/api/v1`
- URL: `https://api.qrcodly.de/api/v1/tag/{id}`
- Auth: HTTP bearer

Partially updates a tag name and/or color. Only the owner can update their tags.

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `name` string: Tag display name (max 32 characters)
  - `color` string: Tag color as hex code (e.g. "#FF5733")

## Response `200`

Default Response

- object
  - `id` string, uuid, required: Unique identifier (UUID v4)
  - `createdAt` string, date-time, required: Timestamp when the resource was created (ISO 8601)
  - `updatedAt` string, date-time, nullable, required: Timestamp when the resource was last updated (ISO 8601), or null if never updated
  - `name` string, required: Tag display name (max 32 characters)
  - `color` string, required: Tag color as hex code (e.g. "#FF5733")
  - `createdBy` string, required: User ID of the tag owner
  - `qrCodeCount` number: Number of QR codes assigned to this tag

## Other responses

- `400`: Bad Request — invalid input or validation failure
- `401`: Unauthorized — missing or invalid Bearer token.
- `403`: Forbidden — you do not have permission to access this resource.
- `404`: Not Found — the requested resource does not exist.
- `429`: Too Many Requests — rate limit exceeded. Retry after the rate limit window resets.

---

[API](https://skmtc.dev/qrcodly/apis/qrcodly-api.md) · [All operations](https://skmtc.dev/qrcodly/apis/qrcodly-api/llms.txt) · [OpenAPI document](https://skmtc.dev/qrcodly/apis/qrcodly-api/revisions/b7e95eb68866?raw)
