{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/hint-health/main/json-schema/hint-health-quote-sanitizer-schema.json", "title": "QuoteSanitizer", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/hint-health-quote-api-openapi.yml#/components/schemas/QuoteSanitizer", "type": "object", "properties": { "plan": { "$ref": "#/$defs/Association" }, "members": { "type": "array", "items": { "$ref": "#/$defs/QuoteSanitizer.MemberSanitizer" } }, "period_in_months": { "type": "integer", "format": "int32", "description": "Billing period in months. 1 = monthly, 3 = quarterly, 6 = semi-annually, 12 = annually", "enum": [ "1", "3", "6", "12" ] }, "coupon": { "$ref": "#/$defs/Association", "description": "The coupon to apply to the quote (optional)" }, "coupon_code": { "type": "string", "description": "The coupon code to apply to the quote (alternative to coupon object)" } }, "required": [ "plan", "members" ], "$defs": { "Association": { "type": "object", "properties": { "id": { "type": "string" } }, "required": [ "id" ] }, "QuoteSanitizer.MemberSanitizer": { "type": "object", "properties": { "type": { "type": "string", "description": "Choose one below. You can think of \"spouse\" as \"adult\". This is a naming issue that will hopefully be addressed in the future", "enum": [ "primary", "child", "spouse" ] }, "age": { "type": "integer", "format": "int32" }, "uses_tobacco": { "type": "boolean" }, "dob": { "type": "string", "format": "date", "description": "Date must be formatted as YYYY-MM-DD." }, "start_date": { "type": "string", "format": "date", "description": "Date must be formatted as YYYY-MM-DD." } }, "required": [ "type", "uses_tobacco" ] } } }