Skip to main content

HaloPSA REST API v2 — Swagger Spec

Live OpenAPI 3.0.1 spec for the HaloPSA REST API v2. 952 paths, 760 schemas. Use this as the authoritative field-level reference when the endpoint pages in this book don't carry enough detail.


Spec Location

Path
Live URL https://dtcdev.halopsa.com/api/swagger/v2/swagger.json
Repo snapshot docs/halo/swagger.json in dtc-inc/client-portal (committed on branch feature/deferred-revenue-modes, commit 87c4d3b; lands on development after PR merge)

The URL is tenant-agnostic — replace the host for any Halo instance (e.g. https://dtc.halopsa.com/api/swagger/v2/swagger.json for production).

Refreshing the Snapshot

curl -sS https://dtcdev.halopsa.com/api/swagger/v2/swagger.json | \
  python -m json.tool > docs/halo/swagger.json

Run from the repo root. Commit the result to keep the snapshot current. The file is ~7 MB pretty-printed; do not paste it into KB pages.

Deferred Revenue — GET /api/Control Fields

GET /api/Control returns the tenant-level Control object. The fields relevant to deferred-revenue and down-payment behaviour:

Field Type Notes
enable_deferred_revenue boolean Master DR toggle for the tenant
enable_downpayment_invoices boolean Down-payment invoice feature toggle
deferred_revenue_client integer Client ID used for DR accounting entries
deferred_revenue_code string Accounting code for DR entries
deferred_revenue_prepay_item_name string Item name used for prepay DR line items
downpayment_item integer Halo's configured down-payment line item ID (DTC dev: item 3)

These fields are not documented in the HaloPSA UI. The swagger spec is the only reliable source for them.