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

# Adgangsregler

> Planlæg en start og en slutning, begræns antallet af scanninger, kræv en adgangskode, og sæt en QR-kode på pause, genaktiver eller slet den.

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

Styr, hvornår en QR-kode løses, hvor mange gange den kan scannes, om den beder om en adgangskode, og om den er sat på pause eller slettet.

## Før du starter

* **Rolle.** Opsætning af regler, pause, genaktivering og sletning kræver skriveadgang til QR-koder i arbejdsområdet. Se [Godkendelse](https://docs.getqr.com/da/api/authentication.md).
* **Abonnement.** Alle forespørgsler til API'et kræver et aktivt abonnement hos ejeren af arbejdsområdet, også disse.

## Access-objektet

Send et `access`-objekt, når du [opretter](https://docs.getqr.com/da/api/endpoints/qr-codes.md#opret-en-qr-kode) eller [opdaterer](https://docs.getqr.com/da/api/endpoints/qr-codes.md#opdater-en-qr-kode) en QR-kode:

```text theme={null}
POST  /api/v1/qrs
PATCH /api/v1/qrs/{qrId}
```

| Felt | Type | Beskrivelse |
| - | - | - |
| `activeAt` | string (ISO 8601) \| null | Planlagt start. Før dette tidspunkt viser scanninger pausesiden i stedet for destinationen. `null` betyder aktiv med det samme. |
| `pauseAt` | string (ISO 8601) \| null | Planlagt slutning. Fra og med dette tidspunkt viser scanninger pausesiden. `null` betyder ingen slutdato. |
| `scanLimit` | integer \| null | Maksimalt antal scanninger i QR-kodens levetid. Når det er overskredet, viser scanninger pausesiden. `null` betyder ubegrænset. |
| `password` | string \| null | Adgangskode, som besøgende skal indtaste, før de viderestilles. Når du sender den, slås beskyttelsen også til. |
| `passwordProtected` | boolean | Om QR-koden beder om en adgangskode. `false` slår beskyttelsen fra, men beholder den gemte adgangskode. `true` slår den til igen. |

Felter, du udelader, forbliver uændrede. Send `null` for at rydde en regel. Et delvist `access`-objekt nulstiller aldrig regler, du ikke har nævnt.

> [!WARNING]
>
> Adgangsregler hører til under `access`. Sender du `activeAt`, `pauseAt`, `scanLimit`, `password` eller `passwordProtected` under `link`, får du `422`.

## Planlæg en start og en slutning

`activeAt` og `pauseAt` er uafhængige: Angiv den ene eller begge. Begge tager ISO 8601-datoer med klokkeslæt, med `Z` eller en UTC-forskydning.

```bash theme={null}
curl -X PATCH "https://getqr.com/api/v1/qrs/qr_abc123" \
  -H "Authorization: Bearer $GETQR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "access": {
      "activeAt": "2026-08-01T09:00:00Z",
      "pauseAt": "2026-08-31T23:59:59Z"
    }
  }'
```

Send `null` for at rydde tidsplanen. Så bliver QR-koden aktiv med det samme, og slutdatoen fjernes:

```json theme={null}
{
  "access": { "activeAt": null, "pauseAt": null }
}
```

## Scanningsgrænse

Begræns det samlede antal scanninger. Derefter holder QR-koden op med at blive løst:

```json theme={null}
{
  "access": { "scanLimit": 500 }
}
```

Tælleren for scanninger i hele levetiden kører altid, uanset om der er sat en grænse. Det gør ændringer af grænsen forudsigelige:

* **Hæver du grænsen**, frigøres præcis (ny grænse minus samlede scanninger) flere scanninger.
* **Sænker du grænsen** til under det nuværende samlede antal, blokeres QR-koden med det samme.
* **Sætter du en grænse senere**, tælles de scanninger med, der skete, mens der ikke var nogen grænse.

`scanLimit` skal være et positivt heltal, op til 2147483647. Send `null` for ubegrænset.

## Adgangskodebeskyttelse

Angiv en adgangskode via det samme `access`-objekt. Den gemte adgangskode bevares, når du slår beskyttelsen fra, så du kan slå den til igen uden at sende den igen.

**1. Angiv eller skift adgangskoden**

Det slår også beskyttelsen til.

```json theme={null}
{ "access": { "password": "hunter2" } }
```

**2. Slå beskyttelsen fra**

Den gemte adgangskode bevares.

```json theme={null}
{ "access": { "passwordProtected": false } }
```

**3. Slå beskyttelsen til igen**

Du behøver ikke sende adgangskoden igen. Det virker kun, når der er angivet en adgangskode. Ellers giver forespørgslen `422`.

```json theme={null}
{ "access": { "passwordProtected": true } }
```

* **Ved oprettelse.** Send `password` for at slå beskyttelsen til. `passwordProtected` alene har ingen effekt, før der findes en adgangskode.
* **Fjernelse af adgangskoden.** Send `"password": null`. Beskyttelsen slås også fra.
* **Læsning.** Svar returnerer aldrig adgangskoden, kun `access.passwordProtected`.

## Pause, genaktivering og sletning

Pause og genaktivering er separate endepunkter frem for `access`-felter, fordi de træder i kraft med det samme i stedet for efter en tidsplan.

| Metode | Sti | Beskrivelse |
| - | - | - |
| `POST` | `/api/v1/qrs/{qrId}/pause` | [Sæt QR-koden på pause nu](https://docs.getqr.com/da/api/endpoints/qr-codes.md#sæt-en-qr-kode-på-pause). Scanninger viser pausesiden, indtil du genaktiverer den. |
| `POST` | `/api/v1/qrs/{qrId}/activate` | [Genaktiver en QR-kode på pause](https://docs.getqr.com/da/api/endpoints/qr-codes.md#genaktiver-en-qr-kode). Eventuelle tidsplaner og scanningsgrænser gælder stadig. |
| `DELETE` | `/api/v1/qrs/{qrId}` | [Slet QR-koden](https://docs.getqr.com/da/api/endpoints/qr-codes.md#slet-en-qr-kode) og dens kortlink permanent. |

Pause og activate tager ingen body og returnerer den opdaterede [QR-kode](https://docs.getqr.com/da/api/endpoints/qr-codes.md#qr-kodeobjektet):

```bash theme={null}
curl -X POST "https://getqr.com/api/v1/qrs/qr_abc123/pause" \
  -H "Authorization: Bearer $GETQR_API_KEY"
```

```json theme={null}
{
  "id": "qr_abc123",
  "archived": true,
  "…": "…"
}
```

Du kan også angive pausetilstanden med `PUT /api/v1/qrs/{qrId}` og `{ "archived": true }` eller med `archived` i en `PATCH`. Se [Angiv pausetilstanden](https://docs.getqr.com/da/api/endpoints/qr-codes.md#angiv-pausetilstanden).

Sletning fjerner QR-koden og dens kortlink sammen:

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

> [!WARNING]
>
> Sletning kan ikke fortrydes. Kortlinket holder op med at blive løst, så trykte koder holder op med at virke. Sæt i stedet QR-koden på pause, hvis du måske får brug for den igen.

## Hvornår ændringer træder i kraft

* **Næste scanning.** Regler tjekkes, når en kode scannes, så en ændring gælder fra næste scanning, ikke med tilbagevirkende kraft.
* **Pausesiden.** En QR-kode, der er blokeret af en tidsplan, en scanningsgrænse eller en pause, viser pausesiden. Scanningen viderestilles ikke.
* **Adgangskode.** Besøgende, der allerede har indtastet adgangskoden, beholder adgangen, indtil adgangskoden ændres, eller indtil beskyttelsen slås fra og til igen.
* **Ur.** Tidsplaner bruger serverens ur i UTC, ikke den besøgendes lokale tid.
* **Regler kombineres.** En QR-kode løses kun, når den ikke er sat på pause, er inden for sin tidsplan og er under sin scanningsgrænse.

## Almindelige problemer

> [accordion] 422, når en regel angives under link
>
> Send reglen under `access`, ikke `link`.

> [accordion] 422, når adgangskodebeskyttelse slås til
>
> QR-koden har endnu ingen adgangskode. Send `password` i stedet for `passwordProtected: true`.

> [accordion] QR-koden viser stadig pausesiden efter genaktivering
>
> En tidsplan eller scanningsgrænse gælder stadig. Tjek `access.activeAt`, `access.pauseAt` og `access.scanLimit` i [QR-koden](https://docs.getqr.com/da/api/endpoints/qr-codes.md#hent-en-qr-kode), og sammenlign `scans` med grænsen.

> [accordion] Linket skal udløbe
>
> `link.expiresAt` er ikke tilgængelig i dette API. Brug `access.pauseAt` i stedet.

## Næste skridt

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

> [card] [QR-kodedata efter type](https://docs.getqr.com/da/api/guides/qr-types.md)


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