Endpoints

Use this page to find the current route shape. Use the generated OpenAPI reference for field-level request and response detail.

Current routes

MethodPathPurpose
GET/api/healthCheck the API process.
GET/api/docsOpen the generated Scalar reference viewer.
GET/api/docs/openapi.jsonRead the generated OpenAPI document.
GET/api/v1/jurisdictionsList supported public API jurisdictions.
GET/api/v1/tax-yearsList supported tax years, optionally filtered by jurisdiction.
GET/api/v1/calculatorsList calculator catalog entries.
GET/api/v1/calculators/:calculatorIdGet one calculator catalog entry.
GET/api/v1/calculators/:calculatorId/schemaGet fact, rule and report schema metadata.
POST/api/v1/calculators/:calculatorId/calculateRun one calculator through the calculator service.
GET/api/v1/calculators/:calculatorId/graphGet graph edges and validation diagnostics.
GET/api/v1/factsList canonical fact descriptors.
GET/api/v1/rulesList canonical rule descriptors.
GET/api/v1/docs/navigationRead public documentation navigation.
GET/api/v1/docs/page?path=/start/quickstartRead one public page as JSON.
GET/api/v1/docs/search?term=QuickstartSearch public documentation.
GET/api/v1/docs/markdown?path=/start/quickstartRead one public page as Markdown.

Calculate

POST /api/v1/calculators/:calculatorId/calculate accepts a CalculatorRunRequest payload and returns a CalculatorRunResponse.

sh
curl -X POST \
  http://127.0.0.1:4000/api/v1/calculators/au.pay.take-home/calculate \
  -H 'content-type: application/json' \
  -d '{
    "facts": {
      "grossPay": {
        "_tag": "GrossPay",
        "amount": { "_tag": "Money", "cents": 346200, "currency": "AUD" },
        "period": "fortnightly"
      },
      "taxFreeThresholdClaimed": true
    },
    "jurisdiction": "AU",
    "taxYear": "2025-26"
  }'

Expected output includes calculator.calculatorId: "au.pay.take-home", report._tag: "TakeHomePayReport", report.withholdingsTotal.cents: 75600 and report.netPay.cents: 270600.

If the request fails, read CalculatorApiErrorEnvelope.error and handle the underlying CalculatorServiceError.

Read public documentation

Use path to select a page address from navigation, such as /start/quickstart. The path accepts up to 256 characters. The page route returns the page title, description and Markdown in a JSON object. The Markdown route returns the same page text with content-type: text/markdown.

sh
curl 'http://127.0.0.1:4000/api/v1/docs/markdown?path=/start/quickstart'

Search with a term of 1 to 100 characters. Each search returns up to 20 results, with a page address, title and excerpt of up to 240 characters. Use the navigation route to read the section and page links.

See API errors for missing-page and invalid-query replies.