> ## 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-koddata per typ

> Dataformatet, ett exempel på begäran och vad som kan ändras efter tryck för var och en av de 16 QR-kodstyperna.

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

Varje QR-kod har en `qrType`, och typen avgör vad `data` måste innehålla. Den här guiden visar formatet för varje typ, en body som fungerar och vad du fortfarande kan ändra när koden har tryckts.

Exemplen är bodyn för [Skapa en QR-kod](https://docs.getqr.com/sv/api/endpoints/qr-codes.md#skapa-en-qr-kod). Skicka dem så här:

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

## Alla typer i överblick

| `qrType` | `data` | Kan ändras efter tryck |
| - | - | - |
| [`website`](#website) | http(s)-URL | Ja |
| [`feedback`](#feedback) | Formulärets http(s)-URL | Ja |
| [`payment`](#payment) | Betalleverantörens URL | Ja |
| [`whatsapp`](#whatsapp) | `wa.me`-länk | Ja |
| [`location`](#location) | Kart-URL | Ja |
| [`app`](#app-link) | Butiks-URL eller tomt, plus `link.ios` / `link.android` | Ja |
| [`email`](#email) | `mailto:`-URI | Ja |
| [`sms`](#sms) | `sms:`-URI | Ja |
| [`wifi`](#wifi) | `WIFI:`-payload | **Nej** |
| [`pdf`, `image`, `video`](#pdf-image-och-video) | Tomt, med ett `fileId` | Ja |
| [`vcard`](#vcard) | vCard 3.0-text | Ja |
| [`social`](#social-media) | JSON-sträng | Ja |
| [`multilink`](#multi-link) | JSON-sträng | Ja |
| [`event`](#event) | JSON-sträng | Ja |

## Hur en QR-kod löses in

Varje QR-kod är en kort länk plus en payload. Två fält bär innehållet:

| Fält | Vad det är |
| - | - |
| `link.url` | Dit den korta länken skickar besökaren. Det här är det verkliga målet för alla typer utom `wifi`. |
| `data` | Typens payload, kontrollerad mot `qrType`. Den sparas som den skickades bara för `wifi`, `vcard`, `social`, `multilink`, `event` och `sms`. För alla andra typer ger den bara värdet till `link.url`, och den sparade `data` blir den korta länken. Läs målet från `url` i svaret. |

Regler för alla typer:

* **Standardvärden.** Vid skapande blir en utelämnad eller tom `link.url` lika med `data`, och du kan utelämna hela `link`-objektet. När båda skickas och skiljer sig åt vinner `link.url`. Skicka dem lika, eller skicka bara `data`.
* **Vad bilden kodar.** Bilden kodar den korta länken för alla typer utom `wifi`. Därför kan du ändra vart en tryckt kod leder, och dess skanningar registreras. En WiFi-QR-kod kodar själva nätverket: den kan inte ändras efter tryck, och dess skanningar registreras inte.
* **Scheman.** `link.url` accepterar bara `http:`, `https:`, `wifi:`, `mailto:`, `sms:` och `begin:`. Allt annat, även `geo:`, `smsto:`, `matmsg:` och `tel:`, får `422 Invalid destination URL`, även där `data` accepterar det.
* **Tom data.** En tom `data` hoppar över typkontrollen. För en omdirigeringstyp måste `link.url` då vara satt, annars får anropet `400 Missing destination URL`.
* **Form.** Utöver typkontrollen validerar servern inte payloaden. En JSON-typ behöver bara gå att tolka som ett JSON-objekt, och ett vCard behöver bara börja med `BEGIN:VCARD`.

> [!TIP]
>
> Gränser märkta **Redigeraren** nedan är vad redigeraren i instrumentpanelen kräver. API:et accepterar payloads som struntar i dem, men de kan visas konstigt på landningssidan eller i redigeraren.

## Website

`qrType`: `"website"`. Guide för instrumentpanelen: [Website-QR-kod](https://docs.getqr.com/sv/qr-types/website.md).

| Fält | Beteende |
| - | - |
| `data` | En http(s)-URL. |
| `link.url` | Målet. Standard är `data`. |
| `fileId` | Inte tillåtet. |
| Kodar | Den korta länken, som omdirigerar till `link.url`. Skanningar registreras. |
| Efter tryck | Kan ändras. Skicka `data` eller `link.url` för att flytta målet. Det räcker med `data`. |

```json Request body theme={null}
{
  "qrType": "website",
  "data": "https://example.com/menu",
  "title": "Menu"
}
```

Fel:

* `422 Expected an http(s) URL, e.g. "https://example.com" for qrType "website".`
* `422 Invalid destination URL`

## Feedback

`qrType`: `"feedback"`. Guide för instrumentpanelen: [Feedback-QR-kod](https://docs.getqr.com/sv/qr-types/feedback.md).

`data` är http(s)-URL:en till feedbackformuläret, till exempel ett Google-formulär eller en recensionssida. Allt annat fungerar som för [Website](#website).

```json Request body theme={null}
{
  "qrType": "feedback",
  "data": "https://forms.gle/abc123"
}
```

## Payment

`qrType`: `"payment"`. Guide för instrumentpanelen: [Payment-QR-kod](https://docs.getqr.com/sv/qr-types/payment.md).

`data` är leverantörens betal-URL, till exempel:

```text theme={null}
https://paypal.me/<user>/25EUR
```

Redigeraren i instrumentpanelen känner igen de här värdarna: `paypal.me`, `paypal.com/paypalme`, `cash.app`, `venmo.com`, `buy.stripe.com`, `stripe.com`, `square.link` och `payoneer.com`. För PayPal är beloppet det sista segmentet i sökvägen. Andra http(s)-URL:er fungerar också, men redigeraren delar inte upp dem i leverantör och belopp. Allt annat fungerar som för [Website](#website).

```json Request body theme={null}
{
  "qrType": "payment",
  "data": "https://paypal.me/acme/25EUR"
}
```

## WhatsApp

`qrType`: `"whatsapp"`. Guide för instrumentpanelen: [WhatsApp-QR-kod](https://docs.getqr.com/sv/qr-types/whatsapp.md).

`data` är en `wa.me`-länk: det internationella numret med siffror utan `+`, eventuellt med en förifylld text.

```text theme={null}
https://wa.me/<digits>
https://wa.me/<digits>?text=<urlencoded>
```

Servern kontrollerar bara att det är en http(s)-URL. Instrumentpanelen läser också `api.whatsapp.com/send`-länkar. Allt annat fungerar som för [Website](#website).

```json Request body theme={null}
{
  "qrType": "whatsapp",
  "data": "https://wa.me/14155550123?text=Hi%20there"
}
```

## Location

`qrType`: `"location"`. Guide för instrumentpanelen: [Location-QR-kod](https://docs.getqr.com/sv/qr-types/location.md).

`data` är en kart-URL. Använd det här formatet för att QR-koden ska gå att redigera i instrumentpanelen (`query_place_id` är valfritt):

```text theme={null}
https://www.google.com/maps/search/?api=1&query=<address>&query_place_coords=<lat>,<lng>&query_place_id=<id>
```

Andra http(s)-URL:er omdirigerar också. En `geo:`-URI klarar `data`-kontrollen men avvisas som mål, så använd den inte. Allt annat fungerar som för [Website](#website).

```json Request body theme={null}
{
  "qrType": "location",
  "data": "https://www.google.com/maps/search/?api=1&query=Golden+Gate+Bridge&query_place_coords=37.8199,-122.4783"
}
```

## App Link

`qrType`: `"app"`. Guide för instrumentpanelen: [App Link-QR-kod](https://docs.getqr.com/sv/qr-types/app-link.md).

| Fält | Beteende |
| - | - |
| `link.ios`, `link.android` | URL:er till App Store och Google Play. Besökare på iOS skickas till `ios`, besökare på Android till `android`. De går före allt annat vid skanning. |
| `link.url` | Reservmålet för andra enheter. Standard är `data`, därefter `ios` eller `android`. |
| `data` | En http(s)-URL (instrumentpanelen skickar butiks-URL:en) eller tomt. Minst ett av `link.ios`, `link.android`, `link.url` eller `data` måste vara satt, annars får anropet `400 Missing destination URL`. |
| `fileId` | Inte tillåtet. |
| Kodar | Den korta länken. Skanningar registreras. |
| Efter tryck | Kan ändras. `link.ios` och `link.android` tillämpas var för sig, och bara när de skickas. `null` rensar en av dem. Du behöver inte skicka `qrType` igen. Byte till en annan typ rensar båda butikslänkarna. |

```json Request body theme={null}
{
  "qrType": "app",
  "data": "https://apps.apple.com/app/id123456789",
  "link": {
    "ios": "https://apps.apple.com/app/id123456789",
    "android": "https://play.google.com/store/apps/details?id=com.acme.app"
  }
}
```

Fel:

* `422 Invalid URL`
* `400 Missing destination URL`

## Email

`qrType`: `"email"`. Guide för instrumentpanelen: [Email-QR-kod](https://docs.getqr.com/sv/qr-types/email.md).

```text theme={null}
mailto:<address>?subject=<subject>&body=<body>
```

| Fält | Beteende |
| - | - |
| `data` | En `mailto:`-URI med valfritt ämne och valfri text. Koda mellanslag som `%20`: instrumentpanelen skriver dem som `+`, vilket inte alla e-postappar läser som mellanslag. `matmsg:` avvisas som mål. |
| `link.url` | `mailto:`-URI:n. Standard är `data`. |
| `fileId` | Inte tillåtet. |
| Kodar | Den korta länken, som öppnar en sida som lämnar över till e-postappen. |
| Efter tryck | Kan ändras. Skicka `data` eller `link.url` för att ändra meddelandet. Det räcker med `data`. |

```json Request body theme={null}
{
  "qrType": "email",
  "data": "mailto:hi@example.com?subject=Hello&body=Hi%20there"
}
```

Fel:

* `422 Expected a mailto URI, e.g. "mailto:hi@example.com?subject=Hello" for qrType "email".`

## SMS

`qrType`: `"sms"`. Guide för instrumentpanelen: [SMS-QR-kod](https://docs.getqr.com/sv/qr-types/sms.md).

```text theme={null}
sms:+<digits>
sms:+<digits>?body=<encodeURIComponent(text)>
```

| Fält | Beteende |
| - | - |
| `data` | En `sms:`-URI med valfri text. Instrumentpanelen läser bara exakt den här formen. `smsto:` avvisas som mål. |
| `link.url` | `sms:`-URI:n. Standard är `data`. |
| `fileId` | Inte tillåtet. |
| Kodar | Den korta länken, som öppnar en sida som lämnar över till meddelandeappen. |
| Efter tryck | Kan ändras. Skicka `data` eller `link.url` för att ändra meddelandet. Det räcker med `data`. |

```json Request body theme={null}
{
  "qrType": "sms",
  "data": "sms:+14155550123?body=Table%2012"
}
```

Fel:

* `422 Expected an SMS URI, e.g. "sms:+14155550123?body=Hello" for qrType "sms".`

## WiFi

`qrType`: `"wifi"`. Guide för instrumentpanelen: [WiFi-QR-kod](https://docs.getqr.com/sv/qr-types/wifi.md).

```text theme={null}
WIFI:T:<WPA|WEP|nopass>;S:<ssid>;P:<password>;H:<true|false>;;
```

| Fält | Beteende |
| - | - |
| `data` | Krävs. Behåll ordningen `T`, `S`, `P`, `H`: redigeraren och listan i instrumentpanelen är beroende av den. Skydda `\`, `;`, `"` och `:` i SSID och lösenord med ett omvänt snedstreck. För ett öppet nätverk använder du `T:nopass` med en tom `P:`. Skannrar avvisar `T:none`. **Redigeraren:** SSID krävs, lösenordet måste ha minst 8 tecken om det inte är `nopass`. |
| `link.url` | Används inte vid skanning. Standard är `data`. |
| `fileId` | Inte tillåtet. |
| Kodar | Den råa `WIFI:`-payloaden, inte den korta länken. Skanningar registreras inte. |
| Efter tryck | **Kan inte ändras.** En ny `data` ändrar bara framtida nedladdningar. Tryckta koder behåller det gamla nätverket. |

```json Request body theme={null}
{
  "qrType": "wifi",
  "data": "WIFI:T:WPA;S:Cafe Guest;P:espresso42;H:false;;"
}
```

Fel:

* `422 Expected a Wi-Fi payload, e.g. "WIFI:T:WPA;S:MyNetwork;P:secret;H:false;" for qrType "wifi".`

> [!WARNING]
>
> Byt inte typ på en tryckt WiFi-QR-kod. De tryckta koderna behåller det gamla nätverket.

## PDF, Image och Video

`qrType`: `"pdf"`, `"image"` eller `"video"`. Guider för instrumentpanelen: [PDF](https://docs.getqr.com/sv/qr-types/pdf.md), [Image](https://docs.getqr.com/sv/qr-types/image.md), [Video](https://docs.getqr.com/sv/qr-types/video.md).

| Fält | Beteende |
| - | - |
| `fileId` | Filen. Ladda upp den med den target som matchar typen: `pdf`, `image` eller `video`. Med ett `fileId` blir `link.url` filens URL, och det du skickar i fältet ignoreras. |
| `data` | Vad som helst utom en annan typs payload (`WIFI:`, `BEGIN:VCARD`, `sms:`, `mailto:`, ett JSON-objekt). Tomt går bra. |
| `link.url` | Utan `fileId` används `link.url` (eller `data`) som externt mål. Det fungerar, men instrumentpanelen visar ingen fil. |
| Kodar | Den korta länken, som omdirigerar direkt till filen. En PDF öppnas som råfil, inte på en visningssida. |
| Efter tryck | Kan ändras. Skicka ett nytt `fileId` för att byta fil. Den gamla filen frigörs. |

En fil per QR-kod: PDF-paket och bildgallerier finns inte i API:et. Se [Stöds inte via API:et](#stöds-inte-via-apiet).

```json pdf theme={null}
{
  "qrType": "pdf",
  "data": "",
  "fileId": "file_9f8e7d6c5b4a",
  "title": "Brochure"
}
```

```json image theme={null}
{
  "qrType": "image",
  "data": "",
  "fileId": "file_3c2b1a0f9e8d",
  "title": "Floor plan"
}
```

```json video theme={null}
{
  "qrType": "video",
  "data": "",
  "fileId": "file_5e4d3c2b1a0f",
  "title": "Product demo"
}
```

Hur du laddar upp filen och får dess `fileId` beskrivs i [Filer](https://docs.getqr.com/sv/api/endpoints/files.md).

## vCard

`qrType`: `"vcard"`. Guide för instrumentpanelen: [vCard-QR-kod](https://docs.getqr.com/sv/qr-types/vcard.md).

| Fält | Beteende |
| - | - |
| `data` | Krävs. vCard 3.0-text som börjar med `BEGIN:VCARD`, med rader avgränsade av `\r\n` (`\n` fungerar också). |
| `fileId` | Valfri profilbild (target `logo`), som används när `data` saknar en `PHOTO`- eller `X-GETQR-IMAGE-FILEID`-rad. |
| `link.url` | Ignoreras och ersätts med den hostade sidan. Utelämna det. |
| Kodar | Den korta länken, som öppnar den hostade kontaktsidan med en nedladdning för att spara kontakten (`.vcf`). |
| Efter tryck | Kan ändras. Skicka ny `data` för att uppdatera sidan. |

Landningssidan och redigeraren läser bara radformerna nedan. Andra varianter, som `TEL;CELL:` eller `EMAIL;TYPE=INTERNET:`, sparas men visas inte på sidan.

* `N:<last>;<first>;;;`: efternamn och förnamn. **Redigeraren:** båda krävs, högst 40 tecken.
* `FN:<first> <last>`: läses inte av sidan. Etiketten i listan i instrumentpanelen kommer härifrån.
* `ORG:<company>` och `TITLE:<role>`: företag och roll. **Redigeraren:** högst 40 tecken.
* `TEL;TYPE=HOME:`, `TEL;TYPE=CELL:`, `TEL;TYPE=WORK:`, `TEL;TYPE=FAX:`: telefon-, mobil-, arbets- och faxnummer (`+` och siffror).
* `EMAIL:<email>`: e-postadress.
* `URL:<url>`: webbplats.
* `NOTE:<text>`: sammanfattning. Skydda `\\`, `\n`, `\;` och `\,`. **Redigeraren:** högst 200 tecken.
* `ADR:;;<street>;<city>;<state>;<zip>;<country>`: adress.
* `X-SOCIALPROFILE;TYPE=<platform>:<url>` eller `URL;TYPE=<PLATFORM>:<url>`: sociala länkar, en rad per plattform.
* `PHOTO;VALUE=URI:<url>`: URL till profilbild. Går före alla fil-id:n.
* `X-GETQR-IMAGE-FILEID:<fileId>`: profilbild (target `logo`).
* `X-GETQR-PAGE-LOGO-FILEID:<fileId>`: sidlogotyp (target `logo`).
* `X-GETQR-LANDING-THEME:p|<0-4>` eller `X-GETQR-LANDING-THEME:c|#RRGGBB|#RRGGBB|#RRGGBB`: landningssidans tema, antingen ett förinställt index (0 till 4) eller egna färger för bakgrund, knappar och ikoner.

Sociala plattformar: `facebook`, `whatsapp`, `instagram`, `youtube`, `tiktok`, `messenger`, `snapchat`, `linkedin`, `x`, `reddit`, `pinterest`, `telegram`, `wechat`, `viber`, `line`.

```json Request body theme={null}
{
  "qrType": "vcard",
  "data": "BEGIN:VCARD\r\nVERSION:3.0\r\nN:Doe;Jane;;;\r\nFN:Jane Doe\r\nORG:Acme\r\nTITLE:CTO\r\nTEL;TYPE=CELL:+14155550123\r\nEMAIL:jane@acme.com\r\nURL:https://acme.com\r\nX-GETQR-LANDING-THEME:p|0\r\nEND:VCARD",
  "title": "Jane Doe"
}
```

Fel:

* `422 Expected a vCard payload starting with "BEGIN:VCARD" for qrType "vcard".`

## Social Media

`qrType`: `"social"`. Guide för instrumentpanelen: [Social Media-QR-kod](https://docs.getqr.com/sv/qr-types/social.md).

| Fält | Beteende |
| - | - |
| `data` | Krävs. En JSON-sträng som kodar ett objekt. Bygg den med `JSON.stringify`. |
| `fileId` | Valfri profilbild på toppnivå (target `logo`). |
| `link.url` | Ignoreras och ersätts med den hostade sidan. Utelämna det. |
| Kodar | Den korta länken, som öppnar den hostade sidan för sociala medier. |
| Efter tryck | Kan ändras. Skicka ny `data` för att uppdatera sidan. |

Fält i `data`:

| Fält | Typ | Anmärkningar |
| - | - | - |
| `firstName` | string | Sidans rubrik och det enda namn som visas. **Redigeraren:** krävs, högst 40. |
| `lastName` | string | Högst 40. Visas inte på sidan. |
| `summary` | string | Högst 200. |
| `socialLinks` | `{ platform, url }[]` | `platform` är en av [de sociala plattformarna för vCard](#vcard). **Redigeraren:** varje plattform en gång. |
| `customItems` | `{ name, url, logoFileId }[]` | **Redigeraren:** `name` högst 40, en http(s)-`url` och ett `logoFileId`. Minst en social länk eller ett eget objekt totalt. |
| `fileId` | string | Profilbild (target `logo`). `fileId` på toppnivå är reserv. |
| `imageUrl` | string | Extern URL till profilbild, används bara när det inte finns något fil-id. |
| `pageLogoFileId` | string | Sidlogotyp (target `logo`). |
| `landingThemeMode` | `"preset" \| "custom"` | Standard är `preset`. |
| `landingPresetIndex` | 0–4 | Standard är 0. |
| `landingCustomBg`, `landingCustomButton`, `landingCustomIcon` | `#RRGGBB` | Används när läget är `custom`. |

```json Request body theme={null}
{
  "qrType": "social",
  "data": "{\"firstName\":\"Acme Coffee\",\"summary\":\"Follow us\",\"socialLinks\":[{\"platform\":\"instagram\",\"url\":\"https://instagram.com/acme\"}],\"customItems\":[]}"
}
```

Fel:

* `422 Expected a JSON object describing the social profile page for qrType "social".`

## Multi-Link

`qrType`: `"multilink"`. Guide för instrumentpanelen: [Multi-Link-QR-kod](https://docs.getqr.com/sv/qr-types/multi-link.md).

| Fält | Beteende |
| - | - |
| `data` | Krävs. En JSON-sträng som kodar ett objekt. |
| `fileId` | Valfri profilbild på toppnivå (target `logo`). |
| `link.url` | Ignoreras och ersätts med den hostade sidan. Utelämna det. |
| Kodar | Den korta länken, som öppnar den hostade sidan med flera länkar. |
| Efter tryck | Kan ändras. Skicka ny `data` för att uppdatera sidan. |

Fälten i `data` är desamma som för [Social Media](#social-media), förutom att `firstName`, `lastName` och `summary` ersätts av:

| Fält | Typ | Anmärkningar |
| - | - | - |
| `title` | string | Sidans rubrik. **Redigeraren:** krävs, högst 40. |
| `description` | string | Högst 200. |

I `customItems` är `logoFileId` valfritt: en reservikon visas. **Redigeraren:** minst en social länk eller ett eget objekt som inte är tomt.

```json Request body theme={null}
{
  "qrType": "multilink",
  "data": "{\"title\":\"Acme links\",\"description\":\"Everything in one place\",\"socialLinks\":[],\"customItems\":[{\"name\":\"Shop\",\"url\":\"https://acme.com/shop\",\"logoFileId\":\"\"}]}"
}
```

Fel:

* `422 Expected a JSON object describing the multi-link page for qrType "multilink".`

## Event

`qrType`: `"event"`. Guide för instrumentpanelen: [Event-QR-kod](https://docs.getqr.com/sv/qr-types/event.md).

| Fält | Beteende |
| - | - |
| `data` | Krävs. En JSON-sträng som kodar ett objekt. Okända eller ogiltiga värden ersätts med standardvärden. |
| `fileId` | Valideras (target `logo`) och sparas, men evenemangssidan läser omslagsbilden bara från `data.fileId`. Lägg omslagsbildens id i payloaden. |
| `link.url` | Ignoreras och ersätts med den hostade sidan. Utelämna det. |
| Kodar | Den korta länken, som öppnar den hostade evenemangssidan med en `.ics`-nedladdning. |
| Efter tryck | Kan ändras. Skicka ny `data` för att uppdatera sidan. |

Fält i `data`:

| Fält | Typ | Anmärkningar |
| - | - | - |
| `name` | string | **Redigeraren:** krävs. |
| `eventType` | string | En av evenemangstyperna nedan, eller tomt. |
| `start`, `end` | `"YYYY-MM-DDTHH:mm"` | Lokal tid i `timezone`. **Redigeraren:** båda krävs, slut efter start. |
| `timezone` | IANA, till exempel `"Europe/Berlin"` | Placerar start och slut i `.ics`-filen. Skicka den alltid: en tom eller okänd tidszon gör att `.ics`-filen tolkar tiderna som UTC. |
| `street`, `zip`, `city`, `state`, `country` | string | **Redigeraren:** `city` och `country` krävs, högst 40 vardera. |
| `facilities` | string\[] | Id:n från listan nedan. Okända id:n ignoreras. |
| `notes` | string | Fritext. |
| `fileId` | string | Omslagsbild (target `logo`). |
| `pageLogoFileId` | string | Sidlogotyp (target `logo`). |
| `organizerName`, `organizerEmail`, `mobile`, `work` | string | `mobile` och `work` högst 40. |
| `socialLinks` | `{ platform, url }[]` | [De sociala plattformarna för vCard](#vcard), plus `website`. |
| `ticketsUrl` | http(s)-URL | Länk för att köpa biljetter. |
| `ticketsLabel` | string | Högst 20 tecken. Längre etiketter kortas av. Tomt visar standardetiketten. |

> [accordion] Evenemangstyper
>
> `conference`, `seminar`, `workshop`, `training`, `webinar`, `meetup`, `networking`, `corporateEvent`, `productLaunch`, `tradeShow`, `jobFair`, `fundraiser`, `charity`, `wedding`, `engagement`, `birthday`, `anniversary`, `babyShower`, `graduation`, `reunion`, `party`, `religious`, `funeralMemorial`, `ceremony`, `concert`, `festival`, `clubNight`, `theater`, `comedy`, `filmScreening`, `exhibition`, `sports`, `tournament`, `raceMarathon`, `fitnessClass`, `foodDrink`, `market`, `openHouse`, `community`, `schoolEvent`, `kids`, `travelTour`

> [accordion] Faciliteter
>
> | Grupp | Id:n |
> | - | - |
> | Inträde | `freeEntry`, `idRequired`, `invitationOnly`, `plusOneAllowed`, `reEntryAllowed` |
> | Ålder (välj en) | `adultsOnly`, `age18Plus`, `age21Plus`, `kidsWelcome` |
> | På plats | `parking`, `publicTransport`, `shuttle`, `wheelchairAccess`, `evCharging`, `wifi`, `foodDrinks`, `alcoholServed`, `atm`, `coatCheck`, `pool`, `phoneCharging`, `firstAid`, `wc` |
> | Regler | `petsAllowed`, `noPets`, `smokingArea`, `noSmoking`, `noPhotos` |
> | Klädkod (välj en) | `dressCasual`, `dressSmartCasual`, `dressBusiness`, `dressCocktail`, `dressThemed` |

```json Request body theme={null}
{
  "qrType": "event",
  "data": "{\"name\":\"Launch party\",\"eventType\":\"productLaunch\",\"start\":\"2026-11-20T18:00\",\"end\":\"2026-11-20T22:00\",\"timezone\":\"Europe/Berlin\",\"city\":\"Berlin\",\"country\":\"Germany\",\"facilities\":[\"freeEntry\"],\"socialLinks\":[],\"ticketsUrl\":\"https://acme.com/tickets\"}"
}
```

Fel:

* `422 Expected a JSON object describing the event page for qrType "event".`

## Filer i QR-koder

Registrera en fil med [Filer](https://docs.getqr.com/sv/api/endpoints/files.md), ladda upp den och skicka sedan dess `fileId`. Använd den target som matchar användningen:

* **`pdf`, `image`, `video`.** Innehållet i en PDF-, bild- eller video-QR-kod.
* **`logo`.** Profilbilder, sidlogotyper, ikoner för egna länkar och logotyper i mitten.

Filer som aldrig kopplas till en QR-kod raderas efter en karenstid.

Fel för `fileId`, som returneras vid skapande och vid `PATCH` när `fileId` skickas:

| Status | Orsak |
| - | - |
| `422 unprocessable_entity` | Typen tar ingen fil. Bara `pdf`, `image`, `video`, `vcard`, `social`, `multilink` och `event` accepterar en. |
| `404 not_found` | Ingen fil med det här id:t. Registrera den först med `POST /api/v1/files`. |
| `422 unprocessable_entity` | Filen laddades upp för en annan target. Till exempel en `image`-uppladdning på en PDF-QR-kod, eller en `pdf`-, `image`- eller `video`-uppladdning som används som vCard-foto. |
| `422 unprocessable_entity` | Filen är registrerad, men uppladdningen till `uploadUrl` slutfördes aldrig. |

Fil-id:n inuti en payload (`fileId`, `pageLogoFileId`, `customItems[].logoFileId`, `X-GETQR-*-FILEID`-rader) valideras inte. De visas bara om de laddats upp med target `logo`. QR-koden gör anspråk på dem, så rensningen lämnar dem i fred.

## Byta typ

Du kan ändra `qrType` med [Uppdatera en QR-kod](https://docs.getqr.com/sv/api/endpoints/qr-codes.md#uppdatera-en-qr-kod). Skicka `data` som matchar den nya typen: den sparade payloaden hör till den gamla typen, så ett typbyte utan den avvisas.

Efter en uppdatering bestäms målet i den här ordningen:

1. `vcard`, `social`, `multilink`, `event`: alltid den hostade sidan.
2. Ett PDF-paket eller bildgalleri som skapats i instrumentpanelen: dess landningssida.
3. `pdf`, `image`, `video`: filens URL (ett nytt `fileId`, annars det sparade).
4. `link.url`, när den skickas.
5. Ändrad `data`.
6. Den sparade URL:en.

Vad varje typbyte gör:

* **Från `pdf`, `image` eller `video`.** `fileId` och eventuella paket eller gallerier rensas.
* **Till `pdf`, `image` eller `video`.** Skicka även `fileId`, annars återanvänds det sparade, som kan vara ett vCard-foto.
* **Från `app`.** Appnamnet, `link.ios` och `link.android` rensas, så att telefoner följer det nya målet.
* **Till `wifi`.** Bilden byts till den råa payloaden. Koder som redan har tryckts innehåller fortfarande den korta länken, som nu omdirigerar till en `wifi:`-URL.
* **Från `wifi`.** Tryckta koder behåller sitt gamla nätverk.
* **Till `vcard`, `social`, `multilink` eller `event`.** Den korta länken pekas om till den nya hostade sidan.
* **Från `vcard`, `social`, `multilink` eller `event`.** Skicka den nya `data`. Målet följer den.

Statiska QR-koder som skapats i instrumentpanelen har ingen kort länk, så om du ändrar deras `link.url` får du `422`.

## Stöds inte via API:et

De här funktionerna i instrumentpanelen ingår inte i v1-API:et. Okända fält ignoreras utan fel, så att skicka dem har ingen effekt.

| Fält | Beskrivning |
| - | - |
| `appName` | Visningsnamnet för en App Link-QR-kod. App Link-QR-koder som skapas via API:et visar sin butiks-URL i listan i instrumentpanelen. |
| `isStatic` | En statisk QR-kod utan kort länk. Varje QR-kod som API:et skapar har en, så att den kan redigeras och spåras efter tryck (utom `wifi`). |
| `pdfBundle` | En PDF-QR-kod med två eller fler filer. API:et skapar bara PDF-QR-koder med en fil. |
| `imageGallery` | En Image-QR-kod med två eller fler bilder. API:et skapar bara QR-koder med en bild. |

Paket och gallerier som skapats i instrumentpanelen kan fortfarande läsas, pausas och tas bort via API:et, men deras filer kan inte ändras via det.

## Vanliga problem

> [accordion] 422 Invalid destination URL
>
> `link.url` använder ett schema som den korta länken inte kan omdirigera till, som `geo:`, `smsto:`, `matmsg:` eller `tel:`. Använd formaten på den här sidan.

> [accordion] 400 Missing destination URL
>
> `data` är tom och det finns ingen `link.url`. För `app` anger du minst ett av `link.ios`, `link.android`, `link.url` eller `data`.

> [accordion] data i svaret är en kort länk, inte min URL
>
> För länktyper är den sparade `data` den korta länken. Läs målet från `url`.

> [accordion] Landningssidan saknar uppgifter från min payload
>
> Sidan läser bara de fält och radformer som listas för typen. Andra fält sparas men visas inte.

## Nästa steg

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

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

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

> [card] [Åtkomstregler](https://docs.getqr.com/sv/api/guides/access-rules.md)


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