> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getqr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Skabeloner

> Gem genanvendelige QR-kodedesigns, og anvend dem på nye QR-koder.

> [!NOTE]
>
> GetQR API'et er i beta og er tilgængeligt for udvalgte arbejdsområder. Detaljer kan ændre sig før den generelle udgivelse.

En skabelon gemmer et genanvendeligt design: `styles`, `frameOptions` og `logoOptions`. Den indeholder aldrig indhold eller et link. Skabeloner deles af alle i arbejdsområdet.

| Metode | Sti | Beskrivelse |
| - | - | - |
| `GET` | `/api/v1/templates` | [Vis skabeloner](#vis-skabeloner) |
| `POST` | `/api/v1/templates` | [Opret en skabelon](#opret-en-skabelon) |
| `GET` | `/api/v1/templates/{templateId}` | [Hent en skabelon](#hent-en-skabelon) |
| `PATCH` | `/api/v1/templates/{templateId}` | [Opdater en skabelon](#opdater-en-skabelon) |
| `DELETE` | `/api/v1/templates/{templateId}` | [Slet en skabelon](#slet-en-skabelon) |
| `POST` | `/api/v1/templates/{templateId}/duplicate` | [Duplikér en skabelon](#duplikér-en-skabelon) |

## Anvend en skabelon

Angiv `templateId`, når du [opretter en QR-kode](https://docs.getqr.com/da/api/endpoints/qr-codes.md). Skabelonens design anvendes på den nye QR-kode. Designobjekter, du sender i samme forespørgsel, flettes oven på det.

* **Kopieret, ikke forbundet.** QR-koden beholder sin egen kopi af designet. Redigerer eller sletter du skabelonen senere, ændres QR-koden ikke.
* **Kun tilpassede designs.** En skabelon med `designKind` `branded` eller `ai` kan ikke anvendes via API'et og returnerer `422` (`art_template_unsupported`).
* **Kun dit arbejdsområde.** En ukendt skabelon eller en fra et andet arbejdsområde returnerer `404`.

## Headere

**Authorization** `string` *required*

`Bearer` efterfulgt af din API-nøgle. Se [Godkendelse](https://docs.getqr.com/da/api/authentication.md).

**Content-Type** `string`

`application/json`. Påkrævet ved forespørgsler med en body.

## Skabelonobjektet

**id** `string`

Skabelonens id, f.eks. `qrt_8Hs2mQvKpLd4RtYw`.

**name** `string`

Navnet, der vises, når du vælger en skabelon.

**designKind** `string`

Skrivebeskyttet. `custom` er et design, som API'et kan redigere fuldt ud. `branded` og `ai` er et Branded design eller AI design lavet i dashboardet: Dets billede kan ikke redigeres via API'et, og det bevares, når du ændrer de andre designfelter.

**design** `object`

Det gemte design. Hvert felt har samme form som forespørgselsfeltet med samme navn, så du kan sende det tilbage.

**properties**

**styles** `object | null`

Former og farver på prikker og hjørner.

**frameOptions** `object | null`

Rammen rundt om QR-koden og dens handlingstekst.

**logoOptions** `object | null`

Logo i midten.

**createdAt** `string`

Oprettelsesdato, ISO 8601.

**updatedAt** `string`

Dato for seneste opdatering, ISO 8601.

## Vis skabeloner

`GET /api/v1/templates`

Returnerer skabelonerne i dit arbejdsområde med de nyeste først. Listen er pagineret: se [Paginering](https://docs.getqr.com/da/api/introduction.md#paginering).

**page** `integer` (default: 1)

Siden, der returneres, 1 eller højere.

**pageSize** `integer` (default: 100)

Resultater pr. side, 1 til 100.

```bash cURL theme={null}
curl "https://getqr.com/api/v1/templates?page=1&pageSize=100" \
  -H "Authorization: Bearer $GETQR_API_KEY"
```

```json 200 theme={null}
{
  "data": [
    {
      "id": "qrt_8Hs2mQvKpLd4RtYw",
      "name": "Brand blue",
      "designKind": "custom",
      "design": {
        "styles": {
          "dotsOptions": { "type": "rounded", "color": "#1E40AF" },
          "backgroundOptions": { "color": "#FFFFFF" }
        },
        "frameOptions": null,
        "logoOptions": null
      },
      "createdAt": "2026-07-20T09:12:00.000Z",
      "updatedAt": "2026-07-20T09:12:00.000Z"
    }
  ],
  "pagination": { "page": 1, "pageSize": 100, "total": 1, "hasMore": false }
}
```

## Opret en skabelon

`POST /api/v1/templates`

Gemmer et nyt design. Svarer `201 Created`. Designfelterne kontrolleres mod katalogerne i [Tilpasning](https://docs.getqr.com/da/api/guides/customization.md), så en ukendt form, ramme eller et ukendt logo afvises med `422`.

**name** `string` *required*

Navnet, der vises, når du vælger en skabelon, 1 til 40 tegn.

**styles** `object`

Former og farver på prikker og hjørner. Se [Tilpasning](https://docs.getqr.com/da/api/guides/customization.md).

**frameOptions** `object`

Rammen rundt om QR-koden og dens handlingstekst. Se [Tilpasning](https://docs.getqr.com/da/api/guides/customization.md).

**logoOptions** `object`

Logo i midten: et foreslået logo eller din egen fil uploadet med target `logo` i [Filer](https://docs.getqr.com/da/api/endpoints/files.md). Se [Tilpasning](https://docs.getqr.com/da/api/guides/customization.md).

```bash cURL theme={null}
curl -X POST "https://getqr.com/api/v1/templates" \
  -H "Authorization: Bearer $GETQR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Brand blue",
    "styles": {
      "dotsOptions": { "type": "rounded", "color": "#1E40AF" },
      "backgroundOptions": { "color": "#FFFFFF" }
    }
  }'
```

```json 201 theme={null}
{
  "id": "qrt_8Hs2mQvKpLd4RtYw",
  "name": "Brand blue",
  "designKind": "custom",
  "design": {
    "styles": {
      "dotsOptions": { "type": "rounded", "color": "#1E40AF" },
      "backgroundOptions": { "color": "#FFFFFF" }
    },
    "frameOptions": null,
    "logoOptions": null
  },
  "createdAt": "2026-07-20T09:12:00.000Z",
  "updatedAt": "2026-07-20T09:12:00.000Z"
}
```

## Hent en skabelon

`GET /api/v1/templates/{templateId}`

**templateId** `string` *required*

Skabelonens id. Hent det fra svaret på listen eller oprettelsen.

```bash cURL theme={null}
curl "https://getqr.com/api/v1/templates/qrt_8Hs2mQvKpLd4RtYw" \
  -H "Authorization: Bearer $GETQR_API_KEY"
```

```json 200 theme={null}
{
  "id": "qrt_8Hs2mQvKpLd4RtYw",
  "name": "Brand blue",
  "designKind": "custom",
  "design": {
    "styles": {
      "dotsOptions": { "type": "rounded", "color": "#1E40AF" },
      "backgroundOptions": { "color": "#FFFFFF" }
    },
    "frameOptions": null,
    "logoOptions": null
  },
  "createdAt": "2026-07-20T09:12:00.000Z",
  "updatedAt": "2026-07-20T09:12:00.000Z"
}
```

## Opdater en skabelon

`PATCH /api/v1/templates/{templateId}`

Send kun de felter, du vil ændre. Designobjekter flettes ind i det gemte design, så et delvist `styles` bevarer resten. QR-koder, der allerede er oprettet ud fra skabelonen, beholder det design, de blev lavet med.

**templateId** `string` *required*

Skabelonens id.

**name** `string`

Nyt navn, 1 til 40 tegn.

**styles** `object`

Ændringer i stil, flettet ind i de gemte `styles`.

**frameOptions** `object`

Ændringer i rammen, flettet ind i den gemte ramme.

**logoOptions** `object`

Ændringer i logoet, flettet ind i det gemte logo.

```bash cURL theme={null}
curl -X PATCH "https://getqr.com/api/v1/templates/qrt_8Hs2mQvKpLd4RtYw" \
  -H "Authorization: Bearer $GETQR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Brand blue (2026)" }'
```

```json 200 theme={null}
{
  "id": "qrt_8Hs2mQvKpLd4RtYw",
  "name": "Brand blue (2026)",
  "designKind": "custom",
  "design": {
    "styles": {
      "dotsOptions": { "type": "rounded", "color": "#1E40AF" },
      "backgroundOptions": { "color": "#FFFFFF" }
    },
    "frameOptions": null,
    "logoOptions": null
  },
  "createdAt": "2026-07-20T09:12:00.000Z",
  "updatedAt": "2026-08-14T09:00:00.000Z"
}
```

## Slet en skabelon

`DELETE /api/v1/templates/{templateId}`

Sletter skabelonen. QR-koder, der er oprettet ud fra den, beholder deres design.

**templateId** `string` *required*

Skabelonens id.

```bash cURL theme={null}
curl -X DELETE "https://getqr.com/api/v1/templates/qrt_8Hs2mQvKpLd4RtYw" \
  -H "Authorization: Bearer $GETQR_API_KEY"
```

```json 200 theme={null}
{ "id": "qrt_8Hs2mQvKpLd4RtYw", "deleted": true }
```

## Duplikér en skabelon

`POST /api/v1/templates/{templateId}/duplicate`

Opretter en kopi med navnet `<name> copy`, med sit eget id og et uafhængigt design, du frit kan redigere. Tager ingen body. Svarer `201 Created`.

**templateId** `string` *required*

Id'et på den skabelon, der skal kopieres.

```bash cURL theme={null}
curl -X POST "https://getqr.com/api/v1/templates/qrt_8Hs2mQvKpLd4RtYw/duplicate" \
  -H "Authorization: Bearer $GETQR_API_KEY"
```

```json 201 theme={null}
{
  "id": "qrt_2Kd9pLm4Xs7BnVcQ",
  "name": "Brand blue copy",
  "designKind": "custom",
  "design": {
    "styles": {
      "dotsOptions": { "type": "rounded", "color": "#1E40AF" },
      "backgroundOptions": { "color": "#FFFFFF" }
    },
    "frameOptions": null,
    "logoOptions": null
  },
  "createdAt": "2026-08-14T09:30:00.000Z",
  "updatedAt": "2026-08-14T09:30:00.000Z"
}
```

## Almindelige problemer

> [accordion] 404 "QR template not found."
>
> `templateId` matcher ikke en skabelon i dit arbejdsområde. Hent det fra [Vis skabeloner](#vis-skabeloner).

> [accordion] 422 ved oprettelse eller opdatering af en skabelon
>
> Et designfelt passer ikke til katalogerne, f.eks. en ukendt prikform, ramme eller et ukendt foreslået logo. Beskeden nævner feltet. Se [Tilpasning](https://docs.getqr.com/da/api/guides/customization.md).

> [accordion] 422 art\_template\_unsupported ved oprettelse af en QR-kode
>
> Skabelonen bruger et Branded design eller AI design. Anvend i stedet en skabelon med `designKind` `custom`.

## Næste skridt

> [card] [Tilpasning](https://docs.getqr.com/da/api/guides/customization.md)

> [card] [QR-koder](https://docs.getqr.com/da/api/endpoints/qr-codes.md)

> [card] [Skabeloner i appen](https://docs.getqr.com/da/templates/save-template.md)

> [card] [Filer](https://docs.getqr.com/da/api/endpoints/files.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.