---
title: "List QR Codes"
method: GET
path: "/qr-code"
tags: ["QR Codes"]
---

# List QR Codes

`GET /qr-code`

## Request

- Base URL: `https://api.qrcodly.de/api/v1`
- URL: `https://api.qrcodly.de/api/v1/qr-code`
- Auth: HTTP bearer

Returns a paginated list of QR codes owned by the authenticated user. Supports filtering by name, creation date, content type, and assigned tags.

## Query parameters

- `page` integer, required
- `limit` integer, required
- `where` object
  - `name` object
    - `eq` string
    - `neq` string
    - `like` string
  - `createdAt` object
    - `eq` string, date-time
    - `neq` string, date-time
    - `gt` string, date-time
    - `gte` string, date-time
    - `lt` string, date-time
    - `lte` string, date-time
- `contentType` string[]
- `tagIds` string[]
- `status` 'all' | 'active' | 'disabled' | 'blocked'

## Response `200`

QR Code With Relations Paginated Response

- object: QR Code With Relations Paginated Response
  - `page` number, required: Current page number (1-based)
  - `limit` number, required: Maximum number of items per page
  - `total` number, required: Total number of items matching the query across all pages
  - `data` object[], required: Array of items for the current page
    - `id` string, uuid, required: Unique identifier (UUID v4)
    - `createdAt` string, date-time, required: Timestamp when the resource was created (ISO 8601)
    - `updatedAt` string, date-time, nullable, required: Timestamp when the resource was last updated (ISO 8601), or null if never updated
    - `name` string, nullable, required: User-defined name for the QR code (max 50 characters)
    - `config` object, required: QR code visual styling configuration (colors, shapes, dimensions, embedded image)
      - `width` number, required: QR code width in pixels
      - `height` number, required: QR code height in pixels
      - `margin` number, required: Quiet zone margin around the QR code in pixels
      - `image` string: Base64-encoded logo image to embed in the center of the QR code. Max size 1 MB.
      - `imageOptions` object, required: Options for the embedded logo image
        - `hideBackgroundDots` boolean, required: Whether to hide QR code dots behind the embedded logo image
      - `dotsOptions` object, required: Styling for the QR code data dots
        - `type` 'dots' | 'rounded' | 'classy' | 'classy-rounded' | 'square' | 'extra-rounded', required: Shape style of the QR code data dots: dots, rounded, classy, classy-rounded, square, or extra-rounded
        - `style` union, required: Color or gradient for the data dots
          - object
            - `type` 'hex', required
            - `value` string, required
          - object
            - `type` 'rgba', required
            - `value` string, required
          - object
            - `type` 'gradient', required
            - `gradientType` 'radial' | 'linear', required
            - `rotation` number, nullable, required
            - `colorStops` object[], required
              - …
      - `cornersSquareOptions` object, required: Styling for the three corner squares (finder patterns)
        - `type` 'dot' | 'square' | 'extra-rounded', required: Shape style of the corner squares: dot, square, or extra-rounded
        - `style` union, required: Color or gradient for the corner squares
          - object
            - `type` 'hex', required
            - `value` string, required
          - object
            - `type` 'rgba', required
            - `value` string, required
          - object
            - `type` 'gradient', required
            - `gradientType` 'radial' | 'linear', required
            - `rotation` number, nullable, required
            - `colorStops` object[], required
              - …
      - `cornersDotOptions` object, required: Styling for the dots inside the corner squares
        - `type` 'dot' | 'square', required: Shape style of the corner dots: dot or square
        - `style` union, required: Color or gradient for the corner dots
          - object
            - `type` 'hex', required
            - `value` string, required
          - object
            - `type` 'rgba', required
            - `value` string, required
          - object
            - `type` 'gradient', required
            - `gradientType` 'radial' | 'linear', required
            - `rotation` number, nullable, required
            - `colorStops` object[], required
              - …
      - `backgroundOptions` object, required: QR code background styling
        - `style` union, required: Background color or gradient
          - object
            - `type` 'hex', required
            - `value` string, required
          - object
            - `type` 'rgba', required
            - `value` string, required
          - object
            - `type` 'gradient', required
            - `gradientType` 'radial' | 'linear', required
            - `rotation` number, nullable, required
            - `colorStops` object[], required
              - …
    - `content` union, required: QR code content as a discriminated union — the "type" field determines which data schema applies
      - object
        - `type` 'url', required
        - `data` object, required
          - `url` string, uri, required: The target URL that the QR code points to
          - `isDynamic` boolean: If true, creates a dynamic QR code with a short URL redirect so the destination can be changed later
      - object
        - `type` 'text', required
        - `data` string, required
      - object
        - `type` 'wifi', required
        - `data` object, required
          - `ssid` string, required: WiFi network name (SSID)
          - `password` string, required: WiFi password (leave empty for open networks)
          - `encryption` 'WPA' | 'WEP' | 'nopass', required: WiFi encryption type: WPA, WEP, or nopass (open)
      - object
        - `type` 'vCard', required
        - `data` object, required
          - `title` string: Job title or honorific (e.g. Dr., Mr.)
          - `firstName` string: First name
          - `lastName` string: Last name
          - `email` string, email
          - `emailPrivate` string, email
          - `emailBusiness` string, email
          - `phone` string
          - `phonePrivate` string
          - `phoneMobile` string
          - `phoneBusiness` string
          - `fax` string
          - `company` string: Company or organization name
          - `job` string: Job title or position
          - `streetPrivate` string: Private street address
          - `cityPrivate` string: Private city
          - `zipPrivate` string: Private postal / ZIP code
          - `statePrivate` string: Private state or province
          - `countryPrivate` string: Private country
          - `streetBusiness` string: Business street address
          - `cityBusiness` string: Business city
          - `zipBusiness` string: Business postal / ZIP code
          - `stateBusiness` string: Business state or province
          - `countryBusiness` string: Business country
          - `website` string, uri: Personal or company website URL
          - `note` string: Free-form note or additional information
          - `isDynamic` boolean: If true, creates a dynamic vCard QR code with an editable short URL
      - object
        - `type` 'email', required
        - `data` object, required
          - `email` string, email, required: Recipient email address
          - `subject` string: Pre-filled email subject line
          - `body` string: Pre-filled email body text
      - object
        - `type` 'location', required
        - `data` object, required
          - `address` string, required: Human-readable address (e.g. "1600 Amphitheatre Parkway, Mountain View, CA")
          - `latitude` number: GPS latitude coordinate (-90 to 90)
          - `longitude` number: GPS longitude coordinate (-180 to 180)
      - object
        - `type` 'event', required
        - `data` object, required
          - `title` string, required: Event title or name
          - `description` string: Event description or details
          - `location` string: Event location or venue
          - `url` string, uri: URL with more information about the event
          - `startDate` string, date-time, required: Event start date and time as ISO 8601 string (e.g. "2025-06-15T14:00:00Z")
          - `endDate` string, date-time, required: Event end date and time as ISO 8601 string (must be after startDate)
      - object
        - `type` 'epc', required
        - `data` object, required
          - `name` string, required: Beneficiary name (payment recipient)
          - `iban` string, required: IBAN of the beneficiary (e.g. "DE89370400440532013000")
          - `bic` string: BIC/SWIFT code of the beneficiary bank
          - `amount` number: Payment amount in EUR
          - `purpose` string: Payment reference or purpose text
    - `qrCodeData` string, nullable, required: Raw data string encoded in the QR code
    - `previewImage` string, nullable, required: URL to a preview image of the rendered QR code
    - `createdBy` string, nullable, required: User ID of the QR code owner
    - `shortUrl` object, nullable, required: Linked short URL for dynamic QR codes, or null for static QR codes
      - `id` string, uuid, required: Unique identifier (UUID v4)
      - `createdAt` string, date-time, required: Timestamp when the resource was created (ISO 8601)
      - `updatedAt` string, date-time, nullable, required: Timestamp when the resource was last updated (ISO 8601), or null if never updated
      - `shortCode` string, required: Unique 5-character short code (e.g. "Ab3xZ")
      - `name` string, nullable, required: User-defined name for the short URL (max 50 characters)
      - `destinationUrl` string, uri, nullable, required: The target URL that the short URL redirects to
      - `qrCodeId` string, uuid, nullable, required: ID of the linked QR code, or null for standalone short URLs
      - `customDomainId` string, uuid, nullable, required: ID of the custom domain used for this short URL, or null for the default domain
      - `isActive` boolean, required: Whether the short URL is currently active and redirecting
      - `createdBy` string, required: User ID of the short URL owner
      - `deletedAt` string, date-time, nullable, required: Soft-delete timestamp, or null if the short URL is active
      - `safetyStatus` 'unchecked' | 'clean' | 'blocked', required: Result of the destination safety screening. "blocked" means we disabled the link and the owner cannot re-enable it
      - `safetyBlockedAt` string, date-time, nullable, required: When the link was blocked for safety reasons, or null
      - `safetyThreatTypes` string, nullable, required: Comma-separated Google Web Risk threat types behind the block, or null
    - `tags` object[], required: Tags assigned to this QR code
      - `id` string, uuid, required: Unique identifier (UUID v4)
      - `createdAt` string, date-time, required: Timestamp when the resource was created (ISO 8601)
      - `updatedAt` string, date-time, nullable, required: Timestamp when the resource was last updated (ISO 8601), or null if never updated
      - `name` string, required: Tag display name (max 32 characters)
      - `color` string, required: Tag color as hex code (e.g. "#FF5733")
      - `createdBy` string, required: User ID of the tag owner
      - `qrCodeCount` number: Number of QR codes assigned to this tag

## Other responses

- `400`: Bad Request — invalid input or validation failure
- `401`: Unauthorized — missing or invalid Bearer token.
- `429`: Too Many Requests — rate limit exceeded. Retry after the rate limit window resets.

---

[API](https://skmtc.dev/qrcodly/apis/qrcodly-api.md) · [All operations](https://skmtc.dev/qrcodly/apis/qrcodly-api/llms.txt) · [OpenAPI document](https://skmtc.dev/qrcodly/apis/qrcodly-api/revisions/b7e95eb68866?raw)
