{
  "openapi": "3.0.3",
  "info": {
    "title": "QR & Barcode API — Generate, Style, Decode, Validate",
    "version": "0.4.0",
    "description": "Callable Labs public endpoint reference. Obtain the base URL and credentials from the marketplace listing. Availability can differ by marketplace."
  },
  "paths": {
    "/v1/generate": {
      "post": {
        "tags": [
          "Generate QR codes"
        ],
        "summary": "Generate a QR code from text or a URL",
        "description": "Create one QR code from raw text or a URL. For Wi-Fi, contacts, events, payments\nand other structured content, use the dedicated typed endpoints so RapidAPI can\nvalidate and document every field.\n\nThe default response is JSON with a `data_uri` you can drop straight into an `<img>`.\nSet `options.format` to `png`, `svg`, `jpeg`, `webp` or `pdf` to get the image bytes\ninstead. Add `style` for shapes, gradients, a logo, a frame or a caption; styled codes\nare decoded before they are returned and the response says `verified: true|false`\nwith warnings that tell you what to change.\n\n**Free tier:** `data` and all `options` except `format: pdf`.\n`style` and PDF are on PRO and above (a free-tier request that uses them returns\n`403 plan_excludes_feature` and is not billed).\n\n**More examples**\n\n*PNG at 600 px*\n\n```json\n{\n  \"data\": \"https://example.com\",\n  \"options\": {\n    \"format\": \"png\",\n    \"size\": 600\n  }\n}\n```\n\n*Styled with logo (PRO+)*\n\n```json\n{\n  \"data\": \"https://example.com\",\n  \"options\": {\n    \"format\": \"png\",\n    \"size\": 600,\n    \"error\": \"H\"\n  },\n  \"style\": {\n    \"module\": \"rounded\",\n    \"eye\": \"rounded\",\n    \"gradient\": {\n      \"type\": \"linear\",\n      \"colors\": [\n        \"#1d4ed8\",\n        \"#9333ea\"\n      ],\n      \"angle\": 45\n    },\n    \"logo\": {\n      \"base64\": \"iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAABK0lEQVR42u2aTRKCMAyFyRuuoVs5jZ5VTqNbOYiu2DjVAnlJU0qX0Gm+l7bTn1fpiOV0fbyX1JvGQVgxxQvaSoyUgGaKQRT4rW1LBHBNbyAi/JqYiAi/Jjaiwi9lQGT4JSyIDp9jQg3w/9jQVV5QS/Z/MaIm+BRrbxHgdb8kv59vT3qs3gP8+z9TCFjDJwe/tW5uGMEj81YiKAI0IAwRohk+rCxq5sS+FrIS2de21W4PHAIOAa0LYO5n2l4HNHeTjF7QtDGNg6AkACMBKDWGWXMIrPv6NUAM+JmZeiKbwao9UlqCZucA0/bpHK/eYeVdefkG+9tKRO6FFBusbVBrywkeXq6lXwYvQ9rK7IOnq27hVML7aQDbZpVIRveWZMH7bQO77TYfe0R6bvMBF8uc8cPjEvkAAAAASUVORK5CYII=\",\n      \"size\": 0.22\n    }\n  }\n}\n```\n\n*Print-ready PDF (PRO+)*\n\n```json\n{\n  \"data\": \"https://example.com\",\n  \"options\": {\n    \"format\": \"pdf\",\n    \"size\": 1200\n  }\n}\n```\n\n**Style options** (PRO and above):\n\n- `style.module`: `square`, `rounded`, `dot`, `diamond`, `classy`, `leaf`, `vertical`, `horizontal`, `connected`, `star`, `hexagon`, `edge_cut`\n- `style.eye`: `square`, `rounded`, `circle`, `leaf`, `leaf_right`, `edge_cut`\n- `style.eye_ball`: `square`, `rounded`, `dot`, `diamond`, `edge_cut`, `leaf`, `star`\n- `style.gradient`: `{type: linear|radial, colors: [2–4 colours], angle}`\n- `style.logo`: `{url | base64, size: 0.1–0.3, shape: square|circle, padding, clean}`\n- `style.frame`: `{style: label|ribbon, text, color, text_color}`; `style.caption`: `{text, color, font_size}`\n- `style.background`: `{url | base64, opacity}` — a photo behind the code",
        "operationId": "Generate QR code",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateRequest"
              },
              "example": {
                "data": "https://example.com"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The rendered code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "format": {
                      "type": "string",
                      "enum": [
                        "json"
                      ],
                      "description": "Echoes the requested output format."
                    },
                    "image_format": {
                      "type": "string",
                      "description": "Encoding of the image inside data_uri."
                    },
                    "media_type": {
                      "type": "string"
                    },
                    "width": {
                      "type": "integer"
                    },
                    "height": {
                      "type": "integer"
                    },
                    "data_uri": {
                      "type": "string"
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "verified": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "content": {
                      "type": "string"
                    },
                    "version": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              },
              "image/png": {},
              "image/svg+xml": {},
              "image/jpeg": {},
              "image/webp": {},
              "application/pdf": {}
            }
          },
          "401": {
            "description": "Authentication failed. Verify the RapidAPI subscription and generated request headers."
          },
          "403": {
            "description": "The current plan excludes this format or feature (`plan_excludes_feature`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "413": {
            "description": "The request body exceeds the configured gateway or endpoint limit."
          },
          "422": {
            "description": "`invalid_request`: a field failed the schema (`errors[].loc` names it). `bad_data`: too much data for the code. `bad_color`: unparseable colour or gradient. `bad_logo`: the logo/background image is missing, too large (> 2 MB / 4096²), not an image, or not a public http(s) URL.",
            "content": {
              "application/json": {
                "examples": {
                  "invalid_request": {
                    "value": {
                      "detail": {
                        "code": "invalid_request",
                        "message": "body.options.size: Input should be less than or equal to 2048",
                        "errors": [
                          {
                            "loc": "body.options.size",
                            "message": "Input should be less than or equal to 2048",
                            "type": "less_than_equal"
                          }
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The subscriber's rate limit or monthly request allowance was exceeded."
          },
          "502": {
            "description": "The origin service is temporarily unavailable."
          },
          "503": {
            "description": "The service is unavailable or busy. Retry after `Retry-After` seconds, with backoff.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Suggested retry delay in seconds."
              }
            }
          }
        }
      }
    },
    "/v1/qr/wifi": {
      "post": {
        "tags": [
          "Typed QR payloads"
        ],
        "summary": "Generate a Wi-Fi QR code",
        "description": "Create a Wi-Fi QR code that iOS and Android can use to join a network. Send the\nnetwork fields directly; `security` is `WPA`, `WEP` or `nopass`. Add `options`\nfor the output and `style` on a paid plan.\n\n**More examples**\n\n*Hidden network as PNG*\n\n```json\n{\n  \"ssid\": \"StaffNetwork\",\n  \"password\": \"correct-horse-battery-staple\",\n  \"security\": \"WPA\",\n  \"hidden\": true,\n  \"options\": {\n    \"format\": \"png\",\n    \"size\": 500\n  }\n}\n```\n\n**Style options** (PRO and above):\n\n- `style.module`: `square`, `rounded`, `dot`, `diamond`, `classy`, `leaf`, `vertical`, `horizontal`, `connected`, `star`, `hexagon`, `edge_cut`\n- `style.eye`: `square`, `rounded`, `circle`, `leaf`, `leaf_right`, `edge_cut`\n- `style.eye_ball`: `square`, `rounded`, `dot`, `diamond`, `edge_cut`, `leaf`, `star`\n- `style.gradient`: `{type: linear|radial, colors: [2–4 colours], angle}`\n- `style.logo`: `{url | base64, size: 0.1–0.3, shape: square|circle, padding, clean}`\n- `style.frame`: `{style: label|ribbon, text, color, text_color}`; `style.caption`: `{text, color, font_size}`\n- `style.background`: `{url | base64, opacity}` — a photo behind the code",
        "operationId": "Generate Wi-Fi QR",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WifiQrRequest"
              },
              "example": {
                "ssid": "CoffeeShop",
                "password": "latte123",
                "security": "WPA"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The rendered code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "format": {
                      "type": "string",
                      "enum": [
                        "json"
                      ],
                      "description": "Echoes the requested output format."
                    },
                    "image_format": {
                      "type": "string",
                      "description": "Encoding of the image inside data_uri."
                    },
                    "media_type": {
                      "type": "string"
                    },
                    "width": {
                      "type": "integer"
                    },
                    "height": {
                      "type": "integer"
                    },
                    "data_uri": {
                      "type": "string"
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "verified": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "content": {
                      "type": "string"
                    },
                    "version": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              },
              "image/png": {},
              "image/svg+xml": {},
              "image/jpeg": {},
              "image/webp": {},
              "application/pdf": {}
            }
          },
          "401": {
            "description": "Authentication failed. Verify the RapidAPI subscription and generated request headers."
          },
          "403": {
            "description": "The current plan excludes this format or feature (`plan_excludes_feature`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "413": {
            "description": "The request body exceeds the configured gateway or endpoint limit."
          },
          "422": {
            "description": "`invalid_request`: a field failed the schema (`errors[].loc` names it). `bad_data`: too much data for the code. `bad_color`: unparseable colour or gradient. `bad_logo`: the logo/background image is missing, too large (> 2 MB / 4096²), not an image, or not a public http(s) URL.",
            "content": {
              "application/json": {
                "examples": {
                  "invalid_request": {
                    "value": {
                      "detail": {
                        "code": "invalid_request",
                        "message": "body.options.size: Input should be less than or equal to 2048",
                        "errors": [
                          {
                            "loc": "body.options.size",
                            "message": "Input should be less than or equal to 2048",
                            "type": "less_than_equal"
                          }
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The subscriber's rate limit or monthly request allowance was exceeded."
          },
          "502": {
            "description": "The origin service is temporarily unavailable."
          },
          "503": {
            "description": "The service is unavailable or busy. Retry after `Retry-After` seconds, with backoff.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Suggested retry delay in seconds."
              }
            }
          }
        }
      }
    },
    "/v1/qr/vcard": {
      "post": {
        "tags": [
          "Typed QR payloads"
        ],
        "summary": "Generate a vCard contact QR code",
        "description": "Create a standards-compatible contact card. `name` is required; include any available\norganization, phone, email, website, address, note and birthday fields.\n\n**Style options** (PRO and above):\n\n- `style.module`: `square`, `rounded`, `dot`, `diamond`, `classy`, `leaf`, `vertical`, `horizontal`, `connected`, `star`, `hexagon`, `edge_cut`\n- `style.eye`: `square`, `rounded`, `circle`, `leaf`, `leaf_right`, `edge_cut`\n- `style.eye_ball`: `square`, `rounded`, `dot`, `diamond`, `edge_cut`, `leaf`, `star`\n- `style.gradient`: `{type: linear|radial, colors: [2–4 colours], angle}`\n- `style.logo`: `{url | base64, size: 0.1–0.3, shape: square|circle, padding, clean}`\n- `style.frame`: `{style: label|ribbon, text, color, text_color}`; `style.caption`: `{text, color, font_size}`\n- `style.background`: `{url | base64, opacity}` — a photo behind the code",
        "operationId": "Generate vCard QR",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VCardQrRequest"
              },
              "example": {
                "name": "Ada Lovelace",
                "org": "Analytical Engines Ltd",
                "phone": "+44 20 7946 0000",
                "email": "ada@example.com"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The rendered code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "format": {
                      "type": "string",
                      "enum": [
                        "json"
                      ],
                      "description": "Echoes the requested output format."
                    },
                    "image_format": {
                      "type": "string",
                      "description": "Encoding of the image inside data_uri."
                    },
                    "media_type": {
                      "type": "string"
                    },
                    "width": {
                      "type": "integer"
                    },
                    "height": {
                      "type": "integer"
                    },
                    "data_uri": {
                      "type": "string"
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "verified": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "content": {
                      "type": "string"
                    },
                    "version": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              },
              "image/png": {},
              "image/svg+xml": {},
              "image/jpeg": {},
              "image/webp": {},
              "application/pdf": {}
            }
          },
          "401": {
            "description": "Authentication failed. Verify the RapidAPI subscription and generated request headers."
          },
          "403": {
            "description": "The current plan excludes this format or feature (`plan_excludes_feature`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "413": {
            "description": "The request body exceeds the configured gateway or endpoint limit."
          },
          "422": {
            "description": "`invalid_request`: a field failed the schema (`errors[].loc` names it). `bad_data`: too much data for the code. `bad_color`: unparseable colour or gradient. `bad_logo`: the logo/background image is missing, too large (> 2 MB / 4096²), not an image, or not a public http(s) URL.",
            "content": {
              "application/json": {
                "examples": {
                  "invalid_request": {
                    "value": {
                      "detail": {
                        "code": "invalid_request",
                        "message": "body.options.size: Input should be less than or equal to 2048",
                        "errors": [
                          {
                            "loc": "body.options.size",
                            "message": "Input should be less than or equal to 2048",
                            "type": "less_than_equal"
                          }
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The subscriber's rate limit or monthly request allowance was exceeded."
          },
          "502": {
            "description": "The origin service is temporarily unavailable."
          },
          "503": {
            "description": "The service is unavailable or busy. Retry after `Retry-After` seconds, with backoff.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Suggested retry delay in seconds."
              }
            }
          }
        }
      }
    },
    "/v1/qr/mecard": {
      "post": {
        "tags": [
          "Typed QR payloads"
        ],
        "summary": "Generate a MeCard contact QR code",
        "description": "Create a compact MeCard contact code from a name and optional phone, email, URL, note and birthday.\n\n**Style options** (PRO and above):\n\n- `style.module`: `square`, `rounded`, `dot`, `diamond`, `classy`, `leaf`, `vertical`, `horizontal`, `connected`, `star`, `hexagon`, `edge_cut`\n- `style.eye`: `square`, `rounded`, `circle`, `leaf`, `leaf_right`, `edge_cut`\n- `style.eye_ball`: `square`, `rounded`, `dot`, `diamond`, `edge_cut`, `leaf`, `star`\n- `style.gradient`: `{type: linear|radial, colors: [2–4 colours], angle}`\n- `style.logo`: `{url | base64, size: 0.1–0.3, shape: square|circle, padding, clean}`\n- `style.frame`: `{style: label|ribbon, text, color, text_color}`; `style.caption`: `{text, color, font_size}`\n- `style.background`: `{url | base64, opacity}` — a photo behind the code",
        "operationId": "Generate MeCard QR",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MeCardQrRequest"
              },
              "example": {
                "name": "Ada Lovelace",
                "phone": "+44 20 7946 0000",
                "email": "ada@example.com"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The rendered code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "format": {
                      "type": "string",
                      "enum": [
                        "json"
                      ],
                      "description": "Echoes the requested output format."
                    },
                    "image_format": {
                      "type": "string",
                      "description": "Encoding of the image inside data_uri."
                    },
                    "media_type": {
                      "type": "string"
                    },
                    "width": {
                      "type": "integer"
                    },
                    "height": {
                      "type": "integer"
                    },
                    "data_uri": {
                      "type": "string"
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "verified": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "content": {
                      "type": "string"
                    },
                    "version": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              },
              "image/png": {},
              "image/svg+xml": {},
              "image/jpeg": {},
              "image/webp": {},
              "application/pdf": {}
            }
          },
          "401": {
            "description": "Authentication failed. Verify the RapidAPI subscription and generated request headers."
          },
          "403": {
            "description": "The current plan excludes this format or feature (`plan_excludes_feature`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "413": {
            "description": "The request body exceeds the configured gateway or endpoint limit."
          },
          "422": {
            "description": "`invalid_request`: a field failed the schema (`errors[].loc` names it). `bad_data`: too much data for the code. `bad_color`: unparseable colour or gradient. `bad_logo`: the logo/background image is missing, too large (> 2 MB / 4096²), not an image, or not a public http(s) URL.",
            "content": {
              "application/json": {
                "examples": {
                  "invalid_request": {
                    "value": {
                      "detail": {
                        "code": "invalid_request",
                        "message": "body.options.size: Input should be less than or equal to 2048",
                        "errors": [
                          {
                            "loc": "body.options.size",
                            "message": "Input should be less than or equal to 2048",
                            "type": "less_than_equal"
                          }
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The subscriber's rate limit or monthly request allowance was exceeded."
          },
          "502": {
            "description": "The origin service is temporarily unavailable."
          },
          "503": {
            "description": "The service is unavailable or busy. Retry after `Retry-After` seconds, with backoff.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Suggested retry delay in seconds."
              }
            }
          }
        }
      }
    },
    "/v1/qr/email": {
      "post": {
        "tags": [
          "Typed QR payloads"
        ],
        "summary": "Generate an email QR code",
        "description": "Open the scanner's mail app with a validated recipient and optional subject, body, CC and BCC.\n\n**Style options** (PRO and above):\n\n- `style.module`: `square`, `rounded`, `dot`, `diamond`, `classy`, `leaf`, `vertical`, `horizontal`, `connected`, `star`, `hexagon`, `edge_cut`\n- `style.eye`: `square`, `rounded`, `circle`, `leaf`, `leaf_right`, `edge_cut`\n- `style.eye_ball`: `square`, `rounded`, `dot`, `diamond`, `edge_cut`, `leaf`, `star`\n- `style.gradient`: `{type: linear|radial, colors: [2–4 colours], angle}`\n- `style.logo`: `{url | base64, size: 0.1–0.3, shape: square|circle, padding, clean}`\n- `style.frame`: `{style: label|ribbon, text, color, text_color}`; `style.caption`: `{text, color, font_size}`\n- `style.background`: `{url | base64, opacity}` — a photo behind the code",
        "operationId": "Generate email QR",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailQrRequest"
              },
              "example": {
                "to": "hello@example.com",
                "subject": "Hello",
                "body": "I scanned your QR code."
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The rendered code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "format": {
                      "type": "string",
                      "enum": [
                        "json"
                      ],
                      "description": "Echoes the requested output format."
                    },
                    "image_format": {
                      "type": "string",
                      "description": "Encoding of the image inside data_uri."
                    },
                    "media_type": {
                      "type": "string"
                    },
                    "width": {
                      "type": "integer"
                    },
                    "height": {
                      "type": "integer"
                    },
                    "data_uri": {
                      "type": "string"
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "verified": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "content": {
                      "type": "string"
                    },
                    "version": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              },
              "image/png": {},
              "image/svg+xml": {},
              "image/jpeg": {},
              "image/webp": {},
              "application/pdf": {}
            }
          },
          "401": {
            "description": "Authentication failed. Verify the RapidAPI subscription and generated request headers."
          },
          "403": {
            "description": "The current plan excludes this format or feature (`plan_excludes_feature`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "413": {
            "description": "The request body exceeds the configured gateway or endpoint limit."
          },
          "422": {
            "description": "`invalid_request`: a field failed the schema (`errors[].loc` names it). `bad_data`: too much data for the code. `bad_color`: unparseable colour or gradient. `bad_logo`: the logo/background image is missing, too large (> 2 MB / 4096²), not an image, or not a public http(s) URL.",
            "content": {
              "application/json": {
                "examples": {
                  "invalid_request": {
                    "value": {
                      "detail": {
                        "code": "invalid_request",
                        "message": "body.options.size: Input should be less than or equal to 2048",
                        "errors": [
                          {
                            "loc": "body.options.size",
                            "message": "Input should be less than or equal to 2048",
                            "type": "less_than_equal"
                          }
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The subscriber's rate limit or monthly request allowance was exceeded."
          },
          "502": {
            "description": "The origin service is temporarily unavailable."
          },
          "503": {
            "description": "The service is unavailable or busy. Retry after `Retry-After` seconds, with backoff.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Suggested retry delay in seconds."
              }
            }
          }
        }
      }
    },
    "/v1/qr/sms": {
      "post": {
        "tags": [
          "Typed QR payloads"
        ],
        "summary": "Generate an SMS QR code",
        "description": "Open the scanner's messaging app with a phone number and optional pre-filled message.\n\n**Style options** (PRO and above):\n\n- `style.module`: `square`, `rounded`, `dot`, `diamond`, `classy`, `leaf`, `vertical`, `horizontal`, `connected`, `star`, `hexagon`, `edge_cut`\n- `style.eye`: `square`, `rounded`, `circle`, `leaf`, `leaf_right`, `edge_cut`\n- `style.eye_ball`: `square`, `rounded`, `dot`, `diamond`, `edge_cut`, `leaf`, `star`\n- `style.gradient`: `{type: linear|radial, colors: [2–4 colours], angle}`\n- `style.logo`: `{url | base64, size: 0.1–0.3, shape: square|circle, padding, clean}`\n- `style.frame`: `{style: label|ribbon, text, color, text_color}`; `style.caption`: `{text, color, font_size}`\n- `style.background`: `{url | base64, opacity}` — a photo behind the code",
        "operationId": "Generate SMS QR",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SmsQrRequest"
              },
              "example": {
                "phone": "+15551234567",
                "message": "Your order is ready."
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The rendered code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "format": {
                      "type": "string",
                      "enum": [
                        "json"
                      ],
                      "description": "Echoes the requested output format."
                    },
                    "image_format": {
                      "type": "string",
                      "description": "Encoding of the image inside data_uri."
                    },
                    "media_type": {
                      "type": "string"
                    },
                    "width": {
                      "type": "integer"
                    },
                    "height": {
                      "type": "integer"
                    },
                    "data_uri": {
                      "type": "string"
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "verified": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "content": {
                      "type": "string"
                    },
                    "version": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              },
              "image/png": {},
              "image/svg+xml": {},
              "image/jpeg": {},
              "image/webp": {},
              "application/pdf": {}
            }
          },
          "401": {
            "description": "Authentication failed. Verify the RapidAPI subscription and generated request headers."
          },
          "403": {
            "description": "The current plan excludes this format or feature (`plan_excludes_feature`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "413": {
            "description": "The request body exceeds the configured gateway or endpoint limit."
          },
          "422": {
            "description": "`invalid_request`: a field failed the schema (`errors[].loc` names it). `bad_data`: too much data for the code. `bad_color`: unparseable colour or gradient. `bad_logo`: the logo/background image is missing, too large (> 2 MB / 4096²), not an image, or not a public http(s) URL.",
            "content": {
              "application/json": {
                "examples": {
                  "invalid_request": {
                    "value": {
                      "detail": {
                        "code": "invalid_request",
                        "message": "body.options.size: Input should be less than or equal to 2048",
                        "errors": [
                          {
                            "loc": "body.options.size",
                            "message": "Input should be less than or equal to 2048",
                            "type": "less_than_equal"
                          }
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The subscriber's rate limit or monthly request allowance was exceeded."
          },
          "502": {
            "description": "The origin service is temporarily unavailable."
          },
          "503": {
            "description": "The service is unavailable or busy. Retry after `Retry-After` seconds, with backoff.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Suggested retry delay in seconds."
              }
            }
          }
        }
      }
    },
    "/v1/qr/tel": {
      "post": {
        "tags": [
          "Typed QR payloads"
        ],
        "summary": "Generate a phone-number QR code",
        "description": "Create a QR code that opens the scanner's dialler with the supplied phone number.\n\n**Style options** (PRO and above):\n\n- `style.module`: `square`, `rounded`, `dot`, `diamond`, `classy`, `leaf`, `vertical`, `horizontal`, `connected`, `star`, `hexagon`, `edge_cut`\n- `style.eye`: `square`, `rounded`, `circle`, `leaf`, `leaf_right`, `edge_cut`\n- `style.eye_ball`: `square`, `rounded`, `dot`, `diamond`, `edge_cut`, `leaf`, `star`\n- `style.gradient`: `{type: linear|radial, colors: [2–4 colours], angle}`\n- `style.logo`: `{url | base64, size: 0.1–0.3, shape: square|circle, padding, clean}`\n- `style.frame`: `{style: label|ribbon, text, color, text_color}`; `style.caption`: `{text, color, font_size}`\n- `style.background`: `{url | base64, opacity}` — a photo behind the code",
        "operationId": "Generate phone QR",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TelQrRequest"
              },
              "example": {
                "phone": "+15551234567"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The rendered code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "format": {
                      "type": "string",
                      "enum": [
                        "json"
                      ],
                      "description": "Echoes the requested output format."
                    },
                    "image_format": {
                      "type": "string",
                      "description": "Encoding of the image inside data_uri."
                    },
                    "media_type": {
                      "type": "string"
                    },
                    "width": {
                      "type": "integer"
                    },
                    "height": {
                      "type": "integer"
                    },
                    "data_uri": {
                      "type": "string"
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "verified": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "content": {
                      "type": "string"
                    },
                    "version": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              },
              "image/png": {},
              "image/svg+xml": {},
              "image/jpeg": {},
              "image/webp": {},
              "application/pdf": {}
            }
          },
          "401": {
            "description": "Authentication failed. Verify the RapidAPI subscription and generated request headers."
          },
          "403": {
            "description": "The current plan excludes this format or feature (`plan_excludes_feature`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "413": {
            "description": "The request body exceeds the configured gateway or endpoint limit."
          },
          "422": {
            "description": "`invalid_request`: a field failed the schema (`errors[].loc` names it). `bad_data`: too much data for the code. `bad_color`: unparseable colour or gradient. `bad_logo`: the logo/background image is missing, too large (> 2 MB / 4096²), not an image, or not a public http(s) URL.",
            "content": {
              "application/json": {
                "examples": {
                  "invalid_request": {
                    "value": {
                      "detail": {
                        "code": "invalid_request",
                        "message": "body.options.size: Input should be less than or equal to 2048",
                        "errors": [
                          {
                            "loc": "body.options.size",
                            "message": "Input should be less than or equal to 2048",
                            "type": "less_than_equal"
                          }
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The subscriber's rate limit or monthly request allowance was exceeded."
          },
          "502": {
            "description": "The origin service is temporarily unavailable."
          },
          "503": {
            "description": "The service is unavailable or busy. Retry after `Retry-After` seconds, with backoff.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Suggested retry delay in seconds."
              }
            }
          }
        }
      }
    },
    "/v1/qr/geo": {
      "post": {
        "tags": [
          "Typed QR payloads"
        ],
        "summary": "Generate a location QR code",
        "description": "Create a geo URI from validated latitude and longitude coordinates.\n\n**Style options** (PRO and above):\n\n- `style.module`: `square`, `rounded`, `dot`, `diamond`, `classy`, `leaf`, `vertical`, `horizontal`, `connected`, `star`, `hexagon`, `edge_cut`\n- `style.eye`: `square`, `rounded`, `circle`, `leaf`, `leaf_right`, `edge_cut`\n- `style.eye_ball`: `square`, `rounded`, `dot`, `diamond`, `edge_cut`, `leaf`, `star`\n- `style.gradient`: `{type: linear|radial, colors: [2–4 colours], angle}`\n- `style.logo`: `{url | base64, size: 0.1–0.3, shape: square|circle, padding, clean}`\n- `style.frame`: `{style: label|ribbon, text, color, text_color}`; `style.caption`: `{text, color, font_size}`\n- `style.background`: `{url | base64, opacity}` — a photo behind the code",
        "operationId": "Generate location QR",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeoQrRequest"
              },
              "example": {
                "lat": 51.5007,
                "lng": -0.1246
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The rendered code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "format": {
                      "type": "string",
                      "enum": [
                        "json"
                      ],
                      "description": "Echoes the requested output format."
                    },
                    "image_format": {
                      "type": "string",
                      "description": "Encoding of the image inside data_uri."
                    },
                    "media_type": {
                      "type": "string"
                    },
                    "width": {
                      "type": "integer"
                    },
                    "height": {
                      "type": "integer"
                    },
                    "data_uri": {
                      "type": "string"
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "verified": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "content": {
                      "type": "string"
                    },
                    "version": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              },
              "image/png": {},
              "image/svg+xml": {},
              "image/jpeg": {},
              "image/webp": {},
              "application/pdf": {}
            }
          },
          "401": {
            "description": "Authentication failed. Verify the RapidAPI subscription and generated request headers."
          },
          "403": {
            "description": "The current plan excludes this format or feature (`plan_excludes_feature`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "413": {
            "description": "The request body exceeds the configured gateway or endpoint limit."
          },
          "422": {
            "description": "`invalid_request`: a field failed the schema (`errors[].loc` names it). `bad_data`: too much data for the code. `bad_color`: unparseable colour or gradient. `bad_logo`: the logo/background image is missing, too large (> 2 MB / 4096²), not an image, or not a public http(s) URL.",
            "content": {
              "application/json": {
                "examples": {
                  "invalid_request": {
                    "value": {
                      "detail": {
                        "code": "invalid_request",
                        "message": "body.options.size: Input should be less than or equal to 2048",
                        "errors": [
                          {
                            "loc": "body.options.size",
                            "message": "Input should be less than or equal to 2048",
                            "type": "less_than_equal"
                          }
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The subscriber's rate limit or monthly request allowance was exceeded."
          },
          "502": {
            "description": "The origin service is temporarily unavailable."
          },
          "503": {
            "description": "The service is unavailable or busy. Retry after `Retry-After` seconds, with backoff.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Suggested retry delay in seconds."
              }
            }
          }
        }
      }
    },
    "/v1/qr/event": {
      "post": {
        "tags": [
          "Typed QR payloads"
        ],
        "summary": "Generate a calendar-event QR code",
        "description": "Create an iCalendar event with a required title and start time plus optional end, location and description.\n\n**Style options** (PRO and above):\n\n- `style.module`: `square`, `rounded`, `dot`, `diamond`, `classy`, `leaf`, `vertical`, `horizontal`, `connected`, `star`, `hexagon`, `edge_cut`\n- `style.eye`: `square`, `rounded`, `circle`, `leaf`, `leaf_right`, `edge_cut`\n- `style.eye_ball`: `square`, `rounded`, `dot`, `diamond`, `edge_cut`, `leaf`, `star`\n- `style.gradient`: `{type: linear|radial, colors: [2–4 colours], angle}`\n- `style.logo`: `{url | base64, size: 0.1–0.3, shape: square|circle, padding, clean}`\n- `style.frame`: `{style: label|ribbon, text, color, text_color}`; `style.caption`: `{text, color, font_size}`\n- `style.background`: `{url | base64, opacity}` — a photo behind the code",
        "operationId": "Generate event QR",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventQrRequest"
              },
              "example": {
                "title": "Launch party",
                "start": "2026-10-01T18:00:00Z",
                "end": "2026-10-01T21:00:00Z",
                "location": "Main Hall"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The rendered code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "format": {
                      "type": "string",
                      "enum": [
                        "json"
                      ],
                      "description": "Echoes the requested output format."
                    },
                    "image_format": {
                      "type": "string",
                      "description": "Encoding of the image inside data_uri."
                    },
                    "media_type": {
                      "type": "string"
                    },
                    "width": {
                      "type": "integer"
                    },
                    "height": {
                      "type": "integer"
                    },
                    "data_uri": {
                      "type": "string"
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "verified": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "content": {
                      "type": "string"
                    },
                    "version": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              },
              "image/png": {},
              "image/svg+xml": {},
              "image/jpeg": {},
              "image/webp": {},
              "application/pdf": {}
            }
          },
          "401": {
            "description": "Authentication failed. Verify the RapidAPI subscription and generated request headers."
          },
          "403": {
            "description": "The current plan excludes this format or feature (`plan_excludes_feature`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "413": {
            "description": "The request body exceeds the configured gateway or endpoint limit."
          },
          "422": {
            "description": "`invalid_request`: a field failed the schema (`errors[].loc` names it). `bad_data`: too much data for the code. `bad_color`: unparseable colour or gradient. `bad_logo`: the logo/background image is missing, too large (> 2 MB / 4096²), not an image, or not a public http(s) URL.",
            "content": {
              "application/json": {
                "examples": {
                  "invalid_request": {
                    "value": {
                      "detail": {
                        "code": "invalid_request",
                        "message": "body.options.size: Input should be less than or equal to 2048",
                        "errors": [
                          {
                            "loc": "body.options.size",
                            "message": "Input should be less than or equal to 2048",
                            "type": "less_than_equal"
                          }
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The subscriber's rate limit or monthly request allowance was exceeded."
          },
          "502": {
            "description": "The origin service is temporarily unavailable."
          },
          "503": {
            "description": "The service is unavailable or busy. Retry after `Retry-After` seconds, with backoff.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Suggested retry delay in seconds."
              }
            }
          }
        }
      }
    },
    "/v1/qr/whatsapp": {
      "post": {
        "tags": [
          "Typed QR payloads"
        ],
        "summary": "Generate a WhatsApp QR code",
        "description": "Open a WhatsApp chat for an international phone number with an optional pre-filled message.\n\n**Style options** (PRO and above):\n\n- `style.module`: `square`, `rounded`, `dot`, `diamond`, `classy`, `leaf`, `vertical`, `horizontal`, `connected`, `star`, `hexagon`, `edge_cut`\n- `style.eye`: `square`, `rounded`, `circle`, `leaf`, `leaf_right`, `edge_cut`\n- `style.eye_ball`: `square`, `rounded`, `dot`, `diamond`, `edge_cut`, `leaf`, `star`\n- `style.gradient`: `{type: linear|radial, colors: [2–4 colours], angle}`\n- `style.logo`: `{url | base64, size: 0.1–0.3, shape: square|circle, padding, clean}`\n- `style.frame`: `{style: label|ribbon, text, color, text_color}`; `style.caption`: `{text, color, font_size}`\n- `style.background`: `{url | base64, opacity}` — a photo behind the code",
        "operationId": "Generate WhatsApp QR",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WhatsAppQrRequest"
              },
              "example": {
                "phone": "+15551234567",
                "message": "Hello from the QR code"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The rendered code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "format": {
                      "type": "string",
                      "enum": [
                        "json"
                      ],
                      "description": "Echoes the requested output format."
                    },
                    "image_format": {
                      "type": "string",
                      "description": "Encoding of the image inside data_uri."
                    },
                    "media_type": {
                      "type": "string"
                    },
                    "width": {
                      "type": "integer"
                    },
                    "height": {
                      "type": "integer"
                    },
                    "data_uri": {
                      "type": "string"
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "verified": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "content": {
                      "type": "string"
                    },
                    "version": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              },
              "image/png": {},
              "image/svg+xml": {},
              "image/jpeg": {},
              "image/webp": {},
              "application/pdf": {}
            }
          },
          "401": {
            "description": "Authentication failed. Verify the RapidAPI subscription and generated request headers."
          },
          "403": {
            "description": "The current plan excludes this format or feature (`plan_excludes_feature`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "413": {
            "description": "The request body exceeds the configured gateway or endpoint limit."
          },
          "422": {
            "description": "`invalid_request`: a field failed the schema (`errors[].loc` names it). `bad_data`: too much data for the code. `bad_color`: unparseable colour or gradient. `bad_logo`: the logo/background image is missing, too large (> 2 MB / 4096²), not an image, or not a public http(s) URL.",
            "content": {
              "application/json": {
                "examples": {
                  "invalid_request": {
                    "value": {
                      "detail": {
                        "code": "invalid_request",
                        "message": "body.options.size: Input should be less than or equal to 2048",
                        "errors": [
                          {
                            "loc": "body.options.size",
                            "message": "Input should be less than or equal to 2048",
                            "type": "less_than_equal"
                          }
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The subscriber's rate limit or monthly request allowance was exceeded."
          },
          "502": {
            "description": "The origin service is temporarily unavailable."
          },
          "503": {
            "description": "The service is unavailable or busy. Retry after `Retry-After` seconds, with backoff.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Suggested retry delay in seconds."
              }
            }
          }
        }
      }
    },
    "/v1/qr/epc": {
      "post": {
        "tags": [
          "Typed QR payloads"
        ],
        "summary": "Generate a SEPA payment QR code",
        "description": "Create an EPC QR payload for a EUR SEPA credit transfer. The beneficiary, IBAN and positive amount are required.\n\n**Style options** (PRO and above):\n\n- `style.module`: `square`, `rounded`, `dot`, `diamond`, `classy`, `leaf`, `vertical`, `horizontal`, `connected`, `star`, `hexagon`, `edge_cut`\n- `style.eye`: `square`, `rounded`, `circle`, `leaf`, `leaf_right`, `edge_cut`\n- `style.eye_ball`: `square`, `rounded`, `dot`, `diamond`, `edge_cut`, `leaf`, `star`\n- `style.gradient`: `{type: linear|radial, colors: [2–4 colours], angle}`\n- `style.logo`: `{url | base64, size: 0.1–0.3, shape: square|circle, padding, clean}`\n- `style.frame`: `{style: label|ribbon, text, color, text_color}`; `style.caption`: `{text, color, font_size}`\n- `style.background`: `{url | base64, opacity}` — a photo behind the code",
        "operationId": "Generate SEPA payment QR",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EpcQrRequest"
              },
              "example": {
                "name": "ACME GmbH",
                "iban": "DE89370400440532013000",
                "amount": 12.5,
                "text": "Invoice 1042"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The rendered code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "format": {
                      "type": "string",
                      "enum": [
                        "json"
                      ],
                      "description": "Echoes the requested output format."
                    },
                    "image_format": {
                      "type": "string",
                      "description": "Encoding of the image inside data_uri."
                    },
                    "media_type": {
                      "type": "string"
                    },
                    "width": {
                      "type": "integer"
                    },
                    "height": {
                      "type": "integer"
                    },
                    "data_uri": {
                      "type": "string"
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "verified": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "content": {
                      "type": "string"
                    },
                    "version": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              },
              "image/png": {},
              "image/svg+xml": {},
              "image/jpeg": {},
              "image/webp": {},
              "application/pdf": {}
            }
          },
          "401": {
            "description": "Authentication failed. Verify the RapidAPI subscription and generated request headers."
          },
          "403": {
            "description": "The current plan excludes this format or feature (`plan_excludes_feature`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "413": {
            "description": "The request body exceeds the configured gateway or endpoint limit."
          },
          "422": {
            "description": "`invalid_request`: a field failed the schema (`errors[].loc` names it). `bad_data`: too much data for the code. `bad_color`: unparseable colour or gradient. `bad_logo`: the logo/background image is missing, too large (> 2 MB / 4096²), not an image, or not a public http(s) URL.",
            "content": {
              "application/json": {
                "examples": {
                  "invalid_request": {
                    "value": {
                      "detail": {
                        "code": "invalid_request",
                        "message": "body.options.size: Input should be less than or equal to 2048",
                        "errors": [
                          {
                            "loc": "body.options.size",
                            "message": "Input should be less than or equal to 2048",
                            "type": "less_than_equal"
                          }
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The subscriber's rate limit or monthly request allowance was exceeded."
          },
          "502": {
            "description": "The origin service is temporarily unavailable."
          },
          "503": {
            "description": "The service is unavailable or busy. Retry after `Retry-After` seconds, with backoff.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Suggested retry delay in seconds."
              }
            }
          }
        }
      }
    },
    "/v1/qr/crypto": {
      "post": {
        "tags": [
          "Typed QR payloads"
        ],
        "summary": "Generate a cryptocurrency payment QR code",
        "description": "Create a bitcoin, ethereum, litecoin or dogecoin payment URI with optional amount, label and message.\n\n**Style options** (PRO and above):\n\n- `style.module`: `square`, `rounded`, `dot`, `diamond`, `classy`, `leaf`, `vertical`, `horizontal`, `connected`, `star`, `hexagon`, `edge_cut`\n- `style.eye`: `square`, `rounded`, `circle`, `leaf`, `leaf_right`, `edge_cut`\n- `style.eye_ball`: `square`, `rounded`, `dot`, `diamond`, `edge_cut`, `leaf`, `star`\n- `style.gradient`: `{type: linear|radial, colors: [2–4 colours], angle}`\n- `style.logo`: `{url | base64, size: 0.1–0.3, shape: square|circle, padding, clean}`\n- `style.frame`: `{style: label|ribbon, text, color, text_color}`; `style.caption`: `{text, color, font_size}`\n- `style.background`: `{url | base64, opacity}` — a photo behind the code",
        "operationId": "Generate crypto payment QR",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CryptoQrRequest"
              },
              "example": {
                "coin": "bitcoin",
                "address": "1BoatSLRHtKNngkdXEeobR76b53LETtpyT",
                "amount": 0.01,
                "label": "Tip"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The rendered code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "format": {
                      "type": "string",
                      "enum": [
                        "json"
                      ],
                      "description": "Echoes the requested output format."
                    },
                    "image_format": {
                      "type": "string",
                      "description": "Encoding of the image inside data_uri."
                    },
                    "media_type": {
                      "type": "string"
                    },
                    "width": {
                      "type": "integer"
                    },
                    "height": {
                      "type": "integer"
                    },
                    "data_uri": {
                      "type": "string"
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "verified": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "content": {
                      "type": "string"
                    },
                    "version": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              },
              "image/png": {},
              "image/svg+xml": {},
              "image/jpeg": {},
              "image/webp": {},
              "application/pdf": {}
            }
          },
          "401": {
            "description": "Authentication failed. Verify the RapidAPI subscription and generated request headers."
          },
          "403": {
            "description": "The current plan excludes this format or feature (`plan_excludes_feature`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "413": {
            "description": "The request body exceeds the configured gateway or endpoint limit."
          },
          "422": {
            "description": "`invalid_request`: a field failed the schema (`errors[].loc` names it). `bad_data`: too much data for the code. `bad_color`: unparseable colour or gradient. `bad_logo`: the logo/background image is missing, too large (> 2 MB / 4096²), not an image, or not a public http(s) URL.",
            "content": {
              "application/json": {
                "examples": {
                  "invalid_request": {
                    "value": {
                      "detail": {
                        "code": "invalid_request",
                        "message": "body.options.size: Input should be less than or equal to 2048",
                        "errors": [
                          {
                            "loc": "body.options.size",
                            "message": "Input should be less than or equal to 2048",
                            "type": "less_than_equal"
                          }
                        ]
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The subscriber's rate limit or monthly request allowance was exceeded."
          },
          "502": {
            "description": "The origin service is temporarily unavailable."
          },
          "503": {
            "description": "The service is unavailable or busy. Retry after `Retry-After` seconds, with backoff.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Suggested retry delay in seconds."
              }
            }
          }
        }
      }
    },
    "/v1/barcode": {
      "post": {
        "tags": [
          "Generate barcodes"
        ],
        "summary": "Generate a barcode",
        "description": "Create one 1D or 2D barcode from `data` and `type`. EAN/UPC/ISBN/ISSN take digits and\na missing check digit is computed for you. Default output is JSON with a `data_uri`;\nset `format` to `png`, `svg`, `jpeg`, `webp` or `pdf` for the bytes.\n\nThe `module_*`, `quiet_zone`, `font_size`, `text_distance` and `dpi` fields are\nmillimetre settings for 1D print layouts; leave them out for a sensible default.\n`scale`, `size` and `border` apply to the 2D types (Data Matrix, PDF417, Aztec).\n\n**More examples**\n\n*Code 128 as PNG*\n\n```json\n{\n  \"data\": \"INV-2026-0042\",\n  \"type\": \"code128\",\n  \"format\": \"png\"\n}\n```\n\n*Data Matrix as SVG*\n\n```json\n{\n  \"data\": \"https://example.com/p/42\",\n  \"type\": \"datamatrix\",\n  \"format\": \"svg\",\n  \"size\": 400\n}\n```",
        "operationId": "Generate barcode",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BarcodeRequest"
              },
              "example": {
                "data": "5901234123457",
                "type": "ean13"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The rendered barcode",
            "content": {
              "application/json": {
                "schema": {}
              },
              "image/png": {},
              "image/svg+xml": {},
              "image/jpeg": {},
              "image/webp": {},
              "application/pdf": {}
            }
          },
          "401": {
            "description": "Authentication failed. Verify the RapidAPI subscription and generated request headers."
          },
          "413": {
            "description": "The request body exceeds the configured gateway or endpoint limit."
          },
          "422": {
            "description": "`invalid_request`: a field failed the schema (`errors[].loc` names it). `bad_data`: the value cannot be encoded in that symbology (wrong length, non-digits for EAN/UPC, bad check digit). `bad_color`: unparseable colour.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The subscriber's rate limit or monthly request allowance was exceeded."
          },
          "502": {
            "description": "The origin service is temporarily unavailable."
          },
          "503": {
            "description": "The service is unavailable or busy. Retry after `Retry-After` seconds, with backoff.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Suggested retry delay in seconds."
              }
            }
          }
        }
      }
    },
    "/v1/decode": {
      "post": {
        "tags": [
          "Read codes from images"
        ],
        "summary": "Read QR codes and barcodes from an image",
        "description": "Send one image as `image_url` (public http(s)) **or** `image_base64` (a `data:` URI is\nfine) and get back every QR code and barcode in it: symbology, decoded text, pixel\nposition, orientation, and parsed fields for known content (Wi-Fi, vCard, geo,\nEPC/SEPA, payment links). Reads QR, Micro QR, Data Matrix, PDF417, Aztec and the\ncommon 1D families. Up to 5 MB and 24 megapixels.\n\n**More examples**\n\n*From a public URL, first QR only*\n\n```json\n{\n  \"image_url\": \"https://your-cdn.example.com/ticket.png\",\n  \"formats\": [\n    \"qr\"\n  ],\n  \"multiple\": false\n}\n```",
        "operationId": "Decode codes from image",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DecodeRequest"
              },
              "example": {
                "image_base64": "iVBORw0KGgoAAAANSUhEUgAAAIQAAACECAYAAABRRIOnAAACbUlEQVR42u3dS27DMAwAUbvI/a/sbrrKxhUkfmy92aZNU2NAMhJFndd1XQfwx49HAEKAECAECAFCgBAgBAgBQoAQIAQIAUKAEHg+n9k3OM8z9QPftW/cfZ7v3//++dHXn/Z8RAgQAoRAlxpidQ4bzcGjOXq0JhitWWbfr7qGEyFACBACVTXEbI4bzbF36wbVn6/73xchQAgQAl1riOwaZbamyM7ZIgQIAUJADfHMmuLu9dl+CBEChAAhoIbo+T0+ul8huieyW00iQoAQIASqaojscwirz01E5/Ts5yNCgBAgBLrWEN3X9kfXFVb3Vzxt70OEACFACPz3a/Hq+zKyexxH50GsXpeYrSlWz7MQIUAIEALHS892rq4BZvshutU81XsfIgQIAUKgak5l9hzJbjOfjuY9oyIECAFCoMteRvQs6OgcujoHR+9tmHUNKQOEgHMZMesW2XsNq9+v+j4OEQKEACFQtQ6R3QO5uv8hexZ19F6NCAFCgBB465zK7HWI1eciqs956IeAlAFC4K33dkafy8iuaWZrgNXPw14GpAwQAscmPZXVOTT63Ej2TCx7GZAyQAjsMqcy+qzl6B1a2f9f99nXIgQIAUKgaj7EkbzX0H3u4+z7mw8BKQOEwK79ENE1SnZPZLfnYS8DUgYIgV1mXb/tjqrsdZnodRQRAoQAIfCUs53V93R2nx+RXaOIECAECIFdaojsvYrqGVYiBAgBQmCXGiJ6b2L1fRvdZma5txNSBggB92XUrEPcrQtE731Ez7I2YwpSBgiB46EzpiBCgBAgBAgBEAKEACFACBAChAAhQAgQAoQAIdCMX7skkxgNVKF2AAAAAElFTkSuQmCC"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DecodeResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication failed. Verify the RapidAPI subscription and generated request headers."
          },
          "413": {
            "description": "The request body exceeds the configured gateway or endpoint limit."
          },
          "422": {
            "description": "`invalid_request`: a field failed the schema. `bad_image`: the image is larger than 5 MB, not decodable (PNG, JPEG, WebP, GIF, BMP, TIFF), invalid base64, not a public http(s) URL, or `formats` names an unknown symbology.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The subscriber's rate limit or monthly request allowance was exceeded."
          },
          "502": {
            "description": "The origin service is temporarily unavailable."
          },
          "503": {
            "description": "The service is unavailable or busy. Retry after `Retry-After` seconds, with backoff.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Suggested retry delay in seconds."
              }
            }
          }
        }
      }
    },
    "/v1/standards/validate": {
      "post": {
        "tags": [
          "Validate payment & GS1 payloads"
        ],
        "summary": "Validate a payment or GS1 QR payload",
        "description": "Check a raw QR payload against its published specification before you print or present\nit. `standard` is one of `gs1-digital-link`, `epc-sepa`, `swiss-qr-bill`, `pix-br-code`,\n`upi`, `emvco-mpm`. The response returns `valid`, the parsed `fields`, and `errors` /\n`warnings` that name the offending field and cite the spec clause. This is\ndeterministic validation, not scheme certification.\n\n**More examples**\n\n*UPI*\n\n```json\n{\n  \"standard\": \"upi\",\n  \"payload\": \"upi://pay?pa=merchant@upi&pn=Cafe%20Ada&am=120.00&cu=INR\"\n}\n```\n\n*Pix BR Code*\n\n```json\n{\n  \"standard\": \"pix-br-code\",\n  \"payload\": \"00020126360014BR.GOV.BCB.PIX0114+5511999999999520400005303986540510.005802BR5913Fulano de Tal6008BRASILIA62070503***63041D3D\"\n}\n```",
        "operationId": "Validate payment or GS1 payload",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidationRequest"
              },
              "example": {
                "standard": "gs1-digital-link",
                "payload": "https://id.gs1.org/01/09520123456788/10/ABC123"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationResult"
                }
              }
            }
          },
          "401": {
            "description": "Authentication failed. Verify the RapidAPI subscription and generated request headers."
          },
          "413": {
            "description": "The request body exceeds the configured gateway or endpoint limit."
          },
          "422": {
            "description": "`invalid_request`: unknown `standard` or a `payload` outside 1–10,000 characters",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The subscriber's rate limit or monthly request allowance was exceeded."
          },
          "502": {
            "description": "The origin service is temporarily unavailable."
          },
          "503": {
            "description": "The service is unavailable or busy. Retry after `Retry-After` seconds, with backoff.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Suggested retry delay in seconds."
              }
            }
          }
        }
      }
    },
    "/v1/standards/render": {
      "post": {
        "tags": [
          "Validate payment & GS1 payloads"
        ],
        "summary": "Validate and render a payment QR code",
        "description": "Validate a payment payload (same `standard` values as the validator) and, if it is\nvalid, render it as a QR code with the error-correction level and quiet zone the scheme\nmandates. Invalid payloads return the validation errors instead of an image. Output\nfollows `format` (`json` data URI by default, or `png`/`svg`/`jpeg`/`webp`/`pdf`).",
        "operationId": "Render validated payment QR",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenderRequest"
              },
              "example": {
                "standard": "epc-sepa",
                "payload": "BCD\n002\n1\nSCT\n\nACME GmbH\nDE89370400440532013000\nEUR12.50\n\n\nInvoice 1042\n",
                "format": "png"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The rendered code",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "format": {
                      "type": "string",
                      "enum": [
                        "json"
                      ],
                      "description": "Echoes the requested output format."
                    },
                    "image_format": {
                      "type": "string",
                      "description": "Encoding of the image inside data_uri."
                    },
                    "media_type": {
                      "type": "string"
                    },
                    "width": {
                      "type": "integer"
                    },
                    "height": {
                      "type": "integer"
                    },
                    "data_uri": {
                      "type": "string"
                    },
                    "warnings": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "verified": {
                      "type": "boolean",
                      "nullable": true
                    },
                    "content": {
                      "type": "string"
                    },
                    "version": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "image/png": {},
              "image/svg+xml": {},
              "image/jpeg": {},
              "image/webp": {},
              "application/pdf": {}
            }
          },
          "401": {
            "description": "Authentication failed. Verify the RapidAPI subscription and generated request headers."
          },
          "403": {
            "description": "The current plan excludes this format or feature (`plan_excludes_feature`).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "413": {
            "description": "The request body exceeds the configured gateway or endpoint limit."
          },
          "422": {
            "description": "`invalid_payload`: the payload fails the named standard (`errors` lists the issues); `invalid_request`: unknown `standard`, `format` or size out of range",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "The subscriber's rate limit or monthly request allowance was exceeded."
          },
          "502": {
            "description": "The origin service is temporarily unavailable."
          },
          "503": {
            "description": "The service is unavailable or busy. Retry after `Retry-After` seconds, with backoff.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Suggested retry delay in seconds."
              }
            }
          }
        }
      }
    },
    "/v1/standards/fixtures": {
      "get": {
        "tags": [
          "Validate payment & GS1 payloads"
        ],
        "summary": "Reference payloads for each standard",
        "description": "Known-good and known-bad payloads for every supported standard, each linked to the\nofficial source it was taken from. Use them to try the validator, seed tests, or see\nwhat a correct payload looks like. Filter with `standard`.",
        "operationId": "Get standard reference payloads",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Fixture"
                  },
                  "title": "Response List Standard Fixtures"
                }
              }
            }
          },
          "401": {
            "description": "Authentication failed. Verify the RapidAPI subscription and generated request headers."
          },
          "413": {
            "description": "The request body exceeds the configured gateway or endpoint limit."
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          },
          "429": {
            "description": "The subscriber's rate limit or monthly request allowance was exceeded."
          },
          "502": {
            "description": "The origin service is temporarily unavailable."
          },
          "503": {
            "description": "The service is unavailable or busy. Retry after `Retry-After` seconds, with backoff.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Suggested retry delay in seconds."
              }
            }
          }
        },
        "parameters": [
          {
            "name": "standard",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "gs1-digital-link",
                "epc-sepa",
                "swiss-qr-bill",
                "pix-br-code",
                "upi",
                "emvco-mpm"
              ],
              "type": "string",
              "nullable": true,
              "title": "Standard",
              "description": "Filter by one standard"
            },
            "description": "Filter by one standard"
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "GenerateRequest": {
        "properties": {
          "data": {
            "type": "string",
            "maxLength": 4096,
            "minLength": 1,
            "title": "Data",
            "description": "Raw text or URL to encode (1–4096 characters).",
            "example": "https://example.com"
          },
          "options": {
            "$ref": "#/components/schemas/Options"
          },
          "style": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Style"
              }
            ],
            "nullable": true,
            "description": "Full design options: shapes, gradients, logo, background, frame."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "data"
        ],
        "title": "GenerateRequest",
        "description": "Generate a QR code from raw text or a URL."
      },
      "Options": {
        "properties": {
          "format": {
            "type": "string",
            "enum": [
              "json",
              "png",
              "svg",
              "jpeg",
              "webp",
              "pdf"
            ],
            "title": "Format",
            "description": "Output format. `json` returns a data URI plus metadata and is the default; png/svg/jpeg/webp/pdf return the image bytes.",
            "default": "json",
            "example": "json"
          },
          "size": {
            "type": "integer",
            "maximum": 2048,
            "minimum": 32,
            "nullable": true,
            "title": "Size",
            "description": "Exact width in pixels; defaults to 8 px per module.",
            "example": 300
          },
          "dark": {
            "type": "string",
            "title": "Dark",
            "description": "Module colour: hex, rgb() or a CSS name.",
            "default": "#000000",
            "example": "#1d4ed8"
          },
          "light": {
            "type": "string",
            "nullable": true,
            "title": "Light",
            "description": "Background colour; `transparent` or null for none.",
            "default": "#ffffff"
          },
          "error": {
            "type": "string",
            "enum": [
              "L",
              "M",
              "Q",
              "H"
            ],
            "title": "Error",
            "description": "Error correction: L 7%, M 15%, Q 25%, H 30%.",
            "default": "M"
          },
          "verify": {
            "type": "boolean",
            "nullable": true,
            "title": "Verify",
            "description": "Decode the rendered code before returning it and report the result in `verified`. Default: on for styled codes, off for plain ones."
          }
        },
        "type": "object",
        "title": "Options",
        "description": "How a code is encoded and rendered. Defaults to a JSON data URI."
      },
      "Style": {
        "properties": {
          "module": {
            "type": "string",
            "enum": [
              "square",
              "rounded",
              "dot",
              "diamond",
              "classy",
              "leaf",
              "vertical",
              "horizontal",
              "connected",
              "star",
              "hexagon",
              "edge_cut"
            ],
            "title": "Module",
            "default": "square"
          },
          "eye": {
            "type": "string",
            "enum": [
              "square",
              "rounded",
              "circle",
              "leaf",
              "leaf_right",
              "edge_cut"
            ],
            "title": "Eye",
            "default": "square"
          },
          "eye_ball": {
            "type": "string",
            "enum": [
              "square",
              "rounded",
              "dot",
              "diamond",
              "edge_cut",
              "leaf",
              "star"
            ],
            "title": "Eye Ball",
            "default": "square"
          },
          "eye_color": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            ],
            "title": "Eye Color",
            "description": "One colour, or three (top-left, top-right, bottom-left)",
            "nullable": true
          },
          "eye_ball_color": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            ],
            "title": "Eye Ball Color",
            "nullable": true
          },
          "gradient": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Gradient"
              }
            ],
            "nullable": true
          },
          "gradient_on_eyes": {
            "type": "boolean",
            "title": "Gradient On Eyes",
            "default": false
          },
          "logo": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Logo"
              }
            ],
            "nullable": true
          },
          "background": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Background"
              }
            ],
            "nullable": true
          },
          "caption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Caption"
              }
            ],
            "nullable": true
          },
          "frame": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Frame"
              }
            ],
            "nullable": true
          }
        },
        "type": "object",
        "title": "Style"
      },
      "Gradient": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "linear",
              "radial"
            ],
            "title": "Type",
            "default": "linear"
          },
          "colors": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "maxItems": 4,
            "minItems": 2,
            "title": "Colors",
            "example": [
              "#1d4ed8",
              "#9333ea"
            ]
          },
          "angle": {
            "type": "number",
            "minimum": 0,
            "title": "Angle",
            "description": "Linear only; 0 = left→right, 90 = top→bottom",
            "default": 0,
            "maximum": 360,
            "exclusiveMaximum": true
          }
        },
        "type": "object",
        "required": [
          "colors"
        ],
        "title": "Gradient"
      },
      "Logo": {
        "properties": {
          "url": {
            "type": "string",
            "maxLength": 2048,
            "nullable": true,
            "title": "Url",
            "description": "Public http(s) URL of a PNG/JPEG/WebP/GIF; max 2 MB"
          },
          "base64": {
            "type": "string",
            "maxLength": 2900000,
            "nullable": true,
            "title": "Base64",
            "description": "Inline image, base64 (optionally a data: URI); max 2 MB decoded"
          },
          "size": {
            "type": "number",
            "maximum": 0.35,
            "minimum": 0.05,
            "title": "Size",
            "description": "Fraction of the symbol width",
            "default": 0.2
          },
          "padding": {
            "type": "number",
            "maximum": 0.2,
            "minimum": 0,
            "title": "Padding",
            "description": "Cleared margin around the logo, as a fraction of the symbol width",
            "default": 0.05
          },
          "shape": {
            "type": "string",
            "enum": [
              "square",
              "circle"
            ],
            "title": "Shape",
            "default": "square"
          },
          "clean": {
            "type": "boolean",
            "title": "Clean",
            "description": "Knock out the modules behind the logo",
            "default": true
          }
        },
        "type": "object",
        "title": "Logo"
      },
      "Background": {
        "properties": {
          "url": {
            "type": "string",
            "maxLength": 2048,
            "nullable": true,
            "title": "Url",
            "description": "Public http(s) URL of a PNG/JPEG/WebP/GIF; max 2 MB"
          },
          "base64": {
            "type": "string",
            "maxLength": 2900000,
            "nullable": true,
            "title": "Base64",
            "description": "Inline image, base64 (optionally a data: URI); max 2 MB decoded"
          },
          "opacity": {
            "type": "number",
            "maximum": 1,
            "minimum": 0.05,
            "title": "Opacity",
            "description": "Fade the image towards `light` (white by default) for contrast",
            "default": 1
          }
        },
        "type": "object",
        "title": "Background",
        "description": "A photo or artwork behind the code (QRCode Monkey's 'transparent QR'). The image\nis scaled to cover the symbol; only dark modules are drawn on top, so pick\n`dark` with enough contrast — `verify` will tell you."
      },
      "Caption": {
        "properties": {
          "text": {
            "type": "string",
            "maxLength": 80,
            "minLength": 1,
            "title": "Text"
          },
          "font_size": {
            "type": "integer",
            "maximum": 200,
            "minimum": 6,
            "nullable": true,
            "title": "Font Size",
            "description": "Pixels; default scales with the image"
          },
          "color": {
            "type": "string",
            "title": "Color",
            "default": "#000000"
          }
        },
        "type": "object",
        "required": [
          "text"
        ],
        "title": "Caption"
      },
      "Frame": {
        "properties": {
          "style": {
            "type": "string",
            "enum": [
              "label",
              "ribbon"
            ],
            "title": "Style",
            "default": "label"
          },
          "text": {
            "type": "string",
            "maxLength": 40,
            "minLength": 1,
            "title": "Text",
            "default": "SCAN ME"
          },
          "color": {
            "type": "string",
            "title": "Color",
            "description": "Frame / label background",
            "default": "#000000"
          },
          "text_color": {
            "type": "string",
            "title": "Text Color",
            "default": "#ffffff"
          }
        },
        "type": "object",
        "title": "Frame"
      },
      "ErrorResponse": {
        "type": "object",
        "required": [
          "detail"
        ],
        "properties": {
          "detail": {
            "type": "object",
            "required": [
              "code",
              "message"
            ],
            "properties": {
              "code": {
                "type": "string",
                "description": "Stable machine-readable failure code"
              },
              "message": {
                "type": "string",
                "description": "Human-readable explanation"
              },
              "errors": {
                "type": "array",
                "description": "Per-field or per-line detail when there is more than one thing to fix",
                "items": {
                  "type": "object",
                  "properties": {
                    "loc": {
                      "type": "string",
                      "description": "Field path, e.g. `body.scale`"
                    },
                    "line": {
                      "type": "integer"
                    },
                    "column": {
                      "type": "integer"
                    },
                    "message": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "additionalProperties": true
          }
        }
      },
      "WifiQrRequest": {
        "properties": {
          "ssid": {
            "type": "string",
            "minLength": 1,
            "title": "Ssid",
            "example": "CoffeeShop"
          },
          "password": {
            "type": "string",
            "nullable": true,
            "title": "Password",
            "example": "latte123"
          },
          "security": {
            "type": "string",
            "enum": [
              "WPA",
              "WEP",
              "nopass"
            ],
            "title": "Security",
            "default": "WPA"
          },
          "hidden": {
            "type": "boolean",
            "title": "Hidden",
            "default": false
          },
          "options": {
            "$ref": "#/components/schemas/Options"
          },
          "style": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Style"
              }
            ],
            "nullable": true,
            "description": "Full design options: shapes, gradients, logo, background, frame."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "ssid"
        ],
        "title": "WifiQrRequest"
      },
      "VCardQrRequest": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name",
            "description": "Display name",
            "example": "Ada Lovelace"
          },
          "first_name": {
            "type": "string",
            "nullable": true,
            "title": "First Name"
          },
          "last_name": {
            "type": "string",
            "nullable": true,
            "title": "Last Name"
          },
          "org": {
            "type": "string",
            "nullable": true,
            "title": "Org",
            "example": "Analytical Engines Ltd"
          },
          "title": {
            "type": "string",
            "nullable": true,
            "title": "Title"
          },
          "phone": {
            "type": "string",
            "nullable": true,
            "title": "Phone",
            "example": "+44 20 7946 0000"
          },
          "cellphone": {
            "type": "string",
            "nullable": true,
            "title": "Cellphone"
          },
          "email": {
            "type": "string",
            "nullable": true,
            "title": "Email",
            "example": "ada@example.com"
          },
          "url": {
            "type": "string",
            "nullable": true,
            "title": "Url"
          },
          "street": {
            "type": "string",
            "nullable": true,
            "title": "Street"
          },
          "city": {
            "type": "string",
            "nullable": true,
            "title": "City"
          },
          "region": {
            "type": "string",
            "nullable": true,
            "title": "Region"
          },
          "zipcode": {
            "type": "string",
            "nullable": true,
            "title": "Zipcode"
          },
          "country": {
            "type": "string",
            "nullable": true,
            "title": "Country"
          },
          "note": {
            "type": "string",
            "nullable": true,
            "title": "Note"
          },
          "birthday": {
            "type": "string",
            "nullable": true,
            "title": "Birthday",
            "description": "YYYY-MM-DD"
          },
          "options": {
            "$ref": "#/components/schemas/Options"
          },
          "style": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Style"
              }
            ],
            "nullable": true,
            "description": "Full design options: shapes, gradients, logo, background, frame."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "name"
        ],
        "title": "VCardQrRequest"
      },
      "MeCardQrRequest": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name",
            "example": "Ada Lovelace"
          },
          "phone": {
            "type": "string",
            "nullable": true,
            "title": "Phone"
          },
          "email": {
            "type": "string",
            "nullable": true,
            "title": "Email"
          },
          "url": {
            "type": "string",
            "nullable": true,
            "title": "Url"
          },
          "note": {
            "type": "string",
            "nullable": true,
            "title": "Note"
          },
          "birthday": {
            "type": "string",
            "nullable": true,
            "title": "Birthday",
            "description": "YYYY-MM-DD"
          },
          "options": {
            "$ref": "#/components/schemas/Options"
          },
          "style": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Style"
              }
            ],
            "nullable": true,
            "description": "Full design options: shapes, gradients, logo, background, frame."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "name"
        ],
        "title": "MeCardQrRequest"
      },
      "EmailQrRequest": {
        "properties": {
          "to": {
            "type": "string",
            "title": "To",
            "example": "hello@example.com"
          },
          "subject": {
            "type": "string",
            "nullable": true,
            "title": "Subject"
          },
          "body": {
            "type": "string",
            "nullable": true,
            "title": "Body"
          },
          "cc": {
            "type": "string",
            "nullable": true,
            "title": "Cc"
          },
          "bcc": {
            "type": "string",
            "nullable": true,
            "title": "Bcc"
          },
          "options": {
            "$ref": "#/components/schemas/Options"
          },
          "style": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Style"
              }
            ],
            "nullable": true,
            "description": "Full design options: shapes, gradients, logo, background, frame."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "to"
        ],
        "title": "EmailQrRequest"
      },
      "SmsQrRequest": {
        "properties": {
          "phone": {
            "type": "string",
            "title": "Phone",
            "example": "+15551234567"
          },
          "message": {
            "type": "string",
            "nullable": true,
            "title": "Message"
          },
          "options": {
            "$ref": "#/components/schemas/Options"
          },
          "style": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Style"
              }
            ],
            "nullable": true,
            "description": "Full design options: shapes, gradients, logo, background, frame."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "phone"
        ],
        "title": "SmsQrRequest"
      },
      "TelQrRequest": {
        "properties": {
          "phone": {
            "type": "string",
            "title": "Phone",
            "example": "+15551234567"
          },
          "options": {
            "$ref": "#/components/schemas/Options"
          },
          "style": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Style"
              }
            ],
            "nullable": true,
            "description": "Full design options: shapes, gradients, logo, background, frame."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "phone"
        ],
        "title": "TelQrRequest"
      },
      "GeoQrRequest": {
        "properties": {
          "lat": {
            "type": "number",
            "maximum": 90,
            "minimum": -90,
            "title": "Lat",
            "example": 51.5007
          },
          "lng": {
            "type": "number",
            "maximum": 180,
            "minimum": -180,
            "title": "Lng",
            "example": -0.1246
          },
          "options": {
            "$ref": "#/components/schemas/Options"
          },
          "style": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Style"
              }
            ],
            "nullable": true,
            "description": "Full design options: shapes, gradients, logo, background, frame."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "lat",
          "lng"
        ],
        "title": "GeoQrRequest"
      },
      "EventQrRequest": {
        "properties": {
          "title": {
            "type": "string",
            "title": "Title",
            "example": "Launch party"
          },
          "start": {
            "type": "string",
            "format": "date-time",
            "title": "Start"
          },
          "end": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "title": "End"
          },
          "location": {
            "type": "string",
            "nullable": true,
            "title": "Location"
          },
          "description": {
            "type": "string",
            "nullable": true,
            "title": "Description"
          },
          "options": {
            "$ref": "#/components/schemas/Options"
          },
          "style": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Style"
              }
            ],
            "nullable": true,
            "description": "Full design options: shapes, gradients, logo, background, frame."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "title",
          "start"
        ],
        "title": "EventQrRequest"
      },
      "WhatsAppQrRequest": {
        "properties": {
          "phone": {
            "type": "string",
            "title": "Phone",
            "description": "International format, digits only or with +",
            "example": "+15551234567"
          },
          "message": {
            "type": "string",
            "nullable": true,
            "title": "Message"
          },
          "options": {
            "$ref": "#/components/schemas/Options"
          },
          "style": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Style"
              }
            ],
            "nullable": true,
            "description": "Full design options: shapes, gradients, logo, background, frame."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "phone"
        ],
        "title": "WhatsAppQrRequest"
      },
      "EpcQrRequest": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name",
            "description": "Beneficiary"
          },
          "iban": {
            "type": "string",
            "title": "Iban"
          },
          "amount": {
            "type": "number",
            "maximum": 999999999.99,
            "title": "Amount",
            "minimum": 0,
            "exclusiveMinimum": true
          },
          "currency": {
            "type": "string",
            "title": "Currency",
            "description": "EPC QR codes carry SEPA credit transfers, which are EUR-only.",
            "default": "EUR",
            "enum": [
              "EUR"
            ]
          },
          "bic": {
            "type": "string",
            "nullable": true,
            "title": "Bic"
          },
          "text": {
            "type": "string",
            "nullable": true,
            "title": "Text",
            "description": "Unstructured remittance text"
          },
          "reference": {
            "type": "string",
            "nullable": true,
            "title": "Reference",
            "description": "Structured reference (mutually exclusive with text)"
          },
          "options": {
            "$ref": "#/components/schemas/Options"
          },
          "style": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Style"
              }
            ],
            "nullable": true,
            "description": "Full design options: shapes, gradients, logo, background, frame."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "name",
          "iban",
          "amount"
        ],
        "title": "EpcQrRequest"
      },
      "CryptoQrRequest": {
        "properties": {
          "coin": {
            "type": "string",
            "enum": [
              "bitcoin",
              "ethereum",
              "litecoin",
              "dogecoin"
            ],
            "title": "Coin",
            "default": "bitcoin"
          },
          "address": {
            "type": "string",
            "title": "Address"
          },
          "amount": {
            "type": "number",
            "nullable": true,
            "title": "Amount"
          },
          "label": {
            "type": "string",
            "nullable": true,
            "title": "Label"
          },
          "message": {
            "type": "string",
            "nullable": true,
            "title": "Message"
          },
          "options": {
            "$ref": "#/components/schemas/Options"
          },
          "style": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Style"
              }
            ],
            "nullable": true,
            "description": "Full design options: shapes, gradients, logo, background, frame."
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "address"
        ],
        "title": "CryptoQrRequest"
      },
      "BarcodeRequest": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "code128",
              "code39",
              "ean13",
              "ean8",
              "ean14",
              "jan",
              "upca",
              "isbn13",
              "isbn10",
              "issn",
              "itf",
              "gs1_128",
              "pzn",
              "codabar",
              "datamatrix",
              "pdf417",
              "aztec"
            ],
            "title": "Type",
            "description": "Symbology. EAN/UPC/ISBN/ISSN take digits; a missing check digit is computed.",
            "default": "code128"
          },
          "format": {
            "type": "string",
            "enum": [
              "json",
              "png",
              "svg",
              "jpeg",
              "webp",
              "pdf"
            ],
            "title": "Format",
            "description": "`json` returns a data URI plus metadata; others return bytes.",
            "default": "json"
          },
          "dark": {
            "type": "string",
            "title": "Dark",
            "description": "Bar colour",
            "default": "#000000"
          },
          "light": {
            "type": "string",
            "nullable": true,
            "title": "Light",
            "description": "Background; null/transparent for none (2D only — 1D output is opaque)",
            "default": "#ffffff"
          },
          "text": {
            "type": "boolean",
            "title": "Text",
            "description": "Print the value under the bars (1D only)",
            "default": true
          },
          "module_width": {
            "type": "number",
            "maximum": 2,
            "minimum": 0.1,
            "title": "Module Width",
            "description": "1D: width of the narrowest bar, mm",
            "default": 0.2
          },
          "module_height": {
            "type": "number",
            "maximum": 100,
            "minimum": 1,
            "title": "Module Height",
            "description": "1D: bar height, mm",
            "default": 15
          },
          "quiet_zone": {
            "type": "number",
            "maximum": 30,
            "minimum": 0,
            "title": "Quiet Zone",
            "description": "1D: margin left and right, mm",
            "default": 6.5
          },
          "font_size": {
            "type": "integer",
            "maximum": 40,
            "minimum": 0,
            "title": "Font Size",
            "description": "1D: text size, pt",
            "default": 10
          },
          "text_distance": {
            "type": "number",
            "maximum": 20,
            "minimum": 0,
            "title": "Text Distance",
            "description": "1D: gap between bars and text, mm",
            "default": 5
          },
          "dpi": {
            "type": "integer",
            "maximum": 600,
            "minimum": 72,
            "title": "Dpi",
            "description": "1D raster resolution",
            "default": 300
          },
          "scale": {
            "type": "integer",
            "maximum": 40,
            "minimum": 1,
            "title": "Scale",
            "description": "2D: module size in pixels",
            "default": 4
          },
          "size": {
            "type": "integer",
            "maximum": 2048,
            "minimum": 32,
            "nullable": true,
            "title": "Size",
            "description": "2D: exact width in pixels"
          },
          "border": {
            "type": "integer",
            "maximum": 20,
            "minimum": 0,
            "title": "Border",
            "description": "2D: quiet zone in modules",
            "default": 2
          },
          "data": {
            "type": "string",
            "maxLength": 2048,
            "minLength": 1,
            "title": "Data",
            "description": "Value to encode (1–2048 characters); digits for EAN/UPC/ISBN.",
            "example": "5901234123457"
          }
        },
        "type": "object",
        "required": [
          "data"
        ],
        "title": "BarcodeRequest",
        "description": "JSON body model for `POST /v1/barcode`."
      },
      "DecodeRequest": {
        "properties": {
          "image_base64": {
            "type": "string",
            "maxLength": 7200000,
            "nullable": true,
            "title": "Image Base64",
            "description": "PNG/JPEG/WebP/GIF/BMP, base64 (a data: URI is fine); max 5 MB decoded"
          },
          "image_url": {
            "type": "string",
            "maxLength": 2048,
            "nullable": true,
            "title": "Image Url",
            "description": "Public http(s) URL of the image; max 5 MB"
          },
          "formats": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "nullable": true,
            "title": "Formats",
            "description": "Restrict to these symbologies: qr, microqr, datamatrix, pdf417, aztec, code128, code39, code93, ean13, ean8, upca, upce, itf, codabar, databar, maxicode",
            "example": [
              "qr",
              "datamatrix"
            ]
          },
          "multiple": {
            "type": "boolean",
            "title": "Multiple",
            "description": "Return every symbol found, not just the first",
            "default": true
          }
        },
        "type": "object",
        "title": "DecodeRequest"
      },
      "DecodeResponse": {
        "properties": {
          "count": {
            "type": "integer",
            "title": "Count"
          },
          "results": {
            "items": {
              "$ref": "#/components/schemas/Symbol"
            },
            "type": "array",
            "title": "Results"
          }
        },
        "type": "object",
        "required": [
          "count",
          "results"
        ],
        "title": "DecodeResponse"
      },
      "Symbol": {
        "properties": {
          "format": {
            "type": "string",
            "title": "Format"
          },
          "text": {
            "type": "string",
            "title": "Text"
          },
          "bytes_base64": {
            "type": "string",
            "nullable": true,
            "title": "Bytes Base64"
          },
          "content_type": {
            "type": "string",
            "title": "Content Type",
            "description": "What the text looks like: url, wifi, vcard, … or text"
          },
          "parsed": {
            "additionalProperties": true,
            "type": "object",
            "nullable": true,
            "title": "Parsed",
            "description": "Fields recovered for known content types"
          },
          "position": {
            "additionalProperties": {
              "items": {
                "type": "integer"
              },
              "type": "array"
            },
            "type": "object",
            "title": "Position"
          },
          "orientation": {
            "type": "integer",
            "title": "Orientation"
          },
          "ec_level": {
            "type": "string",
            "nullable": true,
            "title": "Ec Level"
          },
          "symbology_identifier": {
            "type": "string",
            "nullable": true,
            "title": "Symbology Identifier",
            "description": "ISO/IEC 15424 identifier, e.g. `]Q1`"
          }
        },
        "type": "object",
        "required": [
          "format",
          "text",
          "content_type",
          "position",
          "orientation"
        ],
        "title": "Symbol"
      },
      "ValidationRequest": {
        "properties": {
          "standard": {
            "type": "string",
            "enum": [
              "gs1-digital-link",
              "epc-sepa",
              "swiss-qr-bill",
              "pix-br-code",
              "upi",
              "emvco-mpm"
            ],
            "title": "Standard",
            "description": "The payload standard to validate."
          },
          "payload": {
            "type": "string",
            "maxLength": 10000,
            "minLength": 1,
            "title": "Payload",
            "description": "Complete raw payload exactly as encoded. EPC/SEPA and Swiss QR-bill are line-delimited: separate lines with a line feed inside the JSON string. Literal `\\n` sequences are decoded and reported as an `escaped_newlines` warning."
          }
        },
        "type": "object",
        "required": [
          "standard",
          "payload"
        ],
        "title": "ValidationRequest"
      },
      "ValidationResult": {
        "properties": {
          "standard": {
            "type": "string",
            "enum": [
              "gs1-digital-link",
              "epc-sepa",
              "swiss-qr-bill",
              "pix-br-code",
              "upi",
              "emvco-mpm"
            ],
            "title": "Standard"
          },
          "valid": {
            "type": "boolean",
            "title": "Valid"
          },
          "normalized": {
            "type": "string",
            "nullable": true,
            "title": "Normalized"
          },
          "fields": {
            "additionalProperties": true,
            "type": "object",
            "title": "Fields"
          },
          "errors": {
            "items": {
              "$ref": "#/components/schemas/ValidationIssue"
            },
            "type": "array",
            "title": "Errors"
          },
          "warnings": {
            "items": {
              "$ref": "#/components/schemas/ValidationIssue"
            },
            "type": "array",
            "title": "Warnings"
          },
          "specification": {
            "type": "string",
            "title": "Specification"
          }
        },
        "type": "object",
        "required": [
          "standard",
          "valid",
          "specification"
        ],
        "title": "ValidationResult"
      },
      "ValidationIssue": {
        "properties": {
          "code": {
            "type": "string",
            "title": "Code"
          },
          "message": {
            "type": "string",
            "title": "Message"
          },
          "field": {
            "type": "string",
            "nullable": true,
            "title": "Field"
          }
        },
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "title": "ValidationIssue"
      },
      "RenderRequest": {
        "properties": {
          "standard": {
            "type": "string",
            "enum": [
              "gs1-digital-link",
              "epc-sepa",
              "swiss-qr-bill",
              "pix-br-code",
              "upi",
              "emvco-mpm"
            ],
            "title": "Standard",
            "description": "The payload standard to validate before rendering."
          },
          "payload": {
            "type": "string",
            "maxLength": 10000,
            "minLength": 1,
            "title": "Payload",
            "description": "Complete raw payload exactly as encoded. EPC/SEPA and Swiss QR-bill are line-delimited: separate lines with a line feed inside the JSON string. Literal `\\n` sequences are decoded and reported as an `escaped_newlines` warning."
          },
          "format": {
            "type": "string",
            "enum": [
              "json",
              "png",
              "svg",
              "jpeg",
              "webp",
              "pdf"
            ],
            "title": "Format",
            "description": "Output format. `json` returns a data URI plus metadata and is the default; png/svg/jpeg/webp/pdf return the image bytes.",
            "default": "json",
            "example": "json"
          },
          "size": {
            "type": "integer",
            "maximum": 2048,
            "minimum": 32,
            "nullable": true,
            "title": "Size",
            "description": "Exact width in pixels; defaults to 8 px per module.",
            "example": 300
          },
          "dark": {
            "type": "string",
            "title": "Dark",
            "description": "Module colour: hex, rgb() or a CSS name.",
            "default": "#000000",
            "example": "#1d4ed8"
          },
          "light": {
            "type": "string",
            "nullable": true,
            "title": "Light",
            "description": "Background colour; `transparent` or null for none.",
            "default": "#ffffff"
          }
        },
        "type": "object",
        "required": [
          "standard",
          "payload"
        ],
        "title": "RenderRequest",
        "description": "Validate a payment/GS1 payload and render it as a plain QR code in one\ncall. Deliberately flat and small: this is the payment surface, not the\nstudio generator, so there is no styling and no typed-content helper."
      },
      "Fixture": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id"
          },
          "standard": {
            "type": "string",
            "enum": [
              "gs1-digital-link",
              "epc-sepa",
              "swiss-qr-bill",
              "pix-br-code",
              "upi",
              "emvco-mpm"
            ],
            "title": "Standard"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "payload": {
            "type": "string",
            "title": "Payload"
          },
          "expected_valid": {
            "type": "boolean",
            "title": "Expected Valid",
            "default": true
          },
          "source": {
            "type": "string",
            "title": "Source"
          },
          "note": {
            "type": "string",
            "title": "Note"
          }
        },
        "type": "object",
        "required": [
          "id",
          "standard",
          "title",
          "payload",
          "source",
          "note"
        ],
        "title": "Fixture"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          },
          "input": {
            "title": "Input"
          },
          "ctx": {
            "type": "object",
            "title": "Context"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      }
    }
  }
}
