Demiton · Schema
tendered_budget contract v2
Tendered budget lines across all cost categories, from the winning estimate.
CompanyConstructionCivil EngineeringProject ManagementComplianceMCPArtificial IntelligenceOpen Contracting
Properties
| Name | Type | Description |
|---|---|---|
| total | number | The section subtotal; `grand_total` must equal their sum. |
| lines | array | The priced line detail: what was priced, how much, in what unit, at what rate, for what total, and the work-activity / cost-type coding where the workbook carries it. |
| category | string | The cost category a section total belongs to. |
| coverage | string | `empty`) |
| currency | currency | the currency of every amount on this record (`total`, `grand_total`), an ISO 4217 alpha-3 code as the source states it. A record with no currency has no usable amount. |
| sections | array | The cost-category breakdown (Labour, Plant, Subcontract, Travel, Materials, Overhead on a full parse), one entry per category: category label, section total, line count, and the nested line list. |
| entity_id | integer | The entity the price belongs to. Always an `opportunity` for this shelf: `doc_entity_type='opportunity'` (`baseline_squash_02_seed.sql:274`), resolved by `resolve_anchor_entity` preferring opportunity |
| line_count | integer | How many nested lines the section carries, so a truncated parse is detectable. |
| grand_total | number | The whole tendered sum: the sum of every section's total. |
| budget_hours | number | Total labour hours behind the labour portion, for rate-per-hour and productivity checks. |
| job_entity_id | integer | The project (job) entity this price prices, once the tender is won and the job exists. `entity_id` stays the opportunity; this names the job its cost is measured on. Absent until the link is made. |
| source_format | string | Which parser format produced the record, so a consumer can tell a Pronamics workbook from a future parser's output. |
| financial_period | string | The period the budget belongs to, so successive periods coexist instead of superseding one another. |
| labour_total_value | number | The Labour section's subtotal, kept for labour-only consumers. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://docs.demiton.io/registers/tendered_budget/v2.json",
"title": "tendered_budget contract v2",
"type": "object",
"required": [
"category",
"coverage",
"currency",
"entity_id",
"financial_period",
"grand_total",
"line_count",
"sections",
"source_format",
"total"
],
"properties": {
"total": {
"type": "number",
"description": "The section subtotal; `grand_total` must equal their sum.",
"x-demiton-requiredness": "required"
},
"lines": {
"type": "array",
"description": "The priced line detail: what was priced, how much, in what unit, at what rate, for what total, and the work-activity / cost-type coding where the workbook carries it.",
"x-demiton-requiredness": "optional",
"x-demiton-unit": "mixed (each line carries its own unit)"
},
"category": {
"type": "string",
"description": "The cost category a section total belongs to.",
"x-demiton-requiredness": "required",
"x-demiton-unit": "none"
},
"coverage": {
"type": "string",
"description": "`empty`)",
"x-demiton-requiredness": "required",
"x-demiton-unit": "`labour_only` \\"
},
"currency": {
"type": "currency",
"description": "the currency of every amount on this record (`total`, `grand_total`), an ISO 4217 alpha-3 code as the source states it. A record with no currency has no usable amount.",
"x-demiton-requiredness": "required"
},
"sections": {
"type": "array",
"description": "The cost-category breakdown (Labour, Plant, Subcontract, Travel, Materials, Overhead on a full parse), one entry per category: category label, section total, line count, and the nested line list.",
"x-demiton-requiredness": "required",
"x-demiton-unit": "AUD (per section)"
},
"entity_id": {
"type": "integer",
"description": "The entity the price belongs to. Always an `opportunity` for this shelf: `doc_entity_type='opportunity'` (`baseline_squash_02_seed.sql:274`), resolved by `resolve_anchor_entity` preferring opportunity at tender stage, and the writer skips the write entirely when resolution returns None.",
"x-demiton-requiredness": "required",
"x-demiton-unit": "none"
},
"line_count": {
"type": "integer",
"description": "How many nested lines the section carries, so a truncated parse is detectable.",
"x-demiton-requiredness": "required",
"x-demiton-unit": "count"
},
"grand_total": {
"type": "number",
"description": "The whole tendered sum: the sum of every section's total.",
"x-demiton-requiredness": "required"
},
"budget_hours": {
"type": "number",
"description": "Total labour hours behind the labour portion, for rate-per-hour and productivity checks.",
"x-demiton-requiredness": "optional",
"x-demiton-unit": "hours"
},
"job_entity_id": {
"type": "integer",
"description": "The project (job) entity this price prices, once the tender is won and the job exists. `entity_id` stays the opportunity; this names the job its cost is measured on. Absent until the link is made.",
"x-demiton-requiredness": "optional"
},
"source_format": {
"type": "string",
"description": "Which parser format produced the record, so a consumer can tell a Pronamics workbook from a future parser's output.",
"x-demiton-requiredness": "required",
"x-demiton-unit": "none"
},
"financial_period": {
"type": "string",
"description": "The period the budget belongs to, so successive periods coexist instead of superseding one another.",
"x-demiton-requiredness": "required",
"x-demiton-unit": "none",
"format": "date",
"x-demiton-type": "date"
},
"labour_total_value": {
"type": "number",
"description": "The Labour section's subtotal, kept for labour-only consumers.",
"x-demiton-requiredness": "optional"
}
},
"x-demiton-register-type": "tendered_budget",
"x-demiton-contract-version": "2.1.0",
"x-demiton-store": "tenant",
"x-demiton-axes": [
{
"axis": "financial_period",
"requirement": "optional",
"role": "context"
}
],
"x-demiton-measures": [],
"x-demiton-provenance": {
"standards": []
},
"description": "Tendered budget lines across all cost categories, from the winning estimate.",
"x-demiton-contract-url": "https://docs.demiton.io/registers/tendered_budget/",
"x-demiton-register-catalog": "https://docs.demiton.io/concepts/register-catalog"
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/demiton-io-tendered_budget-v2"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.