{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/clment-com/json-schema/clment-com-usage-summary-schema.json",
  "title": "UsageSummary",
  "description": "Plan, allowances and what has been consumed this period.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/clment-com-openapi.yml#/components/schemas/UsageSummary",
  "type": "object",
  "properties": {
    "plan": {
      "type": "object",
      "properties": {
        "tier": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "price": {
          "type": "string"
        }
      }
    },
    "usage": {
      "type": "object",
      "properties": {
        "credits": {
          "type": "object",
          "properties": {
            "used": {
              "type": "integer"
            },
            "limit": {
              "type": "integer"
            },
            "planLimit": {
              "type": "integer",
              "description": "The plan's own monthly allowance, before any packs."
            },
            "packBalance": {
              "type": "integer",
              "description": "Credits remaining in purchased packs, drawn on after the plan allowance."
            }
          }
        },
        "contracts": {
          "$ref": "#/$defs/UsageCounter"
        },
        "users": {
          "$ref": "#/$defs/UsageCounter"
        },
        "playbooks": {
          "$ref": "#/$defs/UsageCounter"
        }
      }
    },
    "period": {
      "type": "string",
      "description": "Billing period, e.g. \"2026-08\"."
    },
    "breakdown": {
      "type": "object",
      "description": "What consumed credits this period.",
      "properties": {
        "contractsUploaded": {
          "type": "integer"
        },
        "pagesProcessed": {
          "type": "integer"
        },
        "aiQueries": {
          "type": "integer"
        },
        "playbookReviews": {
          "type": "integer"
        },
        "redlinesGenerated": {
          "type": "integer"
        },
        "playbookGenerations": {
          "type": "integer"
        }
      }
    }
  },
  "$defs": {
    "UsageCounter": {
      "type": "object",
      "properties": {
        "used": {
          "type": "integer"
        },
        "limit": {
          "type": "integer"
        }
      }
    }
  }
}