Skip to content
Livstick Developers

Download a QR code with JSON options

Method POST {API_BASE}/v2.1/client/{key}/{crid}/qrcode

Same behavior as GET, with color and size options accepted in the JSON body for legacy clients.

Authorization

Required scope client_v2

The API key is intentionally kept in the path for V2 compatibility: /v2.1/client/{key}/{crid}/... or /v2.1/user/{key}/{crid}/.... Client routes require the client_v2 scope. User routes require the user_v2 scope. Unknown, expired, revoked, malformed, or wrong-scope keys return the legacy JSON error envelope.

Parameters

Name In Type Required Constraints Description
key Path string Required API key kept in the URL for V2 compatibility. Requires client_v2 or user_v2 depending on the route.
crid Path string Required Client reference ID, usually an order or campaign reference.

Request body

Optional application/json Schema QRCodeOptions

Name Type Required Description
dark string Optional
light string Optional
extension string Optional Filename extension hint only; image body remains PNG. Default png
size integer Optional Default 256 Constraints min 64

Responses

200 image/png

PNG QR code image.

400 application/json Schema LegacyError

Invalid key, CRID, payload, message state or business precondition.

403 application/json Schema LegacyError

Key is authenticated but scope or platform constraints are invalid.

json 403
{
  "status": 1,
  "error": "forbidden"
}

forbidden

json 403
{
  "status": 1,
  "error": "forbidden"
}

invalidPlatformConstraint

json 403
{
  "status": 1,
  "error": "key_invalid"
}

503 application/json Schema LegacyError

API key backend is temporarily unavailable.

json 503
{
  "status": 1,
  "error": "auth_unavailable"
}