Demiton · Schema

plant_snapshot contract v1

The plant register at a project location at a point in time.

CompanyConstructionCivil EngineeringProject ManagementComplianceMCPArtificial IntelligenceOpen Contracting

Properties

Name Type Description
assets array The register rows behind the count. Must be a **structured attribute**, not a measure.
project string The project the register snapshot is taken at; the fact's subject anchor.
asset_count integer Number of plant assets at the project at snapshot time.
external_id string The fact's supersede key; today `plant:{job_no}`, i.e. one current snapshot per project.
occurred_at string The instant the snapshot was taken (the writer uses `date.today()`, `:623`).
legal_entity_id string Legal-entity context coordinate.
View JSON Schema on GitHub

JSON Schema

demiton-io-plant_snapshot-v1-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://docs.demiton.io/registers/plant_snapshot/v1.json",
  "title": "plant_snapshot contract v1",
  "type": "object",
  "required": [
    "asset_count",
    "assets",
    "external_id",
    "occurred_at",
    "project"
  ],
  "properties": {
    "assets": {
      "type": "array",
      "description": "The register rows behind the count. Must be a **structured attribute**, not a measure.",
      "x-demiton-requiredness": "required",
      "x-demiton-unit": "none",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Display name of the plant item.",
            "x-demiton-requiredness": "optional",
            "x-demiton-unit": "none"
          },
          "model": {
            "type": "string",
            "description": "Model of the plant item.",
            "x-demiton-requiredness": "optional",
            "x-demiton-unit": "none"
          },
          "status": {
            "type": "string",
            "description": "The asset's status in the source register (available / in use / etc.).",
            "x-demiton-requiredness": "optional",
            "x-demiton-unit": "none"
          },
          "scan_code": {
            "type": "string",
            "description": "Barcode / QR scan code, the value field crews scan.",
            "x-demiton-requiredness": "optional",
            "x-demiton-unit": "none"
          },
          "asset_type": {
            "type": "string",
            "description": "The plant class/category (excavator, EWP, crane, …).",
            "x-demiton-requiredness": "optional",
            "x-demiton-unit": "none"
          },
          "location_id": {
            "type": "string",
            "description": "The source location the asset sat at when the snapshot was taken (the Hilti `locationId` the fetch was filtered by).",
            "x-demiton-requiredness": "optional",
            "x-demiton-unit": "none"
          },
          "manufacturer": {
            "type": "string",
            "description": "Manufacturer / make.",
            "x-demiton-requiredness": "optional",
            "x-demiton-unit": "none"
          },
          "serial_number": {
            "type": "string",
            "description": "The manufacturer's serial number.",
            "x-demiton-requiredness": "optional",
            "x-demiton-unit": "none"
          },
          "source_asset_id": {
            "type": "string",
            "description": "The source system's own asset identifier (`Hilti` `id`, falling back to `externalId`) so a snapshot row can join the `equipment_list` register.",
            "x-demiton-requiredness": "optional",
            "x-demiton-unit": "none"
          },
          "responsible_employee_id": {
            "type": "string",
            "description": "The custody holder in the source register.",
            "x-demiton-requiredness": "optional",
            "x-demiton-unit": "none"
          }
        }
      }
    },
    "project": {
      "type": "string",
      "description": "The project the register snapshot is taken at; the fact's subject anchor.",
      "x-demiton-requiredness": "required",
      "x-demiton-unit": "none",
      "x-demiton-reference": true
    },
    "asset_count": {
      "type": "integer",
      "description": "Number of plant assets at the project at snapshot time.",
      "x-demiton-requiredness": "required",
      "x-demiton-unit": "dimensionless (count)"
    },
    "external_id": {
      "type": "string",
      "description": "The fact's supersede key; today `plant:{job_no}`, i.e. one current snapshot per project.",
      "x-demiton-requiredness": "required",
      "x-demiton-unit": "none"
    },
    "occurred_at": {
      "type": "string",
      "description": "The instant the snapshot was taken (the writer uses `date.today()`, `:623`).",
      "x-demiton-requiredness": "required",
      "x-demiton-unit": "none",
      "format": "date-time",
      "x-demiton-type": "datetime"
    },
    "legal_entity_id": {
      "type": "string",
      "description": "Legal-entity context coordinate.",
      "x-demiton-requiredness": "optional",
      "x-demiton-unit": "none",
      "x-demiton-reference": true
    }
  },
  "x-demiton-register-type": "plant_snapshot",
  "x-demiton-contract-version": "1.0.3",
  "x-demiton-store": "tenant",
  "x-demiton-axes": [
    {
      "axis": "legal_entity",
      "requirement": "optional",
      "role": "context"
    },
    {
      "axis": "project",
      "requirement": "required",
      "role": "subject"
    }
  ],
  "x-demiton-measures": [
    {
      "key": "asset_count",
      "accumulation": "instantaneous",
      "dtype": "integer",
      "unit": "dimensionless"
    }
  ],
  "x-demiton-provenance": {
    "standards": [
      {
        "code": "ISO 55001",
        "title": "Asset management - Asset management system - Requirements",
        "access": "paywalled_secondary",
        "clause": "7.6; 8.1",
        "region": "International",
        "edition": "2024 (AS ISO 55001:2024 identical AU adoption)",
        "checked_on": "2026-09-14"
      },
      {
        "code": "ISO/TS 55010",
        "title": "Asset management - Guidance on the alignment of financial and non-financial functions",
        "access": "paywalled_secondary",
        "clause": "Annex I",
        "region": "International",
        "edition": "2024 (2019 edition withdrawn 2025-04-09)",
        "checked_on": "2026-09-14"
      }
    ]
  },
  "description": "The plant register at a project location at a point in time.",
  "x-demiton-contract-url": "https://docs.demiton.io/registers/plant_snapshot/",
  "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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/demiton-io-plant_snapshot-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.