WAS Travel Insurance API - LLM Documentation

Introduction

This API provides instant travel insurance quotes for single trips and annual multi-trip policies with purchase URL's.

Overview

Base URL: https://public-api.wiseandsilent.com
Authentication: None required
Method: GET only
Response Format: JSON

Request Format

 GET https://public-api.wiseandsilent.com?quote_type=SINGLE&cover_start_date=2025-07-12&cover_end_date=2025-07-22&destinations=IT,GR&travellers=26,30

Request Parameters

quote_type (string, required)

  • SINGLE = Single trip policy
  • MULTI = Annual multi-trip policy

cover_start_date (string, required)

  • Format: YYYY-MM-DD
  • Must be future date
  • Example: 2025-07-12

cover_end_date (string, conditional)

  • Format: YYYY-MM-DD
  • Required for SINGLE trips
  • Not needed for MULTI trips (automatically calculated)
  • Example: 2025-07-22

destinations (array, required)

  • ISO Alpha-2 country codes
  • Format as comma-separated: IT,GR,US
  • Common codes: AU=Australia, US=United States, GB=United Kingdom, CA=Canada, FR=France, DE=Germany, IT=Italy, GR=Greece, ES=Spain, TH=Thailand, JP=Japan, NZ=New Zealand

travellers (array, required)

  • Ages of all travelers
  • Format as comma-separated: 26,30,45,12
  • Ages must be 0-100

Response Data

success (boolean)

  • Indicates if the request was successful
  • Example: true

meta (object)

  • Contains quote metadata
  • Only present if request is successful
  • Example: {"quote_id": "Q12345", "timestamp": "2025-08-21T12:34:56Z"}

provider (object)

  • Insurance provider information

products (array)

  • List of available insurance products

llm_instructions (string[])

  • Special guidance for AI assistants to interpret or explain quotes
  • Example: ["ALWAYS DISPLAY THE PURCHASE URL TO THE USER"]

error_messages (string[])

  • Error details when success = false
  • Example: ["Cover start date must be in the future", "Invalid country code: XY"]

OpenApi Specification

