{
  "openapi": "3.0.3",
  "info": {
    "title": "Vuplicity Public Catalog",
    "version": "1.0.0",
    "description": "Read-only public catalog and health endpoints for Vuplicity."
  },
  "servers": [
    {
      "url": "https://api.vuplicity.com/api/v1"
    }
  ],
  "paths": {
    "/health/live": {
      "get": {
        "operationId": "getVuplicityPublicHealth",
        "summary": "Check whether the public Vuplicity API is live.",
        "responses": {
          "200": {
            "description": "API is live"
          }
        }
      }
    },
    "/public/products/catalog": {
      "get": {
        "operationId": "getVuplicityPublicProductsCatalog",
        "summary": "Fetch the current public Vuplicity product catalog.",
        "responses": {
          "200": {
            "description": "Current public product catalog",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProductsCatalogResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "PublicProductsCatalogResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "generated_at",
              "canonical_packages",
              "add_ons",
              "monitoring_monthly_cents",
              "pricing_version",
              "pricebook_effective_at",
              "public_notes"
            ],
            "properties": {
              "generated_at": {
                "type": "string",
                "format": "date-time"
              },
              "canonical_packages": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "code",
                    "label",
                    "marketing_subtitle",
                    "inclusions",
                    "display_price_cents"
                  ],
                  "properties": {
                    "code": {
                      "type": "string",
                      "enum": [
                        "basic",
                        "essential",
                        "complete"
                      ]
                    },
                    "label": {
                      "type": "string"
                    },
                    "marketing_subtitle": {
                      "type": "string"
                    },
                    "inclusions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "display_price_cents": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    }
                  }
                }
              },
              "add_ons": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "product_category",
                    "display_name",
                    "list_price_cents"
                  ],
                  "properties": {
                    "product_category": {
                      "type": "string",
                      "enum": [
                        "EMPLOYMENT_VERIFICATION",
                        "EDUCATION_VERIFICATION",
                        "REFERENCE_VERIFICATION",
                        "LICENSE_VERIFICATION",
                        "DOT_VERIFICATION",
                        "ID_VERIFICATION",
                        "ADDRESS_VERIFICATION",
                        "MILITARY_VERIFICATION",
                        "MEDEX",
                        "HEALTHCARE_LICENSE_SCREENING_FEDERAL",
                        "HEALTHCARE_LICENSE_SCREENING_STATE",
                        "HEALTHCARE_LICENSE_SCREENING_BOARD",
                        "BOOKING_CONTINUOUS_MONITORING",
                        "MVR",
                        "MVR_CDLIS",
                        "CRIMINAL_INTERNATIONAL",
                        "CIVIL_INTERNATIONAL"
                      ]
                    },
                    "display_name": {
                      "type": "string"
                    },
                    "list_price_cents": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    }
                  }
                }
              },
              "monitoring_monthly_cents": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "pricing_version": {
                "type": "string",
                "nullable": true
              },
              "pricebook_effective_at": {
                "type": "string",
                "format": "date-time",
                "nullable": true
              },
              "public_notes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "agent_pricing": {
                "type": "object",
                "required": [
                  "schema_version",
                  "generated_at",
                  "pricing_version",
                  "source_version",
                  "source_checksum",
                  "estimate_endpoint",
                  "lock_endpoint",
                  "included_jurisdiction_count",
                  "additional_jurisdiction_fee_cents",
                  "modifier_scope",
                  "pass_through_fee_scope",
                  "jurisdictions"
                ],
                "properties": {
                  "schema_version": {
                    "type": "string",
                    "enum": [
                      "agent-price-sheet-v1"
                    ]
                  },
                  "generated_at": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "static_fallback": {
                    "type": "boolean"
                  },
                  "pricing_version": {
                    "type": "string"
                  },
                  "source_version": {
                    "type": "string"
                  },
                  "source_checksum": {
                    "type": "string"
                  },
                  "estimate_endpoint": {
                    "type": "string",
                    "enum": [
                      "https://api.vuplicity.com/api/v1/quote"
                    ]
                  },
                  "lock_endpoint": {
                    "type": "string",
                    "enum": [
                      "https://api.vuplicity.com/api/v1/packages/quote"
                    ]
                  },
                  "included_jurisdiction_count": {
                    "type": "integer",
                    "enum": [
                      1
                    ]
                  },
                  "additional_jurisdiction_fee_cents": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "modifier_scope": {
                    "type": "string",
                    "enum": [
                      "package_base_only"
                    ]
                  },
                  "pass_through_fee_scope": {
                    "type": "string",
                    "enum": [
                      "separate_at_cost"
                    ]
                  },
                  "jurisdictions": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "state",
                        "unified_state",
                        "hit_risk_tier",
                        "risk_modifier_bps",
                        "tier_prices_cents"
                      ],
                      "properties": {
                        "state": {
                          "type": "string"
                        },
                        "unified_state": {
                          "type": "boolean"
                        },
                        "hit_risk_tier": {
                          "type": "string",
                          "enum": [
                            "low",
                            "moderate",
                            "elevated",
                            "high"
                          ]
                        },
                        "risk_modifier_bps": {
                          "type": "integer"
                        },
                        "tier_prices_cents": {
                          "type": "object",
                          "required": [
                            "basic",
                            "essential",
                            "complete"
                          ],
                          "properties": {
                            "basic": {
                              "type": "integer",
                              "minimum": 0,
                              "maximum": 9007199254740991
                            },
                            "essential": {
                              "type": "integer",
                              "minimum": 0,
                              "maximum": 9007199254740991
                            },
                            "complete": {
                              "type": "integer",
                              "minimum": 0,
                              "maximum": 9007199254740991
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "description": "Existing public catalog response. Listing does not prove live provider availability, entitlement, customer consent or an all-in payable quote. Legacy cents fields do not include a currency property."
      }
    }
  }
}
