{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/ctlsurf-com/json-schema/ctlsurf-com-usage-response-schema.json",
  "title": "UsageResponse",
  "description": "Current usage stats.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/ctlsurf-com-openapi.yml#/components/schemas/UsageResponse",
  "properties": {
    "api_calls": {
      "type": "integer",
      "title": "Api Calls"
    },
    "storage_bytes": {
      "type": "integer",
      "title": "Storage Bytes"
    },
    "folders": {
      "type": "integer",
      "title": "Folders"
    },
    "project_skills": {
      "type": "integer",
      "title": "Project Skills"
    },
    "period_start": {
      "type": "string",
      "format": "date",
      "title": "Period Start"
    },
    "limits": {
      "$ref": "#/$defs/TierLimitsResponse"
    },
    "api_calls_percent": {
      "type": "number",
      "title": "Api Calls Percent"
    },
    "storage_percent": {
      "type": "number",
      "title": "Storage Percent"
    },
    "folders_percent": {
      "type": "number",
      "title": "Folders Percent"
    },
    "project_skills_percent": {
      "type": "number",
      "title": "Project Skills Percent"
    },
    "tier": {
      "type": "string",
      "title": "Tier"
    },
    "in_grace_period": {
      "type": "boolean",
      "title": "In Grace Period",
      "default": false
    },
    "grace_period_ends": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time"
        },
        {
          "type": "null"
        }
      ],
      "title": "Grace Period Ends"
    },
    "over_api_calls_limit": {
      "type": "boolean",
      "title": "Over Api Calls Limit",
      "default": false
    },
    "over_storage_limit": {
      "type": "boolean",
      "title": "Over Storage Limit",
      "default": false
    },
    "over_folders_limit": {
      "type": "boolean",
      "title": "Over Folders Limit",
      "default": false
    },
    "over_project_skills_limit": {
      "type": "boolean",
      "title": "Over Project Skills Limit",
      "default": false
    }
  },
  "type": "object",
  "required": [
    "api_calls",
    "storage_bytes",
    "folders",
    "project_skills",
    "period_start",
    "limits",
    "api_calls_percent",
    "storage_percent",
    "folders_percent",
    "project_skills_percent",
    "tier"
  ],
  "$defs": {
    "TierLimitsResponse": {
      "properties": {
        "api_calls": {
          "type": "integer",
          "title": "Api Calls"
        },
        "storage_bytes": {
          "type": "integer",
          "title": "Storage Bytes"
        },
        "folders": {
          "type": "integer",
          "title": "Folders"
        },
        "project_skills": {
          "type": "integer",
          "title": "Project Skills"
        },
        "workers": {
          "type": "integer",
          "title": "Workers"
        }
      },
      "type": "object",
      "required": [
        "api_calls",
        "storage_bytes",
        "folders",
        "project_skills",
        "workers"
      ],
      "title": "TierLimitsResponse",
      "description": "Limits for a tier."
    }
  }
}