{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/thinair-co/json-schema/thinair-co-quota-response-schema.json",
  "title": "QuotaResponse",
  "description": "Caller's current quota state — plan, daily usage, remaining queries, monthly limit, and upgrade options. Mirrors geo-mcp's /v1/quota response shape so cross-product clients can share a parser. Plan-name divergence: data-mcp uses discover|build|architect|enterprise (vs geo's free|starter|pro|enterprise|admin) — treat `plan` as an opaque string.",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/data-thinair-co-openapi.json#/components/schemas/QuotaResponse",
  "type": "object",
  "properties": {
    "schema_version": {
      "type": "string",
      "enum": [
        "v1"
      ]
    },
    "mcp": {
      "type": "object",
      "properties": {
        "plan": {
          "type": "string"
        },
        "used_today": {
          "type": "integer",
          "minimum": 0
        },
        "daily_limit": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0
            },
            {
              "type": "string",
              "enum": [
                "unlimited"
              ]
            }
          ]
        },
        "remaining_today": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0
            },
            {
              "type": "string",
              "enum": [
                "unlimited"
              ]
            }
          ]
        },
        "monthly_limit": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0
            },
            {
              "type": "string",
              "enum": [
                "unlimited"
              ]
            }
          ]
        },
        "price_per_month": {
          "type": "string"
        },
        "suggested_upgrade": {
          "type": [
            "string",
            "null"
          ]
        },
        "upgrade_url": {
          "type": [
            "string",
            "null"
          ]
        },
        "reset_at": {
          "type": "string"
        }
      },
      "required": [
        "plan",
        "used_today",
        "daily_limit",
        "remaining_today",
        "monthly_limit",
        "price_per_month",
        "suggested_upgrade",
        "upgrade_url",
        "reset_at"
      ]
    }
  },
  "required": [
    "schema_version",
    "mcp"
  ]
}