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

# Sjablonen

> Sla herbruikbare QR-codeontwerpen op en pas ze toe op nieuwe QR-codes.

> [!NOTE]
>
> De GetQR API is in bèta en beschikbaar voor geselecteerde workspaces. Details kunnen nog veranderen vóór de algemene release.

Een sjabloon bewaart een herbruikbaar ontwerp: `styles`, `frameOptions` en `logoOptions`. Het bevat nooit inhoud of een link. Sjablonen worden gedeeld met iedereen in de workspace.

| Methode | Pad | Beschrijving |
| - | - | - |
| `GET` | `/api/v1/templates` | [Sjablonen weergeven](#sjablonen-weergeven) |
| `POST` | `/api/v1/templates` | [Een sjabloon maken](#een-sjabloon-maken) |
| `GET` | `/api/v1/templates/{templateId}` | [Een sjabloon ophalen](#een-sjabloon-ophalen) |
| `PATCH` | `/api/v1/templates/{templateId}` | [Een sjabloon bijwerken](#een-sjabloon-bijwerken) |
| `DELETE` | `/api/v1/templates/{templateId}` | [Een sjabloon verwijderen](#een-sjabloon-verwijderen) |
| `POST` | `/api/v1/templates/{templateId}/duplicate` | [Een sjabloon dupliceren](#een-sjabloon-dupliceren) |

## Een sjabloon toepassen

Geef `templateId` mee wanneer je [een QR-code maakt](https://docs.getqr.com/nl/api/endpoints/qr-codes.md). Het ontwerp van het sjabloon wordt op de nieuwe QR-code toegepast. Ontwerpobjecten die je in hetzelfde verzoek meestuurt, worden eroverheen samengevoegd.

* **Gekopieerd, niet gekoppeld.** De QR-code houdt een eigen kopie van het ontwerp. Als je het sjabloon later bewerkt of verwijdert, verandert de QR-code niet.
* **Alleen eigen ontwerpen.** Een sjabloon met `designKind` `branded` of `ai` kan niet via de API worden toegepast en geeft `422` (`art_template_unsupported`).
* **Alleen je eigen workspace.** Een onbekend sjabloon, of een sjabloon uit een andere workspace, geeft `404`.

## Headers

**Authorization** `string` *required*

`Bearer` gevolgd door je API-sleutel. Zie [Authenticatie](https://docs.getqr.com/nl/api/authentication.md).

**Content-Type** `string`

`application/json`. Verplicht bij verzoeken met een body.

## Het sjabloonobject

**id** `string`

ID van het sjabloon, bijvoorbeeld `qrt_8Hs2mQvKpLd4RtYw`.

**name** `string`

Naam die je ziet bij het kiezen van een sjabloon.

**designKind** `string`

Alleen-lezen. `custom` is een ontwerp dat de API volledig kan bewerken. `branded` en `ai` zijn een Branded design of AI design dat in het dashboard is gemaakt: de afbeelding ervan kun je niet via de API bewerken, en die blijft behouden wanneer je de andere ontwerpvelden wijzigt.

**design** `object`

Het opgeslagen ontwerp. Elk veld heeft dezelfde vorm als het gelijknamige veld in het verzoek, zodat je het terug kunt sturen.

**properties**

**styles** `object | null`

Vormen en kleuren van stippen en hoeken.

**frameOptions** `object | null`

Frame rond de QR-code en de bijbehorende call-to-actiontekst.

**logoOptions** `object | null`

Logo in het midden.

**createdAt** `string`

Aanmaakdatum, ISO 8601.

**updatedAt** `string`

Datum van de laatste update, ISO 8601.

## Sjablonen weergeven

`GET /api/v1/templates`

Geeft de sjablonen van je workspace terug, de nieuwste eerst. De lijst is gepagineerd: zie [Paginering](https://docs.getqr.com/nl/api/introduction.md#paginering).

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

Pagina die wordt teruggegeven, 1 of hoger.

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

Resultaten per pagina, 1 tot 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 }
}
```

## Een sjabloon maken

`POST /api/v1/templates`

Slaat een nieuw ontwerp op. Antwoordt met `201 Created`. De ontwerpvelden worden gecontroleerd tegen de catalogi in [Aanpassing](https://docs.getqr.com/nl/api/guides/customization.md), dus een onbekende vorm, een onbekend frame of een onbekend logo wordt geweigerd met `422`.

**name** `string` *required*

Naam die je ziet bij het kiezen van een sjabloon, 1 tot 40 tekens.

**styles** `object`

Vormen en kleuren van stippen en hoeken. Zie [Aanpassing](https://docs.getqr.com/nl/api/guides/customization.md).

**frameOptions** `object`

Frame rond de QR-code en de bijbehorende call-to-actiontekst. Zie [Aanpassing](https://docs.getqr.com/nl/api/guides/customization.md).

**logoOptions** `object`

Logo in het midden: een voorgesteld logo, of je eigen bestand, geüpload met de target `logo` van [Bestanden](https://docs.getqr.com/nl/api/endpoints/files.md). Zie [Aanpassing](https://docs.getqr.com/nl/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"
}
```

## Een sjabloon ophalen

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

**templateId** `string` *required*

ID van het sjabloon. Neem die over uit het antwoord van de lijst of van het aanmaken.

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

## Een sjabloon bijwerken

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

Stuur alleen de velden die je wilt wijzigen. Ontwerpobjecten worden samengevoegd met het opgeslagen ontwerp, dus bij een gedeeltelijke `styles` blijft de rest behouden. QR-codes die al met het sjabloon zijn gemaakt, houden het ontwerp waarmee ze zijn gemaakt.

**templateId** `string` *required*

ID van het sjabloon.

**name** `string`

Nieuwe naam, 1 tot 40 tekens.

**styles** `object`

Stijlwijzigingen, samengevoegd met de opgeslagen `styles`.

**frameOptions** `object`

Framewijzigingen, samengevoegd met het opgeslagen frame.

**logoOptions** `object`

Logowijzigingen, samengevoegd met het opgeslagen 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"
}
```

## Een sjabloon verwijderen

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

Verwijdert het sjabloon. QR-codes die ermee zijn gemaakt, houden hun ontwerp.

**templateId** `string` *required*

ID van het sjabloon.

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

## Een sjabloon dupliceren

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

Maakt een kopie met de naam `<name> copy`, met een eigen ID en een onafhankelijk ontwerp dat je vrij kunt bewerken. Heeft geen request-body. Antwoordt met `201 Created`.

**templateId** `string` *required*

ID van het sjabloon dat je wilt kopiëren.

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

## Veelvoorkomende problemen

> [accordion] 404 "QR template not found."
>
> De `templateId` komt niet overeen met een sjabloon in je workspace. Neem hem over uit [Sjablonen weergeven](#sjablonen-weergeven).

> [accordion] 422 bij het maken of bijwerken van een sjabloon
>
> Een ontwerpveld komt niet overeen met de catalogi, bijvoorbeeld een onbekend stiptype, frame of voorgesteld logo. Het bericht noemt het veld. Zie [Aanpassing](https://docs.getqr.com/nl/api/guides/customization.md).

> [accordion] 422 art\_template\_unsupported bij het maken van een QR-code
>
> Het sjabloon gebruikt een Branded design of AI design. Pas in plaats daarvan een sjabloon toe met `designKind` `custom`.

## Volgende stappen

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

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

> [card] [Sjablonen in de app](https://docs.getqr.com/nl/templates/save-template.md)

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


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