Demiton · Schema
item_master contract v1
The Item master register contract, version 1. JSON Schema (draft 2020-12); x-demiton-* keywords carry Demiton's own meaning and standard validators ignore them.
CompanyConstructionCivil EngineeringProject ManagementComplianceMCPArtificial IntelligenceOpen Contracting
Properties
| Name | Type | Description |
|---|---|---|
| active | boolean | false when the item is blocked or retired in the ERP |
| item_no | string | the item's number in the ERP; the same key as `purchase_line.item_reference` |
| on_hand | number | the quantity in stock, in `base_unit_of_measure` |
| currency | currency | the currency of every amount on this record (`standard_cost`, `book_cost`, `last_direct_cost`, `sell_price`), an ISO 4217 alpha-3 code. A record with no currency has no usable amount. |
| supplier | string | the usual supplier |
| book_cost | number | the unit cost the stock on hand is carried at |
| tax_basis | string | whether the amounts on this record include GST or VAT |
| sell_price | number | the unit price the contractor charges when it supplies the item |
| description | string | the item as the ERP describes it |
| standard_cost | number | the standard unit cost, when `costing_method` is `standard` |
| costing_method | string | how the ERP values the item's stock |
| index_series_key | string | the platform_rate series that ages this item's last purchase price |
| last_direct_cost | number | the unit cost of the item's most recent purchase, as the ERP records it |
| target_margin_pct | number | the margin on the sell price the contractor targets, 0 to 100. No default: absent means the target is not set. |
| last_direct_cost_on | string | the date of that purchase |
| base_unit_of_measure | string | the unit every quantity and price on this record is per |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://docs.demiton.io/registers/item_master/v1.json",
"title": "item_master contract v1",
"type": "object",
"required": [
"base_unit_of_measure",
"currency",
"item_no",
"sell_price"
],
"properties": {
"active": {
"type": "boolean",
"description": "false when the item is blocked or retired in the ERP",
"x-demiton-requiredness": "optional"
},
"item_no": {
"type": "string",
"description": "the item's number in the ERP; the same key as `purchase_line.item_reference`",
"x-demiton-requiredness": "required",
"x-demiton-reference": true
},
"on_hand": {
"type": "number",
"description": "the quantity in stock, in `base_unit_of_measure`",
"x-demiton-requiredness": "optional"
},
"currency": {
"type": "currency",
"description": "the currency of every amount on this record (`standard_cost`, `book_cost`, `last_direct_cost`, `sell_price`), an ISO 4217 alpha-3 code. A record with no currency has no usable amount.",
"x-demiton-requiredness": "required"
},
"supplier": {
"type": "string",
"description": "the usual supplier",
"x-demiton-requiredness": "optional",
"x-demiton-reference": true
},
"book_cost": {
"type": "number",
"description": "the unit cost the stock on hand is carried at",
"x-demiton-requiredness": "optional"
},
"tax_basis": {
"type": "string",
"description": "whether the amounts on this record include GST or VAT",
"enum": [
"excl_gst",
"incl_gst"
],
"x-demiton-requiredness": "optional"
},
"sell_price": {
"type": "number",
"description": "the unit price the contractor charges when it supplies the item",
"x-demiton-requiredness": "required"
},
"description": {
"type": "string",
"description": "the item as the ERP describes it",
"x-demiton-requiredness": "optional"
},
"standard_cost": {
"type": "number",
"description": "the standard unit cost, when `costing_method` is `standard`",
"x-demiton-requiredness": "optional"
},
"costing_method": {
"type": "string",
"description": "how the ERP values the item's stock",
"enum": [
"fifo",
"lifo",
"moving_average",
"standard",
"specific"
],
"x-demiton-requiredness": "optional"
},
"index_series_key": {
"type": "string",
"description": "the platform_rate series that ages this item's last purchase price",
"x-demiton-requiredness": "optional"
},
"last_direct_cost": {
"type": "number",
"description": "the unit cost of the item's most recent purchase, as the ERP records it",
"x-demiton-requiredness": "optional"
},
"target_margin_pct": {
"type": "number",
"description": "the margin on the sell price the contractor targets, 0 to 100. No default: absent means the target is not set.",
"x-demiton-requiredness": "optional",
"x-demiton-unit": "percent"
},
"last_direct_cost_on": {
"type": "string",
"description": "the date of that purchase",
"x-demiton-requiredness": "optional",
"format": "date",
"x-demiton-type": "date"
},
"base_unit_of_measure": {
"type": "string",
"description": "the unit every quantity and price on this record is per",
"x-demiton-requiredness": "required"
}
},
"x-demiton-register-type": "item_master",
"x-demiton-contract-version": "1.0.0",
"x-demiton-store": "tenant",
"x-demiton-axes": [],
"x-demiton-measures": [],
"x-demiton-provenance": {
"standards": []
},
"description": "The Item master register contract, version 1. JSON Schema (draft 2020-12); x-demiton-* keywords carry Demiton's own meaning and standard validators ignore them.",
"x-demiton-contract-url": "https://docs.demiton.io/registers/item_master/",
"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-item_master-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.