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

# Introduktion till API:et

> Hantera QR-koder, mallar, statistik och rapporter från din egen kod.

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

GetQR:s API är ett REST-API för det du gör i instrumentpanelen: skapa och uppdatera QR-koder, ladda ned deras bilder, läsa skanningsstatistik och exportera rapporter. Autentisera dig med kontots API-nyckel och anropa versionerade slutpunkter under `/api/v1`.

## Vad du kan göra

> [card] [QR-koder](https://docs.getqr.com/sv/api/endpoints/qr-codes.md)
>
> Skapa, lista, uppdatera, pausa, duplicera, ta bort och ladda ned QR-koder.

> [card] [Analys](https://docs.getqr.com/sv/api/endpoints/analytics.md)
>
> Totalt antal skanningar och uppdelningar för en QR-kod eller hela arbetsytan.

> [card] [Rapporter](https://docs.getqr.com/sv/api/endpoints/reports.md)
>
> Exportera en engångsrapport eller schemalägg återkommande rapporter via e-post.

> [card] [Mallar](https://docs.getqr.com/sv/api/endpoints/templates.md)
>
> Spara designer och tillämpa dem på nya QR-koder.

> [card] [Massskapande av QR-koder](https://docs.getqr.com/sv/api/endpoints/bulk-qr-creations.md)
>
> Skapa upp till 100 QR-koder på en gång från JSON eller en CSV-fil.

> [card] [Filer](https://docs.getqr.com/sv/api/endpoints/files.md)
>
> Ladda upp PDF-filer, bilder, videor och logotyper till dina QR-koder.

> [card] [Status](https://docs.getqr.com/sv/api/endpoints/health.md)
>
> Kontrollera att API:et är uppe. Ingen API-nyckel behövs.

## Guider

> [card] [QR-typer](https://docs.getqr.com/sv/api/guides/qr-types.md)
>
> Dataformatet för var och en av de 16 QR-typerna.

> [card] [Anpassning](https://docs.getqr.com/sv/api/guides/customization.md)
>
> Prickstilar, hörn, färger, ramar och logotyper.

> [card] [Åtkomstregler](https://docs.getqr.com/sv/api/guides/access-rules.md)
>
> Scheman, skanningsgränser, lösenord, pausning och borttagning.

## Bas-URL

Alla slutpunkter finns under en och samma bas-URL:

```text theme={null}
https://getqr.com/api/v1
```

## Versionshantering

API-versionen ingår i sökvägen: alla slutpunkter finns under `/api/v1/`.

* Bakåtinkompatibla ändringar släpps under ett nytt versionsprefix, till exempel `/api/v2/`, och `/api/v1/` fortsätter att fungera.
* Tillägg, som nya valfria fält eller nya slutpunkter, kan dyka upp inom v1. Ignorera fält i svaret som din kod inte känner igen.

## Snabbstart

**1. Hämta din API-nyckel**

Generera eller visa nyckeln i kontoinställningarna. Se [Autentisering](https://docs.getqr.com/sv/api/authentication.md).

**2. Kontrollera att API:et går att nå**

```bash theme={null}
curl https://getqr.com/api/v1/health
```

Svaret är `{ "status": "ok", "version": "v1" }`.

**3. Skapa din första QR-kod**

```bash theme={null}
curl -X POST "https://getqr.com/api/v1/qrs" \
  -H "Authorization: Bearer $GETQR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: first-qr-0001" \
  -d '{
    "qrType": "website",
    "data": "https://example.com",
    "title": "Landing page"
  }'
```

API:et svarar `201` med den nya QR-koden, inklusive dess `id` och `shortLink`.

**4. Ladda ned bilden**

```bash theme={null}
curl "https://getqr.com/api/v1/qrs/{qrId}/download?format=png&resolution=1024" \
  -H "Authorization: Bearer $GETQR_API_KEY" \
  --output qr-code.png
```

## Begäranden och svar

* **Format.** Skicka begärans body som JSON med `Content-Type: application/json`. Undantaget är CSV-uppladdningen för [massskapande](https://docs.getqr.com/sv/api/endpoints/bulk-qr-creations.md), som använder `multipart/form-data`.
* **Svar.** Svaren är JSON. Nedladdningar, som QR-bilder och ZIP-arkiv från massskapande, returnerar själva filen.
* **Datum.** Datum är ISO 8601-strängar i UTC, till exempel `2026-08-01T10:00:00.000Z`.
* **Frågeparametrar.** Booleska parametrar tar strängarna `true` eller `false`.
* **Partiella uppdateringar.** `PATCH`-slutpunkter ändrar bara de fält du skickar.
* **Hemligheter.** Svaren innehåller aldrig lösenord eller interna id:n. En lösenordsskyddad QR-kod rapporterar bara `passwordProtected: true`.
* **Arbetsyta.** Varje begäran körs i den arbetsyta som din API-nyckel hör till. Du skickar inget arbetsyte-id. Se [Åtkomst och roller](https://docs.getqr.com/sv/api/authentication.md#åtkomst-och-roller).
* **Fel.** Misslyckade begäranden returnerar ett `error`-objekt med en stabil `code`. Se [Fel](https://docs.getqr.com/sv/api/errors.md).

## Paginering

Listslutpunkter (QR-koder, mallar och schemalagda rapporter) tar två frågeparametrar:

| Parameter | Beskrivning |
| - | - |
| `page` | Sidan som returneras. Standard är `1`. |
| `pageSize` | Resultat per sida, högst `100`. Standard är `100`. |

De svarar med en `data`-array och ett `pagination`-objekt:

```json theme={null}
{
  "data": [ … ],
  "pagination": { "page": 1, "pageSize": 50, "total": 128, "hasMore": true }
}
```

| Fält | Beskrivning |
| - | - |
| `page` | Sidan du fick. |
| `pageSize` | Sidstorleken du fick. |
| `total` | Antal resultat på alla sidor. |
| `hasMore` | `true` så länge det finns en sida till. |

Begär nästa sida så länge `hasMore` är `true`. En `pageSize` över `100` returnerar [`422`](https://docs.getqr.com/sv/api/errors#valideringsfel).

## Idempotens

Vid ett nätverksfel kan du bli osäker på om en begäran gick igenom. För att säkert kunna försöka [Skapa en QR-kod](https://docs.getqr.com/sv/api/endpoints/qr-codes.md#skapa-en-qr-kod) igen skickar du ett `Idempotency-Key`-huvud med ett unikt värde som du själv väljer:

```bash theme={null}
-H "Idempotency-Key: order-4821-qr"
```

* Om du upprepar begäran med samma nyckel inom 24 timmar returneras det ursprungliga svaret i stället för att en andra QR-kod skapas.
* Svarshuvudet `x-idempotent-replay` är `true` för ett upprepat svar och `false` för ett nytt.
* Om den första begäran med nyckeln fortfarande körs svarar API:et `409 conflict`. Försök igen när den är klar.
* Om du återanvänder en nyckel med en annan body svarar API:et `422 unprocessable_entity`.
* Utan huvudet behandlas en identisk body som skickas inom 30 sekunder som en dubblett.

Massskapanden tar i stället ett `idempotencyKey`-fält i begärans body. Se [Massskapande av QR-koder](https://docs.getqr.com/sv/api/endpoints/bulk-qr-creations.md).

## Hastighetsbegränsningar

Varje API-nyckel kan skicka upp till 600 begäranden per minut. Se [Hastighetsbegränsningar](https://docs.getqr.com/sv/api/rate-limits.md).

## Kommer senare

Tryckfärdiga paket planeras till en senare version.

## Nästa steg

> [card] [Autentisering](https://docs.getqr.com/sv/api/authentication.md)

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


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