{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/changethisfile-com/json-schema/changethisfile-com-usage-schema.json",
  "title": "Usage",
  "x-generated": "2026-11-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/changethisfile-com-openapi.yml#/components/schemas/Usage",
  "type": "object",
  "required": [
    "plan",
    "conversions_this_month",
    "monthly_limit",
    "max_file_size",
    "rate_per_minute"
  ],
  "properties": {
    "plan": {
      "$ref": "#/$defs/PlanId"
    },
    "conversions_this_month": {
      "type": "integer",
      "description": "Conversions used in the current calendar month."
    },
    "monthly_limit": {
      "type": "integer",
      "description": "Conversions permitted per calendar month on the active plan. `-1` means unlimited. At quota, accounts hard-stop unless they have prepaid conversion credits."
    },
    "max_file_size": {
      "type": "integer",
      "description": "Maximum file size in bytes the active plan accepts."
    },
    "rate_per_minute": {
      "type": "integer",
      "description": "Maximum requests per minute the active plan accepts."
    },
    "credit_balance": {
      "type": "integer",
      "description": "Optional one-off credit balance (legacy a-la-carte packs only)."
    }
  },
  "$defs": {
    "PlanId": {
      "type": "string",
      "enum": [
        "free",
        "hobby",
        "startup",
        "scale",
        "growth",
        "enterprise"
      ],
      "description": "Self-serve plan identifier. `enterprise` is billed via custom contract — see `/pricing`."
    }
  }
}