Skip to content

Compare Insurance Quotes ​

This guide explains how to request insurance quotes, interpret the features and offers structure, and adjust parameters to re-quote.

Requesting Quotes ​

After following the request-insurance-quote link for your chosen insurance type and submitting the form (see Purchase OSHC Insurance steps 1–3), the API redirects to a quotes resource.

Understanding the Response ​

The quotes response has two main arrays: features (comparison columns) and offers (one entry per provider/product).

Features Array ​

Defines the comparison criteria. Each feature has a key (lookup ID) and a human-readable label. Some include a breakdown with help text.

json
{
  "features": [
    {
      "key": "hospital",
      "label": "Hospital Cover",
      "breakdown": [{ "text": "Covers in-hospital medical services and accommodation" }]
    },
    {
      "key": "extras",
      "label": "Extras Cover",
      "breakdown": [{ "text": "Dental, optical, physiotherapy, and other ancillary services" }]
    },
    { "key": "ambulance", "label": "Ambulance Cover" },
    { "key": "waiting_period", "label": "Waiting Period" },
    { "key": "excess", "label": "Excess / Co-payment" }
  ]
}

TIP

Use the breakdown text to build tooltips or help text in your UI. Not every feature will have a breakdown.

Offers Array ​

Each offer represents a product from a specific provider. The features object maps feature keys to the offer's values.

json
{
  "offers": [
    {
      "category": "OSHC", "provider": "Bupa", "product": "Basic OSHC",
      "price": { "value": 692.00, "currency": "AUD" },
      "features": {
        "hospital": "Included", "extras": "Not included",
        "ambulance": "Included", "waiting_period": "None for hospital", "excess": "No excess"
      }
    },
    {
      "category": "OSHC", "provider": "Allianz", "product": "Standard OSHC",
      "price": { "value": 748.50, "currency": "AUD" },
      "features": {
        "hospital": "Included", "extras": "Basic extras",
        "ambulance": "Included", "waiting_period": "2 months for extras", "excess": "$200 per admission"
      }
    }
  ]
}

How Features Map to Offers ​

The features array defines the columns of a comparison table, and each offer's features object provides the cell values:

FeatureBupa BasicAllianz Standard
Hospital CoverIncludedIncluded
Extras CoverNot includedBasic extras
AmbulanceIncludedIncluded
Waiting PeriodNone for hospital2 months for extras
ExcessNo excess$200 per admission
PriceAUD 692.00AUD 748.50

Adjusting Quote Parameters ​

To change parameters (dates, adults/children), follow the adjust-insurance-quote link. POST the modified parameters and follow the 303 redirect to get new quotes.

bash
curl -X POST 'THE_ADJUST_HREF' \
  --header 'X-Authentication-Key: YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  -d '{"adults":2,"children":1,"policy_start_date":"2026-08-01","policy_end_date":"2027-07-31"}' -L
python
adjust_link = next(l for l in quotes["links"] if l["rel"].endswith("adjust-insurance-quote"))
adjusted = requests.post(adjust_link["href"], headers=HEADERS, json={
    "adults": 2, "children": 1,
    "policy_start_date": "2026-08-01", "policy_end_date": "2027-07-31"
}, allow_redirects=True).json()
javascript
const adjustLink = quotes.links.find(l => l.rel.endsWith("adjust-insurance-quote"));
const adjusted = await fetch(adjustLink.href, {
  method: "POST", headers: { ...HEADERS, "Content-Type": "application/json" },
  body: JSON.stringify({ adults: 2, children: 1, policy_start_date: "2026-08-01", policy_end_date: "2027-07-31" }),
  redirect: "follow"
}).then(r => r.json());

Provider Logos and Terms ​

The quotes response may include anchored icon and terms-of-service links for each offer:

json
{
  "links": [
    { "rel": "icon", "href": "...assets/bupa-logo.png", "anchor": "#/offers/0" },
    { "rel": "...terms-of-service", "href": "...insurance-types/OSHC/terms/bupa", "anchor": "#/offers/0" }
  ]
}
  • icon — provider's logo image. Match to the correct offer via anchor.
  • terms-of-service — provider's terms and conditions.

WARNING

Always present the terms of service to the client before submitting an application. The application form requires terms_accepted: true.

Choosing an Offer ​

Once you've compared features and pricing, follow the apply-for-insurance link anchored to the chosen offer to proceed. See Purchase OSHC Insurance steps 5–8.

Flywire Agents API Documentation