Comparison

One product type's products side by side, on the same coverage rows.

POST/compare

Compare the products of one product type

One row per product this business may sell of the given product type, over the same coverage dictionary rows and the same comparison attributes, so the rows line up column by column. A product this business may not sell is simply absent: the response never names it, never says why, and no field relaxes that.

Every premium is read from what the insurer already published. Set quotes to true to additionally ask for an indicative quote wherever one can be asked for; inputs and a UUIDv4 Idempotency-Key are then required, at most 10 insurers are asked, and any beyond that carry premiumUnavailable.reason: "QUOTE_LIMIT_REACHED". The Idempotency-Key header is read only when quotes is true, and a product whose insurer publishes an exact price is never re-quoted.

Nothing here ranks, recommends or re-prices: the only ordering is the sort asked for, and every amount is an integer in minor units carrying its own currency.

lock

Requires API key authentication. The API key issued to the business, sent as `<keyId>:<secret>`, for example `sk_test_0123456789abcdef0123456789abcdef:<secret>`. The key id prefix selects the environment: `sk_test_` keys read and write test data, `sk_live_` keys production data.

Headers

Idempotency-KeyA UUIDv4, read only when quotes is true and ignored otherwise, since a comparison without quotes writes nothing. It is never replayed as a whole: a per-product key is derived from it for each insurer asked, so repeating it replays those insurer quotes rather than this response, and this operation never answers 409. Reusing a key with different inputs cannot replay those quotes: each product it affects comes back with premiumUnavailable.reason: "QUOTE_FAILED".

Request body

application/json
{
  "productType": "",
  "providerIds": [],
  "quotes": false,
  "sort": "UPDATED_DESC",
  "limit": 20,
  "country": null,
  "currency": null,
  "channel": null
}

Responses

The comparison set.

null
boltTry it
env
POST/api/v1/compare

Headers

Idempotency-Key

Request body

Code samples

curl -X POST '/api/v1/compare' \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "productType": "",
  "providerIds": [],
  "quotes": false,
  "sort": "UPDATED_DESC",
  "limit": 20,
  "country": null,
  "currency": null,
  "channel": null
}'