POST /v1/codes/qr-decode

QR reader

Point it at a screenshot or a photo and get the contents back as text.

Read a QR code from a picture now No key, no code — 2 credits either way.

curl -X POST "$DOATHING_API/v1/codes/qr-decode" \
  -H "x-api-key: $DOATHING_KEY" \
  -H "content-type: application/json" \
  -d '{"file": {"filename": "screenshot.png", "content_type": "image/png", "data_b64": "<base64>"}}'

Point it at a screenshot or a photo and get the contents back as text.

Detect and decode QR codes present in an uploaded image, returning contents and positions.

Input

Send a file object with base64 data_b64, its content_type and a filename. Accepted types: image/png, image/jpeg, image/webp, image/gif, image/tiff.

The declared type is not trusted — the bytes are sniffed and a contradiction is rejected rather than corrected.

Response

The result carries your remaining balance alongside it, so you can track spend without a second call.

{
  "codes": [
    {
      "text": "https://doathing.com",
      "format": "QRCode",
      "position": {
        "top_left": {
          "x": 32,
          "y": 32
        }
      }
    }
  ],
  "count": 1,
  "request_id": "37f01edb-0163-42a1-ac51-0acaef979800",
  "credits_remaining": 96
}

Cost

2 credits per call, whether it is run from the site or from the API — the credential differs, the price does not. A new account starts with 20 credits.

A rejected request still costs a credit: the authorizer decrements before the tool validates. A call rejected for a missing or invalid key is free.