{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/hunchsheet-app/json-schema/hunchsheet-app-quote-response-schema.json",
  "title": "QuoteResponse",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/hunchsheet-app-openapi.json#/components/schemas/QuoteResponse",
  "type": "object",
  "required": [
    "rows",
    "credits_needed",
    "enough",
    "summary"
  ],
  "properties": {
    "rows": {
      "type": "integer"
    },
    "questions_per_row": {
      "type": "integer"
    },
    "credits_needed": {
      "type": "integer"
    },
    "enough": {
      "type": "boolean",
      "description": "True when the key's credits (or the free 100 rows, with no key) cover the job."
    },
    "credits_left": {
      "type": "integer",
      "description": "Only with a key."
    },
    "free_rows_available": {
      "type": "integer",
      "description": "Only without a key."
    },
    "to_buy_credits": {
      "type": "integer"
    },
    "purchase": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "plan": {
                "type": "string"
              },
              "quantity": {
                "type": "integer"
              },
              "credits": {
                "type": "integer"
              },
              "usd": {
                "type": "number"
              }
            }
          }
        },
        "total_usd": {
          "type": "number"
        }
      }
    },
    "summary": {
      "type": "string"
    },
    "note": {
      "type": "string"
    }
  }
}