{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/hookbridge/main/json-schema/hookbridge-get-subscription-response-schema.json",
  "title": "GetSubscriptionResponse",
  "x-generated": "2026-10-18",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/hookbridge-api-openapi.yml#/components/schemas/GetSubscriptionResponse",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "plan": {
          "type": "string",
          "enum": [
            "free",
            "starter",
            "pro",
            "business",
            "enterprise"
          ],
          "description": "Current subscription plan"
        },
        "status": {
          "type": "string",
          "enum": [
            "active",
            "canceled",
            "past_due",
            "trialing",
            "unpaid"
          ],
          "description": "Subscription status"
        },
        "limits": {
          "type": "object",
          "properties": {
            "plan": {
              "type": "string"
            },
            "messages_per_month": {
              "type": "integer"
            },
            "max_projects": {
              "type": "integer"
            },
            "max_endpoints": {
              "type": "integer"
            },
            "retention_days": {
              "type": "integer"
            },
            "overage_rate_per_message": {
              "type": "number",
              "description": "Cost per message over the plan limit"
            }
          }
        },
        "usage": {
          "type": "object",
          "properties": {
            "messages_used": {
              "type": "integer",
              "description": "Messages used in current period"
            },
            "overage_count": {
              "type": "integer",
              "description": "Number of messages over the plan limit"
            },
            "overage_rate": {
              "type": "number",
              "description": "Rate charged per overage message"
            },
            "estimated_overage_charge": {
              "type": "number",
              "description": "Estimated overage charge for current period"
            },
            "period_start": {
              "type": "string",
              "format": "date-time"
            },
            "period_end": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "cancel_at_period_end": {
          "type": "boolean",
          "description": "Whether subscription will cancel at period end"
        },
        "current_period_end": {
          "type": "string",
          "format": "date-time",
          "description": "When current billing period ends"
        }
      }
    },
    "meta": {
      "$ref": "#/$defs/ResponseMeta"
    }
  },
  "$defs": {
    "ResponseMeta": {
      "type": "object",
      "properties": {
        "request_id": {
          "type": "string",
          "description": "Unique identifier for this request (useful for support)"
        }
      }
    }
  }
}