# POST /api/v1/decode

> POST /api/v1/decode reads a QR code out of an image you send as the request body. It returns the decoded text plus a classification — whether it is a link, a WiFi network, a payment, a contact card — so an agent can act on it without parsing the payload itself.

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

---

## Parameters

| Name | Type | Required | Detail |
| --- | --- | --- | --- |
| `body` | string | yes | The raw image bytes, with a matching Content-Type (image/png, image/jpeg, …). |
| `url` | string | no | Alternatively, a GET with an image URL to fetch. |

## Errors

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

```json
{
  "type": "https://useqr.app/errors",
  "title": "No code found",
  "status": 400,
  "detail": "no QR code was detected in that image",
  "fix": "crop closer to the code, or increase the contrast, then post it again"
}
```
