# POST /api/v1/qr/batch

> POST /api/v1/qr/batch takes a shared style and a list of items, each of which may be a raw payload or a typed one, and returns them together. Per-item style overrides are merged over the shared style, so one request covers a whole print run.

Source: https://useqr.app/docs/api/batch · No API key required · UseQR is free forever, MIT licensed.

---

## Parameters

| Name | Type | Required | Detail |
| --- | --- | --- | --- |
| `items` | string | yes | Up to 1,000 items. |
| `style` | string | no | Shared style, overridable per item. |
| `output` | enum | no | How each result comes back. Values: url · base64 · json. Default url. |

## Errors

Every 4xx is RFC 9457 problem+json with an extra `fix` field containing a corrected call.

```json
{
  "type": "https://useqr.app/errors",
  "title": "Too many items",
  "status": 400,
  "detail": "1,400 items exceeds the 1,000 per request limit",
  "fix": "split the list into two requests of 700"
}
```
