{
  "openapi": "3.0.1",
  "info": {
    "title": "QRRapido API",
    "description": "**QRRapido** — Ultra-fast QR Code generation API.\n\nGenerate QR codes for URLs, Pix payments, Wi-Fi, vCards, WhatsApp, SMS and more.\n\n**PT-BR:** Gere QR codes para URLs, Pix, Wi-Fi, vCard, WhatsApp, SMS e muito mais.\n\n**Authentication:** All endpoints (except `/ping`) require an API key sent in the `X-API-Key` header.\nGet your key at [qrrapido.site/Developer](https://qrrapido.site/Developer).",
    "contact": {
      "name": "QRRapido",
      "url": "https://qrrapido.site",
      "email": "contato@qrrapido.site"
    },
    "license": {
      "name": "Commercial — see qrrapido.site/terms"
    },
    "version": "v1"
  },
  "paths": {
    "/api/v1/QRManager/ping": {
      "get": {
        "tags": [
          "QRManager"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/v1/QRManager/generate": {
      "post": {
        "tags": [
          "QRManager"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QRGenerationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/QRGenerationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/QRGenerationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QRResponseDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          },
          "402": {
            "description": "Payment Required",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/json": {
                "schema": { }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "QRGenerationRequest": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "content": {
            "type": "string",
            "nullable": true
          },
          "quickStyle": {
            "type": "string",
            "nullable": true
          },
          "primaryColor": {
            "type": "string",
            "nullable": true
          },
          "backgroundColor": {
            "type": "string",
            "nullable": true
          },
          "size": {
            "type": "integer",
            "format": "int32"
          },
          "margin": {
            "type": "integer",
            "format": "int32"
          },
          "cornerStyle": {
            "type": "string",
            "nullable": true
          },
          "optimizeForSpeed": {
            "type": "boolean"
          },
          "language": {
            "type": "string",
            "nullable": true
          },
          "isPremium": {
            "type": "boolean"
          },
          "hasLogo": {
            "type": "boolean"
          },
          "logo": {
            "type": "string",
            "format": "byte",
            "nullable": true
          },
          "logoSizePercent": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "applyLogoColorization": {
            "type": "boolean"
          },
          "enableTracking": {
            "type": "boolean"
          },
          "outputFormat": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QRResponseDto": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          },
          "qrCodeBase64": {
            "type": "string",
            "nullable": true
          },
          "qrId": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "errorCode": {
            "type": "string",
            "nullable": true
          },
          "remainingCredits": {
            "type": "integer",
            "format": "int32"
          },
          "remainingFreeQRs": {
            "type": "integer",
            "format": "int32"
          },
          "fromCache": {
            "type": "boolean"
          },
          "newDeviceId": {
            "type": "string",
            "nullable": true
          },
          "generationTimeMs": {
            "type": "integer",
            "format": "int64"
          },
          "format": {
            "type": "string",
            "nullable": true
          },
          "mimeType": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "ApiKey": {
        "type": "apiKey",
        "description": "Your QRRapido API key. Obtain one at https://qrrapido.site/Developer",
        "name": "X-API-Key",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "ApiKey": [ ]
    }
  ]
}