---
title: "Update a QR code"
method: PATCH
path: "/qrcodes/{id}"
tags: ["QR Codes"]
---

# Update a QR code

`PATCH /qrcodes/{id}`

## Request

- Base URL: `https://getdynamicqr.com/api/v1`
- URL: `https://getdynamicqr.com/api/v1/qrcodes/{id}`
- Auth: API key in header `X-Client-ID` and HTTP bearer

Updates the mutable fields of a QR code. Only supplied fields are changed.

## Path parameters

- `id` integer, required

## Request body

- object
  - `name` string: A new label.
  - `destination_url` string: A new destination URL.
  - `is_active` boolean: Enable or disable the QR code.
  - `expires_at` string: ISO-8601 datetime or null to clear.
  - `slug` string: A new short link. Needs the custom_slug plan feature; without it the field is ignored and the existing slug is preserved.
  - `color_foreground` string: Hex colour for the modules.
  - `color_background` string: Hex background colour.
  - `dot_style` string: square, rounded, dots, classy, classy_rounded, extra_rounded.
  - `frame_style` string: none, simple, rounded, bold, banner, label_top.
  - `frame_text` string: Label under the code. Max 50 chars.
  - `show_type_icon` boolean: Draw the type's icon in the middle.
  - `expired_url` string: Where to send scans once the code has expired.

## Response `200`

OK

## Other responses

- `401`: No credentials, or credentials that are not valid.
- `403`: The account is inactive, or the plan does not carry this feature.
- `429`: Rate limit exceeded. See `Retry-After`.

---

[API](https://skmtc.dev/getdynamicqr/apis/d-qr-rest-api.md) · [All operations](https://skmtc.dev/getdynamicqr/apis/d-qr-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getdynamicqr/apis/d-qr-rest-api/revisions/4467aeca30ce?raw)
