Schema Reference
This page is an auto-generated catalog of every JPA entity Query Studio's autocomplete sees. It mirrors the response of GET /api/v1/workbench/schema/entities/{entity} for every entity returned by GET /api/v1/workbench/schema/entities.
The reference is regenerated at every documentation build. If you don't see a recently-added entity below, the docs build pipeline needs to re-run against a backend that has the new entity deployed.
How to regenerate
The build script lives at billerang-docs/scripts/build-schema-reference.mjs. It hits a running Billerang instance, walks the schema endpoint, and rewrites this page's body between the markers <!-- AUTO-GEN START --> and <!-- AUTO-GEN END -->.
# from billerang-docs/
WORKBENCH_API=https://staging.billerang.com BEARER=$TOKEN \
node scripts/build-schema-reference.mjs
The script is also wired into the Docusaurus build via a pre-build hook so a routine pnpm build rebuilds the reference. If the API isn't reachable, the script falls back to a cached JSON snapshot in billerang-docs/.schema-cache.json so the docs site can still build offline.
Auto-generated content
The schema reference will appear here after the first build. Run the regenerate command above to populate it.
In the meantime, this is what each entity entry looks like:
### BillingAccount
| Field | Java type | DB column | FK target | Nullable |
| --- | --- | --- | --- | --- |
| code | String | code | — | false |
| status | BillingAccountStatusEnum | status | — | true |
| customerAccount | CustomerAccount | customer_account_id | customer_account | true |
| auditable.created | Date | created | — | true |
| ... | ... | ... | ... | ... |
Field-mapping notes
A few quirks worth flagging — every entry below applies to the autocomplete provider as well:
- Embeddables:
auditable.created/auditable.updatedetc. expand into the fullAuditableblock as columns on the parent table (created,updated,creator,updater). - FKs: every
@ManyToOne/@OneToOneis shown withisFK: trueplusreferences: <table_name>. The autocomplete inserts the Java path (Deep mode) or the FK column (Expert mode). - Custom fields: anything stored under
cf_values(jsonb) is not in the schema reference. Custom fields are accessible viaentity.getCfValue("fieldCode")in scripts and via thecf_valuesjsonb column in Expert mode (usecf_values @> '{"FIELD": "VALUE"}'). - Inheritance: subclasses (
OneShotChargeTemplate,RecurringChargeTemplate, …) share the parent's table for single-table-inheritance entities. The reference lists each subclass separately with its discriminator-specific columns called out.
Searching the reference
For now this page is one long list — Ctrl+F is the search. A planned V2 enhancement is a sidebar of entities + a search-as-you-type filter, generated as a Docusaurus React component during the build step.