Other endpoints
All endpoints below need the same Authorization: Bearer token as POST /v1/quote.
POST /v1/quote/batch
Prices up to 25 quotes in one request. The body is a JSON array of quote requests; the response is an array of quote responses in the same order.
curl -s -X POST "https://pricing-api.vyro.com.au/v1/quote/batch" \
-H "Authorization: Bearer your-access-token" \
-H 'Content-Type: application/json' \
-d '[ { ...quote request... }, { ...quote request... } ]'
The batch is validated as a whole. If any item is invalid, or names a showroom your client isn't bound to, the whole batch is rejected with that item's error and no quotes are returned. Use batches for bulk re-pricing (e.g. refreshing every listing's drive-away nightly) and single quotes for interactive use.
GET /v1/concessions
Lists the concession codes a jurisdiction recognises, with labels for your UI.
| Query parameter | Required | Description |
|---|---|---|
pricingCode | ✅ | e.g. AU_QLD |
curl -s "https://pricing-api.vyro.com.au/v1/concessions?pricingCode=AU_QLD" \
-H "Authorization: Bearer your-access-token"
200 OK
{
"pricingCode": "AU_QLD",
"concessions": [
{
"type": "au_qld_pre_1994_pensioner",
"label": "QLD pre-1994 pensioner",
"description": "Pre-1994 pensioner concession (MR65) – alternate rego fee schedule, duty unchanged."
},
{
"type": "au_qld_concession_card_post_1994",
"label": "QLD post-1994 concession / seniors card",
"description": "Concession card or seniors card issued after 1 Jul 1994 – reduced rego component for private Category 1 vehicles."
}
]
}
Send the chosen type as customer.concession.type with hasConcession: true. Fetch this list rather than hard-coding it; concessions change with state budgets.
GET /v1/rules
Returns the rules active for a jurisdiction, showroom and date, and the range of dates we have published rates for. Use it to bound the dates your UI allows, and to see the official source behind each rule.
| Query parameter | Required | Description |
|---|---|---|
pricingCode | ✅ | e.g. AU_QLD |
showroomCode | ✅ | Your showroom code. |
date | ✅ | YYYY-MM-DD: which rules are active on this date. |
curl -s "https://pricing-api.vyro.com.au/v1/rules?pricingCode=AU_QLD&showroomCode=your-showroom-code&date=2026-10-01" \
-H "Authorization: Bearer your-access-token"
200 OK (abridged: one rule shown)
{
"rules": [
{
"id": "AU_QLD_REGISTRATION_TRANSFER_FY27",
"name": "Registration transfer fee",
"description": "Vehicle registration transfer fee for AU_QLD used-vehicle transfers (registration.type = \"transfer\").",
"pricingCode": "AU_QLD",
"startDate": "2026-07-01",
"endDate": "2027-06-30",
"priority": 30,
"verification": {
"mode": "statutory",
"componentType": "registration",
"officialSources": [
{
"label": "Queensland Government - Registration costs: Other registration related fees (Transfer fees - vehicle or plate, cost as at 1 July 2026)",
"url": "https://www.qld.gov.au/transport/registration/fees/cost",
"authority": "transport",
"kind": "html",
"official": true
}
]
}
}
],
"supportedTaxRange": {
"start": "2025-07-01",
"end": "2027-06-30",
"financialYears": ["2025-2026", "2026-2027"]
}
}
Tax date policy
Statutory rates are published per financial year, and registration.startDate selects which year's rates apply. GET /v1/rules → supportedTaxRange tells you the dates we have rates for. For a date beyond that range (e.g. a forward order dated next financial year), choose the behaviour with taxDatePolicy.outOfRange:
| Value | Behaviour |
|---|---|
error | Recommended. Reject with 400 UNSUPPORTED_REGISTRATION_DATE, so an out-of-range date can never produce a figure. |
prior_year | Price with the latest published year's rates, and report it: metadata.taxFallbackApplied is true, metadata.taxEffectiveDate shows the date used, and a warning is added. Useful for indicative forward quotes. |
legacy (default) | Kept for backwards compatibility. An out-of-range date returns an empty quote (driveAway: 0). Don't rely on it. |
Send taxDatePolicy on every request. For contract figures use error:
{
"registration": { "termMonths": 12, "startDate": "2026-10-01" },
"taxDatePolicy": { "outOfRange": "error" }
}
GET /spec
The OpenAPI 3 specification, served by every environment without authentication. A copy is also available here. Use it to generate a typed client.