> ## 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.

# Mallar

> Spara återanvändbara QR-koddesigner och tillämpa dem på nya QR-koder.

> [!NOTE]
>
> GetQR:s API är i beta och finns för utvalda arbetsytor. Detaljer kan ändras före den allmänna lanseringen.

En mall sparar en återanvändbar design: `styles`, `frameOptions` och `logoOptions`. Den innehåller aldrig innehåll eller en länk. Mallar delas av alla i arbetsytan.

| Metod | Sökväg | Beskrivning |
| - | - | - |
| `GET` | `/api/v1/templates` | [Lista mallar](#lista-mallar) |
| `POST` | `/api/v1/templates` | [Skapa en mall](#skapa-en-mall) |
| `GET` | `/api/v1/templates/{templateId}` | [Hämta en mall](#hämta-en-mall) |
| `PATCH` | `/api/v1/templates/{templateId}` | [Uppdatera en mall](#uppdatera-en-mall) |
| `DELETE` | `/api/v1/templates/{templateId}` | [Ta bort en mall](#ta-bort-en-mall) |
| `POST` | `/api/v1/templates/{templateId}/duplicate` | [Duplicera en mall](#duplicera-en-mall) |

## Tillämpa en mall

Skicka `templateId` när du [skapar en QR-kod](https://docs.getqr.com/sv/api/endpoints/qr-codes.md). Mallens design tillämpas på den nya QR-koden. De av de tre designobjekten som du skickar i samma begäran slås samman ovanpå den.

* **Kopieras, länkas inte.** QR-koden behåller en egen kopia av designen. Om du redigerar eller tar bort mallen senare påverkas den inte.
* **Bara anpassade designer.** En mall med `designKind` `branded` eller `ai` kan inte tillämpas via API:et och returnerar `422` (`art_template_unsupported`).
* **Bara din arbetsyta.** En okänd mall, eller en från en annan arbetsyta, returnerar `404`.

## Huvuden

**Authorization** `string` *required*

`Bearer` följt av din API-nyckel. Se [Autentisering](https://docs.getqr.com/sv/api/authentication.md).

**Content-Type** `string`

`application/json`. Krävs för begäranden med body.

## Mallobjektet

**id** `string`

Mallens id, till exempel `qrt_8Hs2mQvKpLd4RtYw`.

**name** `string`

Namnet som visas när du väljer mall.

**designKind** `string`

Skrivskyddat. `custom` är en design som API:et kan redigera helt. `branded` och `ai` är en varumärkesdesign eller AI-design som skapats i instrumentpanelen: dess bild kan inte redigeras via API:et, och den behålls när du ändrar de andra designfälten.

**design** `object`

Den sparade designen. Varje fält har samma form som fältet med samma namn i begäran, så du kan skicka tillbaka det.

**properties**

**styles** `object | null`

Former och färger för prickar och hörn.

**frameOptions** `object | null`

Ramen runt QR-koden och dess uppmaningstext.

**logoOptions** `object | null`

Logotyp i mitten.

**createdAt** `string`

Datum då den skapades, ISO 8601.

**updatedAt** `string`

Datum för senaste uppdatering, ISO 8601.

## Lista mallar

`GET /api/v1/templates`

Returnerar arbetsytans mallar, med de nyaste först. Listan är paginerad: se [Paginering](https://docs.getqr.com/sv/api/introduction.md#paginering).

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

Sidan som returneras, 1 eller högre.

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

Resultat per sida, 1 till 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 }
}
```

## Skapa en mall

`POST /api/v1/templates`

Sparar en ny design. Svarar `201 Created`. Designfälten kontrolleras mot katalogerna i [Anpassning](https://docs.getqr.com/sv/api/guides/customization.md), så en okänd form, ram eller logotyp avvisas med `422`.

**name** `string` *required*

Namnet som visas när du väljer mall, 1 till 40 tecken.

**styles** `object`

Former och färger för prickar och hörn. Se [Anpassning](https://docs.getqr.com/sv/api/guides/customization.md).

**frameOptions** `object`

Ramen runt QR-koden och dess uppmaningstext. Se [Anpassning](https://docs.getqr.com/sv/api/guides/customization.md).

**logoOptions** `object`

Logotyp i mitten: en föreslagen logotyp, eller din egen fil uppladdad med target `logo` i [Filer](https://docs.getqr.com/sv/api/endpoints/files.md). Se [Anpassning](https://docs.getqr.com/sv/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"
}
```

## Hämta en mall

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

**templateId** `string` *required*

Mallens id. Hämta det från svaret på listningen eller skapandet.

```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"
}
```

## Uppdatera en mall

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

Skicka bara de fält du vill ändra. Designobjekten slås samman med den sparade designen, så en partiell `styles` behåller resten. QR-koder som redan har skapats från mallen behåller den design de skapades med.

**templateId** `string` *required*

Mallens id.

**name** `string`

Nytt namn, 1 till 40 tecken.

**styles** `object`

Stiländringar, sammanslagna med den sparade `styles`.

**frameOptions** `object`

Ramändringar, sammanslagna med den sparade ramen.

**logoOptions** `object`

Logotypändringar, sammanslagna med den sparade logotypen.

```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"
}
```

## Ta bort en mall

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

Tar bort mallen. QR-koder som skapats från den behåller sin design.

**templateId** `string` *required*

Mallens 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 }
```

## Duplicera en mall

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

Skapar en kopia med namnet `<name> copy`, med ett eget id och en oberoende design som du kan redigera fritt. Tar ingen body. Svarar `201 Created`.

**templateId** `string` *required*

Id för mallen som ska kopieras.

```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"
}
```

## Vanliga problem

> [accordion] 404 "QR template not found."
>
> `templateId` matchar ingen mall i din arbetsyta. Hämta det från [Lista mallar](#lista-mallar).

> [accordion] 422 när en mall skapas eller uppdateras
>
> Ett designfält matchar inte katalogerna, till exempel en okänd pricktyp, ram eller föreslagen logotyp. Meddelandet anger fältet. Se [Anpassning](https://docs.getqr.com/sv/api/guides/customization.md).

> [accordion] 422 art\_template\_unsupported när en QR-kod skapas
>
> Mallen använder en varumärkesdesign eller AI-design. Tillämpa i stället en mall med `designKind` `custom`.

## Nästa steg

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

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

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

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


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