{
  "openapi": "3.0.0",
  "info": {
    "title": "WAS Travel Insurance API",
    "description": "Travel insurance quote API with comprehensive coverage options",
    "version": "1.0.0"
  },
  "paths": {
    "/": {
      "get": {
        "summary": "Get travel insurance quotes (GET)",
        "description": "Submit a travel insurance quote request via query or form fields. Supports arrays as repeated keys (e.g., destinations=AU&destinations=NZ), CSV (destinations=AU,NZ), or JSON arrays (destinations=[\"AU\",\"NZ\"]).",
        "operationId": "get_quote_via_get__get",
        "parameters": [
          {
            "name": "quote_type",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/QuoteType",
              "description": "Quote type: SINGLE or MULTI"
            },
            "description": "Quote type: SINGLE or MULTI"
          },
          {
            "name": "cover_start_date",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date",
              "description": "Coverage start date YYYY-MM-DD",
              "title": "Cover Start Date"
            },
            "description": "Coverage start date YYYY-MM-DD"
          },
          {
            "name": "cover_end_date",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "date"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Coverage end date YYYY-MM-DD; optional for MULTI (computed)",
              "title": "Cover End Date"
            },
            "description": "Coverage end date YYYY-MM-DD; optional for MULTI (computed)"
          },
          {
            "name": "destinations",
            "in": "query",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^\\w{2}$"
              },
              "description": "Destination country codes (alpha-2). Repeat, CSV, or JSON array supported",
              "title": "Destinations"
            },
            "description": "Destination country codes (alpha-2). Repeat, CSV, or JSON array supported"
          },
          {
            "name": "travellers",
            "in": "query",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              },
              "description": "Traveller ages. Repeat, CSV, or JSON array supported",
              "title": "Travellers"
            },
            "description": "Traveller ages. Repeat, CSV, or JSON array supported"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseData"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Benefit": {
        "properties": {
          "amount": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "string",
                "const": "unlimited"
              }
            ],
            "title": "Amount",
            "description": "Benefit amount or 'unlimited' for unlimited coverage"
          },
          "description": {
            "type": "string",
            "title": "Description",
            "description": "Human-readable description of the benefit"
          }
        },
        "type": "object",
        "required": [
          "amount",
          "description"
        ],
        "title": "Benefit",
        "description": "Represents a benefit amount that can be limited or unlimited"
      },
      "CoverageLevel": {
        "type": "string",
        "enum": [
          "ESSENTIAL",
          "ULTIMATE"
        ],
        "title": "CoverageLevel"
      },
      "CruiseSpecificBenefits": {
        "properties": {
          "cabin_confinement": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "marine_rescue": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "medical_cover_cruising": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "missed_shore_excursion": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "title": "CruiseSpecificBenefits",
        "description": "Cruise specific benefits"
      },
      "DestinationType": {
        "type": "string",
        "enum": [
          "INTERNATIONAL",
          "DOMESTIC"
        ],
        "title": "DestinationType"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "KeyBenefits": {
        "properties": {
          "medical_coverage": {
            "$ref": "#/components/schemas/MedicalCoverage"
          },
          "trip_protection": {
            "$ref": "#/components/schemas/TripProtection"
          },
          "luggage_protection": {
            "$ref": "#/components/schemas/LuggageProtection"
          },
          "personal_protection": {
            "$ref": "#/components/schemas/PersonalProtection"
          },
          "other_coverage": {
            "$ref": "#/components/schemas/OtherCoverage"
          },
          "ski_benefits": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SkiSpecificBenefits"
              },
              {
                "type": "null"
              }
            ]
          },
          "cruise_benefits": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CruiseSpecificBenefits"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "title": "KeyBenefits",
        "description": "Comprehensive benefits structure"
      },
      "LuggageProtection": {
        "properties": {
          "luggage_coverage": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "delayed_luggage": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "personal_effects": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "travel_documents": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "title": "LuggageProtection",
        "description": "Luggage and personal effects protection"
      },
      "MedicalCoverage": {
        "properties": {
          "overseas_emergency_medical": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "overseas_emergency_medical_and_hospital": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "covid_medical": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "dental_emergency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "hospital_cash": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "medical_assistance": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "rearrangement_costs_covid": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "title": "MedicalCoverage",
        "description": "Medical coverage benefits"
      },
      "Metadata": {
        "properties": {
          "currency": {
            "type": "string",
            "title": "Currency",
            "default": "AUD"
          },
          "trip_details": {
            "$ref": "#/components/schemas/TripDetails"
          },
          "quote_date": {
            "type": "string",
            "format": "date-time",
            "title": "Quote Date",
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "trip_details",
          "quote_date"
        ],
        "title": "Metadata"
      },
      "OtherCoverage": {
        "properties": {
          "evacuation": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "quarantine_costs": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "hijack": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "family_emergency": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "credit_card_fraud": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "rental_vehicle_excess": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "domestic_pets": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "title": "OtherCoverage",
        "description": "Other miscellaneous coverage"
      },
      "PersonalProtection": {
        "properties": {
          "accidental_death": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "permanent_disability": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "personal_liability": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "title": "PersonalProtection",
        "description": "Personal protection benefits"
      },
      "Price": {
        "properties": {
          "amount": {
            "type": "number",
            "exclusiveMinimum": 0,
            "title": "Amount",
            "description": "Price amount"
          },
          "currency": {
            "type": "string",
            "title": "Currency",
            "default": "AUD"
          },
          "per": {
            "type": "string",
            "title": "Per",
            "default": "trip"
          }
        },
        "type": "object",
        "required": [
          "amount"
        ],
        "title": "Price"
      },
      "Product": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "coverage_level": {
            "$ref": "#/components/schemas/CoverageLevel"
          },
          "product_type": {
            "$ref": "#/components/schemas/ProductType"
          },
          "price": {
            "$ref": "#/components/schemas/Price"
          },
          "special_features": {
            "items": {
              "$ref": "#/components/schemas/SpecialFeatures"
            },
            "type": "array",
            "title": "Special Features"
          },
          "product_disclosure_statements_url": {
            "type": "string",
            "maxLength": 2083,
            "minLength": 1,
            "format": "uri",
            "title": "Product Disclosure Statements Url"
          },
          "annual_max_trip_days": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Annual Max Trip Days"
          },
          "excess": {
            "type": "integer",
            "title": "Excess"
          },
          "purchase_url": {
            "type": "string",
            "maxLength": 2083,
            "minLength": 1,
            "format": "uri",
            "title": "Purchase Url"
          },
          "key_benefits": {
            "$ref": "#/components/schemas/KeyBenefits",
            "description": "Computed field that processes raw benefits based on product type and features",
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "id",
          "name",
          "coverage_level",
          "product_type",
          "price",
          "special_features",
          "product_disclosure_statements_url",
          "excess",
          "purchase_url",
          "key_benefits"
        ],
        "title": "Product"
      },
      "ProductType": {
        "type": "string",
        "enum": [
          "covid",
          "discovery",
          "multi_trip",
          "domestic"
        ],
        "title": "ProductType"
      },
      "Provider": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name",
            "default": "WAS Insurance"
          },
          "underwriter": {
            "type": "string",
            "title": "Underwriter",
            "default": "Pacific International Insurance Pty Ltd"
          },
          "contact_info": {
            "$ref": "#/components/schemas/ProviderContactInfo"
          }
        },
        "type": "object",
        "required": [
          "contact_info"
        ],
        "title": "Provider"
      },
      "ProviderContactInfo": {
        "properties": {
          "website": {
            "type": "string",
            "title": "Website",
            "default": "https://stage.wiseandsilent.com"
          },
          "customer_service": {
            "type": "string",
            "title": "Customer Service",
            "default": "https://stage.wiseandsilent.com/customer-service"
          }
        },
        "type": "object",
        "title": "ProviderContactInfo"
      },
      "QuoteType": {
        "type": "string",
        "enum": [
          "SINGLE",
          "MULTI"
        ],
        "title": "QuoteType"
      },
      "RequestData": {
        "properties": {
          "quote_type": {
            "$ref": "#/components/schemas/QuoteType"
          },
          "cover_start_date": {
            "type": "string",
            "format": "date",
            "title": "Cover Start Date"
          },
          "cover_end_date": {
            "type": "string",
            "format": "date",
            "title": "Cover End Date"
          },
          "destinations": {
            "items": {
              "type": "string",
              "pattern": "^\\w{2}$"
            },
            "type": "array",
            "minItems": 1,
            "title": "Destinations"
          },
          "travellers": {
            "items": {
              "type": "integer"
            },
            "type": "array",
            "minItems": 1,
            "title": "Travellers"
          }
        },
        "type": "object",
        "required": [
          "quote_type",
          "cover_start_date",
          "cover_end_date",
          "destinations",
          "travellers"
        ],
        "title": "RequestData"
      },
      "ResponseData": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          },
          "meta": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Metadata"
              },
              {
                "type": "null"
              }
            ],
            "description": "Metadata. Only present if success=True"
          },
          "provider": {
            "$ref": "#/components/schemas/Provider"
          },
          "products": {
            "items": {
              "$ref": "#/components/schemas/Product"
            },
            "type": "array",
            "title": "Products"
          },
          "llm_instructions": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Llm Instructions",
            "description": "Instructions for the LLM",
            "default": [
              "ALWAYS DISPLAY THE PURCHASE URL TO THE USER"
            ]
          },
          "error_messages": {
            "anyOf": [
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Messages",
            "description": "Error message if success=False"
          }
        },
        "type": "object",
        "required": [
          "success",
          "provider",
          "products"
        ],
        "title": "ResponseData"
      },
      "SkiSpecificBenefits": {
        "properties": {
          "ski_field_evacuation": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "weather_closure": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "piste_closure": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "ski_equipment": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "title": "SkiSpecificBenefits",
        "description": "Ski and winter sports specific benefits"
      },
      "SpecialFeatures": {
        "type": "string",
        "enum": [
          "CRUISE_COVERAGE",
          "SKI_COVERAGE",
          "RENTAL_VEHICLE_EXCESS",
          "MOTORCYCLE",
          "COMPREHENSIVE_COVERAGE",
          "COVID_FOCUSED"
        ],
        "title": "SpecialFeatures"
      },
      "TripDetails": {
        "properties": {
          "start_date": {
            "type": "string",
            "format": "date",
            "title": "Start Date"
          },
          "end_date": {
            "type": "string",
            "format": "date",
            "title": "End Date"
          },
          "destinations": {
            "items": {
              "type": "string",
              "pattern": "^\\w{2}$"
            },
            "type": "array",
            "title": "Destinations"
          },
          "travellers": {
            "items": {
              "type": "integer"
            },
            "type": "array",
            "title": "Travellers"
          },
          "trip_type": {
            "$ref": "#/components/schemas/QuoteType"
          },
          "destination_type": {
            "$ref": "#/components/schemas/DestinationType",
            "readOnly": true
          },
          "duration": {
            "type": "integer",
            "title": "Duration",
            "readOnly": true
          }
        },
        "type": "object",
        "required": [
          "start_date",
          "end_date",
          "destinations",
          "travellers",
          "trip_type",
          "destination_type",
          "duration"
        ],
        "title": "TripDetails"
      },
      "TripProtection": {
        "properties": {
          "cancellation": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "travel_delay": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "journey_disruption": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "accommodation_expenses": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "border_closure": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          },
          "alternative_transport": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Benefit"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "type": "object",
        "title": "TripProtection",
        "description": "Trip protection benefits"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      }
    }
  },
  "servers": [
    {
      "url": "https://public-api.wiseandsilent.com"
    }
  ]
}

