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

# QR kodi

> Izveidojiet, skatiet sarakstā, atjauniniet, pauzējiet, dublējiet, dzēsiet un lejupielādējiet QR kodus.

> [!NOTE]
>
> GetQR API ir beta versijā un pieejams atlasītām darbvietām. Līdz vispārējai izlaišanai detaļas var mainīties.

QR kods GetQR ir attēls kopā ar īso saiti, caur kuru tas novirza. Izveidojot QR kodu, tiek izveidota arī tā īsā saite, tāpēc vēlāk varat mainīt mērķi, nepārdrukājot kodu.

| Metode | Ceļš | Apraksts |
| - | - | - |
| `GET` | `/api/v1/qrs` | [QR kodu saraksts](#qr-kodu-saraksts) |
| `POST` | `/api/v1/qrs` | [QR koda izveide](#qr-koda-izveide) |
| `GET` | `/api/v1/qrs/{qrId}` | [QR koda iegūšana](#qr-koda-iegūšana) |
| `PATCH` | `/api/v1/qrs/{qrId}` | [QR koda atjaunināšana](#qr-koda-atjaunināšana) |
| `PUT` | `/api/v1/qrs/{qrId}` | [Pauzes stāvokļa iestatīšana](#pauzes-stāvokļa-iestatīšana) |
| `POST` | `/api/v1/qrs/{qrId}/pause` | [QR koda pauzēšana](#qr-koda-pauzēšana) |
| `POST` | `/api/v1/qrs/{qrId}/activate` | [QR koda atkārtota aktivizēšana](#qr-koda-atkārtota-aktivizēšana) |
| `POST` | `/api/v1/qrs/{qrId}/duplicate` | [QR koda dublēšana](#qr-koda-dublēšana) |
| `DELETE` | `/api/v1/qrs/{qrId}` | [QR koda dzēšana](#qr-koda-dzēšana) |
| `GET` | `/api/v1/qrs/{qrId}/download` | [QR koda attēla lejupielāde](#qr-koda-attēla-lejupielāde) |

> [card] [QR koda dati pēc veida](https://docs.getqr.com/lv/api/guides/qr-types.md)
>
> `data` formāts katram no 16 veidiem.

> [card] [Pielāgošana](https://docs.getqr.com/lv/api/guides/customization.md)
>
> Punktu stili, krāsas, rāmji un logotipi.

> [card] [Piekļuves noteikumi](https://docs.getqr.com/lv/api/guides/access-rules.md)
>
> Grafiks, skenējumu ierobežojums un parole.

QR koda skenēšanas statistiku skatiet sadaļā [Analītika](https://docs.getqr.com/lv/api/endpoints/analytics.md).

## QR koda objekts

Visi QR kodu galapunkti atbild ar šo objektu, izņemot [dzēšanu](#qr-koda-dzēšana) un [lejupielādi](#qr-koda-attēla-lejupielāde). Saraksts atgriež šādu objektu masīvu.

**id** `string`

Unikāls QR koda ID, piemēram, `qr_1EPcVfeHZAY2iNoVLsgW2Aqf`.

**qrType** `string`

QR koda veids, piemēram, `website`. Visas 16 vērtības skatiet sadaļā [QR koda dati pēc veida](https://docs.getqr.com/lv/api/guides/qr-types.md).

**title** `string | null`

QR koda nosaukums, kas redzams informācijas panelī.

**description** `string | null`

Brīva teksta piezīme par QR kodu.

**data** `string`

Saglabātais saturs. Veidiem `wifi`, `vcard`, `social`, `multilink`, `event` un `sms` tas ir jūsu nosūtītais saturs. Visiem pārējiem veidiem tā ir īsā saite, tāpēc mērķi nolasiet no `url`.

**archived** `boolean`

`true`, ja QR kods ir pauzēts.

**isStatic** `boolean`

`true` statiskam QR kodam, kas izveidots informācijas panelī un kam nav īsās saites. API vienmēr izveido dinamiskus QR kodus.

**shortLink** `string | null`

Pilna īsā saite, piemēram, `https://getqr.sh/x7Kd2p1`.

**domain** `string | null`

Īsās saites domēns.

**key** `string | null`

Īsās saites slug.

**keyIsCustom** `boolean`

`true`, ja slug tika izvēlēts, nevis ģenerēts.

**url** `string | null`

Mērķis, uz kuru novirza īsā saite.

**ios** `string | null`

Mērķis iOS apmeklētājiem `app` QR kodiem.

**android** `string | null`

Mērķis Android apmeklētājiem `app` QR kodiem.

**scans** `integer`

Kopējais skenējumu skaits.

**access** `object`

Piekļuves noteikumi. Pati parole nekad netiek atgriezta. Skatiet [Piekļuves noteikumi](https://docs.getqr.com/lv/api/guides/access-rules.md).

**properties**

**passwordProtected** `boolean`

Vai apmeklētājiem jāievada parole.

**activeAt** `string | null`

Plānotais sākums, ISO 8601.

**pauseAt** `string | null`

Plānotās beigas, ISO 8601.

**scanLimit** `integer | null`

Maksimālais skenējumu skaits.

**designKind** `string`

Tikai lasāms. `custom` ir dizains, ko API var pilnībā rediģēt. `branded` un `ai` ir informācijas panelī izveidots Branded vai AI dizains. API nevar rediģēt tā attēlu, bet saglabā to, kad maināt citus laukus.

**design** `object`

Saglabātais dizains: `styles`, `frameOptions` un `logoOptions`, katrs ir objekts vai `null`. Tiem ir tāda pati forma kā pieprasījuma laukiem, tāpēc varat tos nosūtīt atpakaļ. Skatiet [Pielāgošana](https://docs.getqr.com/lv/api/guides/customization.md).

**file** `object | null`

`pdf`, `image` vai `video` QR koda fails: `id`, `name` un `size` baitos.

**appName** `string | null`

Tikai lasāms. Informācijas panelī izveidota `app` QR koda attēlotais nosaukums.

**pdfBundle** `object | null`

Tikai lasāms. Informācijas panelī izveidots `pdf` QR kods ar vairākiem failiem: `title`, `layout` un `files`.

**imageGallery** `object | null`

Tikai lasāms. Informācijas panelī izveidots `image` QR kods ar vairākiem attēliem: `title`, `layout` un `files`.

**createdAt** `string`

Izveides datums, ISO 8601.

**updatedAt** `string`

Pēdējās atjaunināšanas datums, ISO 8601.

Noslēpumi un iekšējie ID (`password`, `userId`, `workspaceId`, `projectId`) nekad netiek atgriezti.

```json theme={null}
{
  "id": "qr_1EPcVfeHZAY2iNoVLsgW2Aqf",
  "qrType": "website",
  "title": "Landing page",
  "description": null,
  "data": "https://getqr.sh/x7Kd2p1",
  "archived": false,
  "isStatic": false,
  "shortLink": "https://getqr.sh/x7Kd2p1",
  "domain": "getqr.sh",
  "key": "x7Kd2p1",
  "keyIsCustom": false,
  "url": "https://example.com",
  "ios": null,
  "android": null,
  "scans": 128,
  "access": {
    "passwordProtected": false,
    "activeAt": null,
    "pauseAt": null,
    "scanLimit": null
  },
  "designKind": "custom",
  "design": {
    "styles": { "dotsOptions": { "type": "rounded", "color": "#1E40AF" }, … },
    "frameOptions": { "id": "card", "text": "Scan me!", … },
    "logoOptions": { "type": "suggested", "id": "logo-website-3", "scalePercent": 25 }
  },
  "file": null,
  "appName": null,
  "pdfBundle": null,
  "imageGallery": null,
  "createdAt": "2026-08-01T10:00:00.000Z",
  "updatedAt": "2026-08-01T10:00:00.000Z"
}
```

## QR kodu saraksts

`GET /api/v1/qrs`

Atgriež jūsu darbvietas QR kodus pa vienai lapai.

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

Atgriežamā lapa, 1 vai vairāk.

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

QR kodi lapā, no 1 līdz 100. Lielāka vērtība tiek noraidīta.

**search** `string`

Meklē QR koda nosaukumā. Vaicājumi, kas garāki par 2 rakstzīmēm, meklē arī saglabātajā `data`. Saišu veidiem saglabātais `data` ir īsā saite, tāpēc mērķa URL meklēšanā netiek atrasti.

**sortBy** `string` (default: createdAt)

Kārtošanas lauks: `createdAt`, `updatedAt`, `clicks` (kopējie skenējumi), `lastClicked` (pēdējais skenējums) vai `type`. `type` vienmēr kārto dilstošā secībā un ignorē `sortOrder`.

**sortOrder** `string` (default: desc)

Kārtošanas virziens: `asc` vai `desc`.

**showArchived** `boolean` (default: false)

Iekļaut pauzētus QR kodus.

**onlyArchived** `boolean` (default: false)

Atgriezt tikai pauzētus QR kodus. Ignorē `showArchived`.

Būla parametri pieņem virknes `true` vai `false`. Pieprasiet nākamo lapu, kamēr `pagination.hasMore` ir `true`. Skatiet [Lapošana](https://docs.getqr.com/lv/api/introduction.md#lapošana).

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

```json 200 theme={null}
{
  "data": [
    {
      "id": "qr_1EPcVfeHZAY2iNoVLsgW2Aqf",
      "qrType": "website",
      "title": "Landing page",
      "shortLink": "https://getqr.sh/x7Kd2p1",
      "url": "https://example.com",
      "scans": 128,
      "…": "…"
    }
  ],
  "pagination": { "page": 1, "pageSize": 100, "total": 1, "hasMore": false }
}
```

## QR koda izveide

`POST /api/v1/qrs`

Izveido QR kodu kopā ar tā īso saiti. Atbild ar `201 Created` un jauno [QR kodu](#qr-koda-objekts).

**Idempotency-Key** `string`

Jūsu atkārtojuma marķieris. Atkārtojot pieprasījumu ar to pašu atslēgu 24 stundu laikā, tiek atgriezta sākotnējā atbilde, nevis izveidots otrs QR kods. Skatiet [Atkārtojumi un dublikāti](#atkārtojumi-un-dublikāti).

**qrType** `string` *required*

Ko QR kods kodē. Tas nosaka arī formātu, kādā jābūt `data`. Viens no `website`, `pdf`, `image`, `video`, `whatsapp`, `social`, `wifi`, `app`, `feedback`, `vcard`, `sms`, `payment`, `location`, `multilink`, `email`, `event`.

**data** `string` *required*

Veida saturs, kas tiek pārbaudīts pret `qrType`. Tukša virkne izlaiž pārbaudi. Katra veida formāts ir aprakstīts sadaļā [QR koda dati pēc veida](https://docs.getqr.com/lv/api/guides/qr-types.md).

**link** `object`

Īsā saite, caur kuru QR kods novirza. Nav obligāts: ja izlaists, `link.url` seko `data`.

**properties**

**url** `string`

Mērķis, uz kuru novirza īsā saite. Ja izlaists vai tukšs, noklusējums ir `data`. Ja nosūtīti abi un tie atšķiras, priekšroka ir `link.url`. `vcard`, `social`, `multilink` un `event` QR kodi vienmēr norāda uz savu mitināto lapu, un `pdf`, `image` un `video` QR kodi ar `fileId` — uz failu. Pieņemtās shēmas: `http:`, `https:`, `wifi:`, `mailto:`, `sms:`, `begin:`.

**domain** `string`

Īsās saites domēns. Tam jābūt jūsu darbvietas aktīvam domēnam: cits domēns saņem `403`, bet domēns, kas vēl nav aktīvs, saņem `422`. Noklusējums ir darbvietas noklusējuma domēns.

**key** `string`

Īsās saites slug, no 3 līdz 15 rakstzīmēm, tiek saglabāts mazajiem burtiem. Neatļauts slug saņem `422`, bet aizņemts — `409`. Ja izlaists, tiek ģenerēts nejaušs 7 rakstzīmju slug.

**ios** `string | null`

Mērķa URL iOS apmeklētājiem `app` QR kodiem.

**android** `string | null`

Mērķa URL Android apmeklētājiem `app` QR kodiem.

**title** `string | null`

Saites priekšskatījuma nosaukums (`og:title`), saglabāts īsajā saitē. Atšķiras no paša QR koda `title`. Pagaidām tas nekur netiek rādīts.

**description** `string | null`

Saites priekšskatījuma apraksts (`og:description`), saglabāts īsajā saitē. Pagaidām tas nekur netiek rādīts.

**expiresAt, expiredUrl** `—`

Šajā API nav pieejami: jebkura no tiem nosūtīšana atgriež `422`. Lai apturētu QR kodu noteiktā laikā, izmantojiet `access.pauseAt`.

**title** `string`

QR koda nosaukums, kas redzams informācijas panelī. Apgriezts, no 1 līdz 40 rakstzīmēm. Ja izlaists, QR kodam nav nosaukuma.

**description** `string`

Brīva teksta piezīme par QR kodu. Līdz 280 rakstzīmēm.

**fileId** `string`

`pdf`, `image` vai `video` QR koda fails, kas augšupielādēts ar atbilstošo target. Veidiem `vcard`, `social` un `multilink` — neobligāts profila attēls, kas augšupielādēts ar target `logo`. `event` to arī pieņem, bet tā lapa vāka attēlu nolasa no `data.fileId`. Citi veidi saņem `422`. Vispirms augšupielādējiet failu ar [Faili](https://docs.getqr.com/lv/api/endpoints/files.md). Skatiet [Faili QR kodos](https://docs.getqr.com/lv/api/guides/qr-types.md#faili-qr-kodos).

**templateId** `string`

[Veidne](https://docs.getqr.com/lv/api/endpoints/templates.md), kuras dizains tiek piemērots jaunajam QR kodam. Nosūtītie dizaina lauki tiek apvienoti virs tās. Branded vai AI dizaina veidne saņem `422` (`art_template_unsupported`). Nezināma veidne vai veidne no citas darbvietas saņem `404`.

**styles** `object`

Punktu un stūru formas un krāsas. Skatiet [Pielāgošana](https://docs.getqr.com/lv/api/guides/customization.md).

**frameOptions** `object`

Rāmis ap QR kodu un tā aicinājuma rīkoties teksts. Skatiet [Pielāgošana](https://docs.getqr.com/lv/api/guides/customization.md).

**logoOptions** `object`

Logotips centrā: ieteiktais logotips vai jūsu fails, kas augšupielādēts ar target `logo`. Nezināms fails, nepabeigta augšupielāde vai cita target fails tiek noraidīts. Skatiet [Pielāgošana](https://docs.getqr.com/lv/api/guides/customization.md).

**access** `object`

Grafiks, skenējumu ierobežojums un paroles aizsardzība. Skatiet [Piekļuves noteikumi](https://docs.getqr.com/lv/api/guides/access-rules.md).

**properties**

**activeAt** `string | null`

Plānotais sākums, ISO 8601.

**pauseAt** `string | null`

Plānotās beigas, ISO 8601.

**scanLimit** `integer | null`

Maksimālais skenējumu skaits, pozitīvs vesels skaitlis.

**password** `string | null`

Parole, kas apmeklētājiem jāievada. Tās nosūtīšana ieslēdz aizsardzību.

**passwordProtected** `boolean`

Izslēdz vai atkal ieslēdz aizsardzību, saglabājot paroli.

**archived** `boolean`

Vai QR kods ir pauzēts. `true` izveido to pauzētu: skenējumi rāda pauzes lapu, nevis mērķi.

Nezināmi lauki tiek izmesti bez kļūdas. Skatiet [Nav pieejams API](https://docs.getqr.com/lv/api/guides/qr-types.md#nav-pieejams-api).

```bash cURL 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: landing-page-2026-08" \
  -d '{
    "qrType": "website",
    "data": "https://example.com",
    "title": "Landing page",
    "access": { "scanLimit": 500 }
  }'
```

```json 201 theme={null}
{
  "id": "qr_1EPcVfeHZAY2iNoVLsgW2Aqf",
  "qrType": "website",
  "title": "Landing page",
  "data": "https://getqr.sh/x7Kd2p1",
  "shortLink": "https://getqr.sh/x7Kd2p1",
  "url": "https://example.com",
  "scans": 0,
  "access": { "passwordProtected": false, "activeAt": null, "pauseAt": null, "scanLimit": 500 },
  "…": "…"
}
```

### Atkārtojumi un dublikāti

* **Ar atslēgu.** Ar galveni `Idempotency-Key` atbilde tiek atkārtota 24 stundas.
* **Bez atslēgas.** Identisks pamatteksts, kas nosūtīts 30 sekunžu laikā, tiek uzskatīts par dublikātu.
* **Atkārtotas atbildes.** Atkārtota atbilde atgriež saglabāto atbildi ar `x-idempotent-replay: true`. Jauns QR kods atgriež `false`.
* **Apstrādē.** Otrs pieprasījums, kamēr pirmais vēl tiek apstrādāts, saņem `409 conflict`.
* **Kļūmes.** Neveiksmīga izveide atslēgu atbrīvo uzreiz, tāpēc varat mēģināt vēlreiz ar to pašu atslēgu.
* **Pēc labākās iespējas.** Ja aizsardzība nav pieejama, izveide notiek bez tās.

Skatiet arī [Idempotence](https://docs.getqr.com/lv/api/introduction.md#idempotence).

## QR koda iegūšana

`GET /api/v1/qrs/{qrId}`

Atgriež [QR kodu](#qr-koda-objekts) ar tā īso saiti, piekļuves noteikumiem, dizainu un, failu veidiem, tā failu.

**qrId** `string` *required*

QR koda ID no saraksta vai izveides atbildes.

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

Atbilde ir pilns [QR koda objekts](#qr-koda-objekts).

## QR koda atjaunināšana

`PATCH /api/v1/qrs/{qrId}`

Maina QR koda saturu, mērķi, dizainu vai piekļuves noteikumus. Sūtiet tikai tos laukus, kurus vēlaties mainīt. Atbild ar atjaunināto [QR kodu](#qr-koda-objekts).

**qrId** `string` *required*

QR koda ID.

Pamatteksts pieņem tos pašus laukus kā [QR koda izveide](#qr-koda-izveide), visi nav obligāti, ar šādām atšķirībām:

* **`templateId`.** Netiek pieņemts.
* **`link`.** Daļējs. Ja izlaižat `link.url`, pašreizējais mērķis tiek saglabāts. `link.domain` un `link.key` saņem `422`: izdrukātais kods kodē tieši īso saiti, tāpēc, lai izmantotu citu, izveidojiet jaunu QR kodu.
* **`data`.** Tiek pārbaudīts pret iegūto veidu tikai tad, ja mainās `data` vai `qrType`. `qrType` maiņa bez atbilstoša `data` tiek noraidīta. Skatiet [Veida maiņa](https://docs.getqr.com/lv/api/guides/qr-types.md#veida-maiņa).
* **Dizains.** `styles`, `frameOptions` un `logoOptions` tiek apvienoti ar saglabāto dizainu, tāpēc daļējs objekts maina tikai to, ko tas norāda. Izvēloties citu logotipu, tas tiek aizstāts, bet tā izmērs paliek.
* **`access`.** Katra atslēga tiek piemērota, ja tā ir norādīta. `null` noņem noteikumu. Piekļuves noteikumi pieder objektam `access`: nosūtot tos objektā `link`, tiek atgriezts `422`.
* **`archived`.** Pauzē vai atkārtoti aktivizē QR kodu kopā ar tā īso saiti, tāpat kā [pauzēšana](#qr-koda-pauzēšana) un [atkārtota aktivizēšana](#qr-koda-atkārtota-aktivizēšana).

```bash cURL theme={null}
curl -X PATCH "https://getqr.com/api/v1/qrs/qr_1EPcVfeHZAY2iNoVLsgW2Aqf" \
  -H "Authorization: Bearer $GETQR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Autumn campaign",
    "access": { "password": "s3cr3t", "passwordProtected": true }
  }'
```

```json 200 theme={null}
{
  "id": "qr_1EPcVfeHZAY2iNoVLsgW2Aqf",
  "title": "Autumn campaign",
  "access": { "passwordProtected": true, "activeAt": null, "pauseAt": null, "scanLimit": null },
  "…": "…"
}
```

Ko katrs veids ļauj mainīt pēc izdrukāšanas, skatiet sadaļā [QR koda dati pēc veida](https://docs.getqr.com/lv/api/guides/qr-types.md).

## Pauzes stāvokļa iestatīšana

`PUT /api/v1/qrs/{qrId}`

Tieši iestata pauzes stāvokli. [Pauzēšana](#qr-koda-pauzēšana) un [atkārtota aktivizēšana](#qr-koda-atkārtota-aktivizēšana) dara to pašu un ir vieglāk saprotamas.

**qrId** `string` *required*

QR koda ID.

**archived** `boolean` *required*

`true`, lai pauzētu QR kodu, `false`, lai to atkārtoti aktivizētu.

```bash cURL theme={null}
curl -X PUT "https://getqr.com/api/v1/qrs/qr_1EPcVfeHZAY2iNoVLsgW2Aqf" \
  -H "Authorization: Bearer $GETQR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "archived": true }'
```

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

## QR koda pauzēšana

`POST /api/v1/qrs/{qrId}/pause`

Aptur QR koda novirzīšanu uz mērķi: skenējumi tā vietā rāda pauzes lapu. Izdrukātais kods un tā īsā saite paliek derīgi. Bez pieprasījuma pamatteksta.

**qrId** `string` *required*

QR koda ID.

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

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

## QR koda atkārtota aktivizēšana

`POST /api/v1/qrs/{qrId}/activate`

Pauzēts QR kods atkal novirza uz savu mērķi. Grafiks un skenējumu ierobežojums joprojām ir spēkā. Bez pieprasījuma pamatteksta.

**qrId** `string` *required*

QR koda ID.

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

```json 200 theme={null}
{
  "id": "qr_1EPcVfeHZAY2iNoVLsgW2Aqf",
  "archived": false,
  "…": "…"
}
```

## QR koda dublēšana

`POST /api/v1/qrs/{qrId}/duplicate`

Izveido kopiju ar tādu pašu saturu un dizainu. Bez pieprasījuma pamatteksta. Atbild ar `201 Created` un jauno [QR kodu](#qr-koda-objekts).

**qrId** `string` *required*

Kopējamā QR koda ID.

* **Īsā saite.** Kopija saņem savu īso saiti ar nejaušu slug darbvietas noklusējuma domēnā, nevis oriģināla domēnā. Tās skenējumi tiek skaitīti atsevišķi.
* **Nosaukums.** Nosaukumam tiek pievienots sufikss ` (Copy)`. Rezultāts nepārsniedz 40 rakstzīmes: garš nosaukums vispirms tiek saīsināts. QR kods bez nosaukuma paliek bez nosaukuma.
* **Netiek kopēts.** Piekļuves noteikumi (parole, grafiks, skenējumu ierobežojums) un pauzes stāvoklis. Kopija vienmēr ir aktīva.
* **Faili.** PDF un attēlu faili, ieskaitot komplektu un galeriju failus, tiek kopēti, tāpēc tie pieder kopijai. Video faili un dizaina faili, piemēram, logotipi, tiek kopīgoti ar oriģinālu.

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

```json 201 theme={null}
{
  "id": "qr_7Hk2PqWmX9cTnV4sLbR8YdZe",
  "title": "Landing page (Copy)",
  "shortLink": "https://getqr.sh/p2Wq9dL",
  "url": "https://example.com",
  "archived": false,
  "scans": 0,
  "…": "…"
}
```

## QR koda dzēšana

`DELETE /api/v1/qrs/{qrId}`

Dzēš QR kodu un tā īso saiti. Atbild ar dzēstā koda ID.

> [!WARNING]
>
> Dzēšana ir neatgriezeniska. Izdrukātais kods un tā īsā saite pārstāj darboties, un skenējumu vēsture vairs nav pieejama. Ja QR kods vēl var būt vajadzīgs, [pauzējiet](#qr-koda-pauzēšana) to.

**qrId** `string` *required*

QR koda ID.

**id** `string`

Dzēstā QR koda ID.

**deleted** `boolean`

Vienmēr `true`.

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

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

## QR koda attēla lejupielāde

`GET /api/v1/qrs/{qrId}/download`

Atveido QR kodu ar tā dizainu un atgriež failu.

**qrId** `string` *required*

Atveidojamā QR koda ID no saraksta vai izveides atbildes.

**format** `string` (default: jpg)

Izvades formāts: `jpg`, `png`, `svg`, `pdf` (A4 lapa) vai `eps`. Branded vai AI dizainu var lejupielādēt tikai kā `jpg`, `png` vai `pdf`.

**resolution** `integer` (default: 1024)

Attēla izmērs pikseļos: `1024`, `2048` vai `4096`. `svg` un `pdf` to ignorē. Branded vai AI dizainu var lejupielādēt tikai ar `1024`.

| `format` | `Content-Type` | Faila nosaukums |
| - | - | - |
| `jpg` | `image/jpeg` | `<title>-<resolution>px.jpg` |
| `png` | `image/png` | `<title>-<resolution>px.png` |
| `svg` | `image/svg+xml` | `<title>.svg` |
| `pdf` | `application/pdf` | `<title>.pdf` |
| `eps` | `application/postscript` | `<title>-<resolution>px.eps` |

* **Pamatteksts.** Atbildes pamatteksts ir pats fails. Ieteiktais faila nosaukums ir galvenē `Content-Disposition`, veidots no nosaukuma vai `qr-code` QR kodam bez nosaukuma.
* **Kešošana.** Atbildes satur `ETag` un `Cache-Control: private, max-age=3600, must-revalidate`. Nosūtiet `ETag` atpakaļ galvenē `If-None-Match`, lai saņemtu `304 Not Modified`, ja QR kods nav mainījies.
* **Kļūdas.** Neatbalstīts formāts vai izšķirtspēja saņem `400 bad_request`. Kļūdas ziņojumā norādīts iemesls: `qr_download_invalid_format`, `qr_download_invalid_resolution`, `qr_download_art_format_unsupported` vai `qr_download_art_resolution_unsupported`.

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

```http 200 theme={null}
HTTP/1.1 200 OK
Content-Type: image/png
Content-Disposition: attachment; filename="landing-page-1024px.png"
ETag: "9f2c0e1b5a7d43c8b016e2f4a9d5c3718be40f92"
Cache-Control: private, max-age=3600, must-revalidate

<binary image data>
```

## Piekļuves noteikumi

Izveidojot vai atjauninot sūtiet objektu `access`, lai ieplānotu sākumu un beigas, ierobežotu skenējumu skaitu vai pieprasītu paroli. Izlaistie noteikumi paliek nemainīti, un `null` noņem noteikumu. Pilns apraksts ar piemēriem ir sadaļā [Piekļuves noteikumi](https://docs.getqr.com/lv/api/guides/access-rules.md).

## Dizaina objekti

`styles`, `frameOptions` un `logoOptions` nosaka punktu un stūru formas, krāsas, rāmi un logotipu. Tie darbojas vienādi QR kodiem, [veidnēm](https://docs.getqr.com/lv/api/endpoints/templates.md) un [lielapjoma izveidei](https://docs.getqr.com/lv/api/endpoints/bulk-qr-creations.md). Nezināmas formas, rāmji vai logotipi tiek noraidīti. Visas pieņemtās vērtības un izstrādāts piemērs ir sadaļā [Pielāgošana](https://docs.getqr.com/lv/api/guides/customization.md).

## Biežākās problēmas

> [accordion] 422, iestatot paroli, grafiku vai skenējumu ierobežojumu
>
> Sūtiet noteikumu objektā `access`, nevis objektā `link`.

> [accordion] 422, mainot link.domain vai link.key
>
> Īso saiti pēc izveides nevar mainīt, jo izdrukātais kods to kodē. Tā vietā izveidojiet jaunu QR kodu.

> [accordion] 422 "Expected … for qrType"
>
> `data` neatbilst `qrType` formātam. Pārbaudiet veidu sadaļā [QR koda dati pēc veida](https://docs.getqr.com/lv/api/guides/qr-types.md).

> [accordion] 409 conflict, izveidojot QR kodu
>
> Identiska izveide vēl tiek apstrādāta, vai `link.key` ir aizņemts. Mēģiniet vēlreiz, kad pirmais pieprasījums ir pabeigts. Ar `Idempotency-Key` atkārtojums atgriež sākotnējo QR kodu.

> [accordion] Lejupielāde ir JPEG, nevis PNG
>
> Parametri ir `format` un `resolution`, un `format` noklusējums ir `jpg`. Sūtiet `format=png`.

> [accordion] 404 QR kodam, ko redzu informācijas panelī
>
> Katrs pieprasījums tiek izpildīts jūsu API atslēgas darbvietā. Pārbaudiet, vai QR kods pieder tai. Skatiet [Autentifikācija](https://docs.getqr.com/lv/api/authentication.md).

## Kas tālāk

> [card] [QR koda dati pēc veida](https://docs.getqr.com/lv/api/guides/qr-types.md)

> [card] [Pielāgošana](https://docs.getqr.com/lv/api/guides/customization.md)

> [card] [Piekļuves noteikumi](https://docs.getqr.com/lv/api/guides/access-rules.md)

> [card] [Analītika](https://docs.getqr.com/lv/api/endpoints/analytics.md)


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