Vertical Insure API Documentation
website·Indexed 34 days ago
https://docs.verticalinsure.comAPI reference for Vertical Insure, providing endpoints for managing insurance products, purchasing and binding policies (including pet, membership, and builder's risk), handling document uploads, managing webhooks, and generating policy and marketing payout reports.
What's inside Vertical Insure
- Vertical Insure supports multiple ways to handle payments for policy purchases. Users can send card PAN data directly to purchase endpoints (PCI-compliant) or use supported payment processors. The general model involves onboarding Vertical Insure as a sub-merchant within the provider account. Shared vault or payment method forwarding solutions (e.g., TokenEx) are also supported.
Overview of Stay-to-Play Integration
The Stay-to-Play product integration consists of two parts: an embedded component for administrators to enable or disable coverage during event setup, and a background API-driven workflow for customers during the booking process. There is no customer-facing embedded component; all customer actions are handled via API calls in the background of the booking workflow.Overview of the Stay-to-Play embedded element
The Stay-to-Play embedded element is used during event administration to set up room block protection. It creates event records in the Vertical Insure system and generates a uniqueevent_id. Thisevent_idmust be stored by the partner and is required for all subsequent API calls related to that event. Thecomponent_typefor this element isevent.room_block_protection.Exhibitor Liability Event response schema
A successful (200 OK) request returns a JSON object containing the following fields:
event: Details about the event includingname,address,city,state,postal_code,event_url, andevent_contact_email.additional_insured: Contact details for the additional insured (name,address,city,state,postal_code).host_questions: Booleanno_excluded_event_featuresand a stringpurpose.event_start_date: Date in YYYY-MM-DD format.event_end_date: Date in YYYY-MM-DD format.
{ "event": { "name": "string", "address": "string", "city": "string", "state": "MN", "postal_code": "string", "event_url": "string", "event_contact_email": "string" }, "additional_insured": { "name": "string", "address": "string", "city": "string", "state": "MN", "postal_code": "string" }, "host_questions": { "no_excluded_event_features": true, "purpose": "string" }, "event_start_date": "2019-08-24", "event_end_date": "2019-08-24" }Access the Vertical Insure API Base URL and OpenAPI Specification
All API requests for Vertical Insure are made to the base URLhttps://api.verticalinsure.com. For a full detailed definition of the API endpoints and schemas, the OpenAPI Specification is available athttps://api.verticalinsure.com/openapi/vertical-insure-1.0.yml.Base URL: https://api.verticalinsure.com OpenAPI Spec: https://api.verticalinsure.com/openapi/vertical-insure-1.0.ymlUnderstand the Stay to Play insurance quote response
A successful (200 OK) quote response returns a detailed JSON object containing:
policy_attributes: Details about the insurable amount, accommodation (name, address, reservation number), event ID, and coverage type.premium_amountandtotal: The cost of the insurance.policy_numberandquote_id: Unique identifiers for the quote/policy.product: Comprehensive metadata about the insurance product, including carrier details, legal disclaimers, and terms and conditions URLs.checkout_url: The link to complete the purchase.policy_holder: Contact and address information for the insured party.
Retrieve policy details by policy number
Retrieve comprehensive details about a specific insurance policy by making a GET request to the policies endpoint. The request requires apolicy_numberas a path parameter. The response includes policy attributes, premium amounts, status, product details, policy holder information, and associated documents.curl -X GET "https://example.com/v1/policies/{policy_number}"Normalize and hash customer emails for Vertical Insurance
Before sending an email hash in the
customer.email_address_hashfield, the email must be normalized and hashed using the following steps:- Trim leading and trailing whitespace.
- Convert the string to lowercase.
- Hash the normalized value using SHA-256.
- Send the resulting digest as a lowercase hexadecimal string.
import crypto from "crypto"; const input = "User@Example.com "; const normalizedEmail = input.trim().toLowerCase(); const emailAddressHash = crypto .createHash("sha256") .update(normalizedEmail, "utf8") .digest("hex");Install Vertical Insure embedded offer for React
Install the dedicated React package for Vertical Insure embedded offers using npm.npm install @vertical-insure/embedded-offer-reactInstall the Vertical Insure Drop-in Component
The Vertical Insure Drop-in Component can be installed via CDN for plain JavaScript projects or via npm for framework-based projects (React, Vue, or vanilla JS).# JavaScript npm install @vertical-insure/embedded-offer # React npm install @vertical-insure/embedded-offer-react # Vue npm install @vertical-insure/embedded-offer-vue<!-- CDN (plain JavaScript) --> <script src="https://cdn.jsdelivr.net/npm/@vertical-insure/embedded-offer"></script>Use hashed emails for privacy-first quote flows
To avoid sharing Personally Identifiable Information (PII) during quote flows while still supporting request correlation and operational support, use the
customer.email_address_hashfield. This allows support teams to identify customers via their email without the email being stored in plain text until a purchase occurs.Field Usage Rules:
customer.email_address: Used for plain-text email.customer.email_address_hash: Used for the SHA-256 hash of the normalized email.- Quote Requests: Can use either
customer.email_addressorcustomer.email_address_hash. - Purchase Requests: Must use
customer.email_address(plain text).
Gather insurance requirements from event hosts
Use theevent.insurance_requirementsembedded component to allow event hosts to determine if exhibitor liability insurance is required or optional. If required, hosts can use standard requirements or customize their own. The component creates an Event in the Vertical Insure backend and emits anevent-insurance-requirements-state-changeevent containing the Event ID and theevent_insurance_requiredstatus.<head> <script src="https://cdn.jsdelivr.net/npm/@vertical-insure/embedded-offer"></script> </head> <body> <div id="insurance-requirements"></div> <script> new VerticalInsure("#insurance-requirements", { client_id: "your_client_id", partner_client_secret: "your_partner_client_secret", component_type: "event.insurance_requirements", component_config: { event_config: { "name": "Minneapolis Art Fair", "street": "123 Main St", "city": "Minneapolis", "state": "MN", "postal_code": "55432", "country": "US", "start_date": "2026-01-01", "end_date": "2026-01-03" } } }, function(offerState) { console.log(offerState) }); </script> </body>