Vertical Insure API Documentation

website·Indexed 34 days ago

https://docs.verticalinsure.com

API 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.

Tokens
56.4K
Snippets
270
Records
385
Agent score
57%

What's inside Vertical Insure

  1. Overview of Vertical Insure payment options

    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.
  2. 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.
  3. 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 unique event_id. This event_id must be stored by the partner and is required for all subsequent API calls related to that event. The component_type for this element is event.room_block_protection.
  4. Exhibitor Liability Event response schema

    A successful (200 OK) request returns a JSON object containing the following fields:

    • event: Details about the event including name, address, city, state, postal_code, event_url, and event_contact_email.
    • additional_insured: Contact details for the additional insured (name, address, city, state, postal_code).
    • host_questions: Boolean no_excluded_event_features and a string purpose.
    • 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"
    }
  5. Access the Vertical Insure API Base URL and OpenAPI Specification

    All API requests for Vertical Insure are made to the base URL https://api.verticalinsure.com. For a full detailed definition of the API endpoints and schemas, the OpenAPI Specification is available at https://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.yml
  6. Understand 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_amount and total: The cost of the insurance.
    • policy_number and quote_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.
  7. 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 a policy_number as 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}"
  8. Normalize and hash customer emails for Vertical Insurance

    Before sending an email hash in the customer.email_address_hash field, the email must be normalized and hashed using the following steps:

    1. Trim leading and trailing whitespace.
    2. Convert the string to lowercase.
    3. Hash the normalized value using SHA-256.
    4. 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");
  9. Install 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>
  10. 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_hash field. 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_address or customer.email_address_hash.
    • Purchase Requests: Must use customer.email_address (plain text).
  11. Gather insurance requirements from event hosts

    Use the event.insurance_requirements embedded 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 an event-insurance-requirements-state-change event containing the Event ID and the event_insurance_required status.
    <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>