---
title: "Create QR codes in bulk"
method: POST
path: "/qrcodes/bulk"
tags: ["Bulk QR Codes"]
---

# Create QR codes in bulk

`POST /qrcodes/bulk`

## Request

- Base URL: `https://getdynamicqr.com/api/v1`
- URL: `https://getdynamicqr.com/api/v1/qrcodes/bulk`
- Auth: API key in header `X-Client-ID` and HTTP bearer

Every row is validated first; rows that fail are reported and skipped
while the rest are created, so one bad URL does not lose the batch.

**Requires the `bulk_qr` plan feature.** Without it this endpoint answers 403 even with valid credentials.

## Request body

- object
  - `items` object[], required: Up to 100 rows.
  - `items[].name` string, required: Display name.
  - `items[].destination_url` string, required: Target URL.
  - `items[].qr_type` string: One of url, whatsapp, email, sms, phone, vcard, text, wifi. Defaults to url.
  - `items[].color_foreground` string: Hex colour, e.g. #4f46e5.
  - `folder_id` integer: Put every created code in this folder.

## Response `201`

Created

## Other responses

- `401`: No credentials, or credentials that are not valid.
- `403`: The account is inactive, or the plan does not carry this feature.
- `429`: Rate limit exceeded. See `Retry-After`.

---

[API](https://skmtc.dev/getdynamicqr/apis/d-qr-rest-api.md) · [All operations](https://skmtc.dev/getdynamicqr/apis/d-qr-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getdynamicqr/apis/d-qr-rest-api/revisions/4467aeca30ce?raw)
