Appearance
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:
| Feature | Bupa Basic | Allianz Standard |
|---|---|---|
| Hospital Cover | Included | Included |
| Extras Cover | Not included | Basic extras |
| Ambulance | Included | Included |
| Waiting Period | None for hospital | 2 months for extras |
| Excess | No excess | $200 per admission |
| Price | AUD 692.00 | AUD 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"}' -Lpython
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 viaanchor.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.
Related
- Purchase OSHC Insurance — full end-to-end purchase flow
- Manage Policies — track and manage submitted applications
- Insurance Schemas — JSON schemas for quotes and offers