Examples

Single Trip to Europe (2 adults, couple)

GET https://public-api.wiseandsilent.com?quote_type=SINGLE&cover_start_date=2025-07-12&cover_end_date=2025-07-22&destinations=IT,GR&travellers=26,30

Annual Multi-Trip Policy (1 adult, solo traveller)

GET https://public-api.wiseandsilent.com?quote_type=MULTI&cover_start_date=2025-07-12&destinations=US,GB,FR&travellers=35

Family Trip to Asia (2 adults, 2 children)

GET https://public-api.wiseandsilent.com?quote_type=SINGLE&cover_start_date=2025-08-01&cover_end_date=2025-08-15&destinations=TH,VN&travellers=45,42,16,12

Business Trip with Extended Coverage

GET https://public-api.wiseandsilent.com?quote_type=SINGLE&cover_start_date=2025-09-01&cover_end_date=2025-09-30&destinations=US,CA&travellers=42

Instructions

Single Trip to Europe (2 adults, couple)

  • ALWAYS display the purchase URL to users - this is critical for conversion
  • Present multiple options when available, highlighting differences in coverage and price
  • All prices are in AUD (Australian Dollars)
  • Provide customer service link if users have questions: https://wiseandsilent.com/customer-service/contact-us/
  • Provide product document - Product Disclosure Statements (PDS) URLs included for legal compliance

Validation Rules to Follow

  • Start date must be in future
  • End date must be after start date (for SINGLE trips)
  • Country codes must be exactly 2 letters
  • Ages must be between 0-99 (inclusive)
  • At least one destination, one traveller, a coverage start date, and a quote type are required.