Skip to main content
Use qr_config when creating or updating a static or dynamic QR code. The same design contract applies to both types. Create, Retrieve, Update, and List responses always return a complete normalized configuration with renderer defaults filled in.

Shape fields

The eye frame does not support diamond.

Flat colors

Each section has a color and a color mode: Set a mode to flat or gradient. Colors must use six-digit hexadecimal notation such as #214687; three-digit hex, alpha channels, CSS names, and RGB strings are rejected.

Gradient object

When a section uses gradient, provide its complete gradient object:
midpoint is an integer from 5 through 95. It controls where the blended midpoint color appears.

Gradient inheritance and precedence

applyGradientToAll and applyEyeFrameGradientToEye reproduce the dashboard’s Apply to all controls.
  1. When matrixColorMode is gradient and applyGradientToAll is true, matrixGradient renders the matrix, eye frames, and eye centers. Eye-frame and eye color/gradient fields remain stored but do not affect rendering.
  2. Otherwise, when eyeFrameColorMode is gradient and applyEyeFrameGradientToEye is true, eyeFrameGradient renders the eye frames and eye centers. Eye color/gradient fields remain stored but do not affect rendering.
  3. Otherwise, the matrix, eye frame, and eye center each use their own active flat color or gradient.
If both apply flags are true, the matrix gradient wins because it has the highest precedence. applyGradientToAll: true requires matrixColorMode: "gradient". applyEyeFrameGradientToEye: true requires eyeFrameColorMode: "gradient".

Matrix gradient applied everywhere

Eye-frame gradient applied to the eye

Logo visibility

showLogo defaults to true and uses the standard Biqli logo. Set it to false only when the workspace plan includes QR logo customization. Otherwise the API returns 403 upgrade_required with the current and required plan. The public API does not accept custom logos. logoUrl, useCustomLogo, upload data, and arbitrary extra qr_config fields return 422 validation_error.

Updating an existing design

PATCH /v1/qr/{qr_id} recursively merges qr_config, including individual gradient properties. Send qr_config: null to reset the saved public design. Unknown fields and incomplete active gradients return 422 validation_error.