Pricing API
The Pricing API calculates drive-away prices for vehicles in every Australian state and territory. You send the commercial details of a deal. It returns every government charge: stamp duty, registration, CTP or TAC, plates, Luxury Car Tax and transfer fees, each as an itemised line with the rule that produced it.
It is the same engine that powers on-road cost calculations across the Vyro platform. It is used by manufacturers, dealer groups and used-vehicle retailers for website advertising and for the figures that go on a customer contract.
✅ What it covers
- All 8 jurisdictions:
AU_NSW,AU_VIC,AU_QLD,AU_WA,AU_SA,AU_TAS,AU_ACT,AU_NT. - Every fuel type: battery electric (
BEV), plug-in hybrid (PHEV), hybrid (HYBRID) and petrol/diesel (ICE). Fuel type changes duty rates, LCT thresholds and registration bands. - New and used vehicles. Used vehicles get used-vehicle duty treatment, the ATO two-year LCT rule, and can keep their existing registration (a transfer) instead of a new one. See Used vehicles.
- Private and business buyers, and state concessions (pensioner, seniors, disability, primary producer and more).
- Working back from a drive-away price: give us the advertised drive-away and we solve the vehicle price. See Target drive-away.
- Auditability. Every line carries the
ruleIdthat produced it, and every response lists the rules applied, so you can store a quote and explain exactly how it was derived.
🧭 How pricing works
A quote is built in three stages. You supply the inputs for each stage, and the engine adds the statutory charges:
| Stage | You send | The engine adds |
|---|---|---|
dutiable | The vehicle price, options, accessories, dealer delivery, any pre-contract discount | – |
onRoad | Optional dealer-supplied on-road extras (e.g. tinting) | Stamp duty, LCT, registration, CTP/TAC, plates, transfer fees |
additional | Post-contract adjustments (e.g. a manufacturer cashback) | – |
driveAway = dutiable + onRoad + additional.
All money is in cents (AUD). 3499000 is $34,990.00. Negative values reduce a total.
🚀 Quickstart
1. Get credentials
Vyro issues you an API client (a client ID and client secret) scoped to your showroom code. Email support@vyro.co if you don't have one yet. See Authentication & environments.
2. Request an access token
curl -s -X POST "https://authentication-api.vyro.com.au/api-client/authenticate" \
-H 'Content-Type: application/json' \
-d '{ "client_id": "your-client-id", "client_secret": "your-client-secret" }'
{ "access_token": "your-access-token" }
3. Price a vehicle
A used, 4-cylinder SUV in Queensland, sold for $34,990 with its existing registration transferring to the buyer:
curl -s -X POST "https://pricing-api.vyro.com.au/v1/quote" \
-H "Authorization: Bearer your-access-token" \
-H 'Content-Type: application/json' \
-d '{
"pricingCode": "AU_QLD",
"showroomCode": "your-showroom-code",
"purchaseDate": "2026-10-01",
"vehicleGeneric": {
"bodyType": "suv",
"fuelType": "ICE",
"cylinders": 4,
"tareKg": 1550,
"year": 2021,
"condition": "used",
"manufactureDate": "2021-08-31"
},
"pricingInputs": {
"dutiable": [{ "description": "Vehicle price", "value": 3499000 }]
},
"registration": { "termMonths": 12, "startDate": "2026-10-01", "type": "transfer" },
"customer": { "customerType": "consumer", "usageType": "consumer" }
}'
200 OK
{
"currency": "AUD",
"pricingCode": "AU_QLD",
"financialYear": "2026-2027",
"categories": {
"dutiable": [
{
"description": "Vehicle price",
"value": 3499000,
"amounts": { "beforeTax": 3180909, "taxAmount": 318091, "afterTax": 3499000, "currency": "AUD" },
"tax": { "code": "GST", "jurisdiction": "AU", "rateBps": 1000, "mode": "inclusive", "source": "engine" },
"ruleId": "AU_QLD_DUTIABLE_VALUE_FY27"
}
],
"onRoad": [
{
"description": "Stamp Duty",
"value": 105000,
"tax": { "code": "GST", "jurisdiction": "AU", "rateBps": 0, "mode": "exempt", "source": "engine" },
"amounts": { "beforeTax": 105000, "taxAmount": 0, "afterTax": 105000, "currency": "AUD" },
"ruleId": "AU_QLD_STAMP_DUTY_FY27"
},
{
"description": "Vehicle registration transfer fee",
"value": 3365,
"tax": { "code": "GST", "jurisdiction": "AU", "rateBps": 0, "mode": "exempt", "source": "engine" },
"amounts": { "beforeTax": 3365, "taxAmount": 0, "afterTax": 3365, "currency": "AUD" },
"ruleId": "AU_QLD_REGISTRATION_TRANSFER_FY27"
}
],
"additional": []
},
"totals": {
"dutiable": 3499000,
"onRoad": 108365,
"additional": 0,
"driveAway": 3607365,
"tax": { "dutiable": 318091, "onRoad": 0, "additional": 0, "overall": 318091 }
},
"metadata": {
"rulesVersion": "AU_QLD_FY26_v1",
"appliedRules": [
"AU_QLD_DUTIABLE_VALUE_FY27",
"AU_QLD_STAMP_DUTY_FY27",
"AU_QLD_REGISTRATION_TRANSFER_FY27"
],
"appliedConcessions": [],
"warnings": [
"AU_QLD: vehicleGeneric provided; make/model defaulted to \"generic\" and \"generic\". Provide make/model for model-specific rules."
],
"taxEffectiveDate": "2026-10-01",
"taxFinancialYear": "2026-2027",
"taxDatePolicy": "legacy",
"taxFallbackApplied": false
}
}
The drive-away is $36,073.65: $34,990.00 for the vehicle, $1,050.00 stamp duty (Queensland charges $3 per $100 for a 1–4 cylinder vehicle) and the $33.65 transfer fee. No new registration, CTP or plates are charged, because the vehicle's registration carries over.
📚 Next steps
- Authentication & environments: tokens, regions, showroom scoping.
- Quote reference: every request and response field.
- Used vehicles: condition, cylinders, LCT and registration transfers.
- Target drive-away: solve the price from an advertised drive-away.
- States & inputs: what each jurisdiction needs, and the assumptions we make.
- Other endpoints: batch quotes, concessions and rule metadata.
- Errors, warnings & changes: error codes, warnings, and how statutory changes reach you.
- OpenAPI specification: the full machine-readable contract.