{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/hint-health/main/json-schema/hint-health-provider-memberships-controller-cancel-body-schema.json",
  "title": "Provider.MembershipsController.cancel_body",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/hint-health-membership-api-openapi.yml#/components/schemas/Provider.MembershipsController.cancel_body",
  "type": "object",
  "properties": {
    "end_date": {
      "type": "string",
      "format": "date",
      "description": "It must line up with the membership's bill_date (not next_bill_date). Eg. A membership that bills on the 5th must end on the 5th. Date must be formatted as YYYY-MM-DD."
    },
    "cancellation_reason": {
      "$ref": "#/$defs/Association"
    },
    "cancellation_reason_other": {
      "type": "string",
      "description": "Description required when sending cancellation_reason of \"Other\""
    }
  },
  "required": [
    "end_date",
    "cancellation_reason"
  ],
  "$defs": {
    "Association": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        }
      },
      "required": [
        "id"
      ]
    }
  }
}