API error responses
Every 4xx from the UseQR API is an RFC 9457 application/problem+json document with one extra field: fix, a corrected call you can paste straight back into your terminal or hand to an agent. There are no API keys, so there are no auth errors, only input problems, and each one teaches its own solution.
$ curl "https://useqr.app/api/v1/qr?data=hello&format=nope"
{
"type": "https://useqr.app/errors",
"title": "Invalid parameter",
"status": 400,
"detail": "format \"nope\" is not supported",
"field": "format",
"fix": "use format=png, format=svg, format=svg-tiny (SVG Tiny 1.2 for Illustrator and cutters), format=json (the module matrix), or format=base64"
}- title, the category of problem.
- detail: what went wrong, quoting your input.
- field, which parameter to change.
- fix, a working replacement call.
Batch calls never fail as a whole because one item is wrong: request-level problems (bad JSON, too many items) come back as problem+json, while per-item problems come back inside results[] with their own error and fix.