Demiton · Schema
punch_list contract v1
Completion defects to close out before handover.
CompanyConstructionCivil EngineeringProject ManagementComplianceMCPArtificial IntelligenceOpen Contracting
Properties
| Name | Type | Description |
|---|---|---|
| name | string | the defect's short title |
| trade | string | the trade responsible for the fix |
| status | string | the item's lifecycle state |
| manager | string | who manages the item |
| project | string | the project the defect is on |
| assignee | string | who must fix it |
| category | string | the kind of defect |
| currency | currency | the currency of `cost_impact_amount`, an ISO 4217 alpha-3 code as the source states it. A record with no currency has no usable amount. |
| due_date | string | when the fix is due |
| location | string | where on site the defect is |
| priority | string | how urgent the fix is |
| closed_at | string | when the item was closed |
| closed_by | string | who closed it |
| cost_code | string | the cost code the fix is charged to |
| raised_by | string | who recorded the defect |
| description | string | what is wrong |
| external_id | string | the source system's own item id |
| final_approver | string | who signs the fix off |
| cost_impact_amount | number | the cost the defect adds |
| schedule_impact_days | integer | the programme slip the defect causes |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://docs.demiton.io/registers/punch_list/v1.json",
"title": "punch_list contract v1",
"type": "object",
"required": [
"external_id",
"name",
"project",
"status"
],
"properties": {
"name": {
"type": "string",
"description": "the defect's short title",
"x-demiton-requiredness": "required"
},
"trade": {
"type": "string",
"description": "the trade responsible for the fix",
"x-demiton-requiredness": "optional"
},
"status": {
"type": "string",
"description": "the item's lifecycle state",
"x-demiton-requiredness": "required"
},
"manager": {
"type": "string",
"description": "who manages the item",
"x-demiton-requiredness": "optional",
"x-demiton-reference": true
},
"project": {
"type": "string",
"description": "the project the defect is on",
"x-demiton-requiredness": "required",
"x-demiton-reference": true
},
"assignee": {
"type": "string",
"description": "who must fix it",
"x-demiton-requiredness": "optional",
"x-demiton-reference": true
},
"category": {
"type": "string",
"description": "the kind of defect",
"x-demiton-requiredness": "optional"
},
"currency": {
"type": "currency",
"description": "the currency of `cost_impact_amount`, an ISO 4217 alpha-3 code as the source states it. A record with no currency has no usable amount.",
"x-demiton-requiredness": "optional"
},
"due_date": {
"type": "string",
"description": "when the fix is due",
"x-demiton-requiredness": "optional",
"x-demiton-unit": "day",
"format": "date",
"x-demiton-type": "date"
},
"location": {
"type": "string",
"description": "where on site the defect is",
"x-demiton-requiredness": "optional"
},
"priority": {
"type": "string",
"description": "how urgent the fix is",
"x-demiton-requiredness": "optional"
},
"closed_at": {
"type": "string",
"description": "when the item was closed",
"x-demiton-requiredness": "optional",
"format": "date-time",
"x-demiton-type": "datetime"
},
"closed_by": {
"type": "string",
"description": "who closed it",
"x-demiton-requiredness": "optional",
"x-demiton-reference": true
},
"cost_code": {
"type": "string",
"description": "the cost code the fix is charged to",
"x-demiton-requiredness": "optional",
"x-demiton-reference": true
},
"raised_by": {
"type": "string",
"description": "who recorded the defect",
"x-demiton-requiredness": "optional",
"x-demiton-reference": true
},
"description": {
"type": "string",
"description": "what is wrong",
"x-demiton-requiredness": "optional"
},
"external_id": {
"type": "string",
"description": "the source system's own item id",
"x-demiton-requiredness": "required"
},
"final_approver": {
"type": "string",
"description": "who signs the fix off",
"x-demiton-requiredness": "optional",
"x-demiton-reference": true
},
"cost_impact_amount": {
"type": "number",
"description": "the cost the defect adds",
"x-demiton-requiredness": "optional",
"x-demiton-type": "money"
},
"schedule_impact_days": {
"type": "integer",
"description": "the programme slip the defect causes",
"x-demiton-requiredness": "optional",
"x-demiton-unit": "days"
}
},
"x-demiton-register-type": "punch_list",
"x-demiton-contract-version": "1.1.1",
"x-demiton-store": "tenant",
"x-demiton-axes": [
{
"axis": "project",
"requirement": "required",
"role": "subject"
}
],
"x-demiton-measures": [],
"x-demiton-provenance": {
"standards": [
{
"code": "AS/NZS ISO 9001:2016",
"title": "Quality management systems - Requirements",
"access": "paywalled_secondary",
"clause": "8.7, 10.2",
"region": "Australia",
"edition": "2016 (adopts ISO 9001:2015)",
"checked_on": "2026-09-14"
},
{
"code": "ISO 9001:2015",
"title": "Quality management systems - Requirements",
"access": "paywalled_secondary",
"clause": "8.7, 10.2",
"region": "International",
"edition": "2015 (ISO 9001:2026 successor expected; unverified)",
"checked_on": "2026-09-14"
}
]
},
"description": "Completion defects to close out before handover.",
"x-demiton-contract-url": "https://docs.demiton.io/registers/punch_list/",
"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-punch_list-v1"
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.