Skip to content
Demiton

Entity attribute

One key/value attribute on a project, worker, asset or other entity, such as a project's stage.

Part of Counterparties in the register catalog.

Register ID
entity_attributeUse this name to ask for the register. The API calls it a shelf ID.
Each record is
A stateThe current value of something, replaced when it changes.
Status
DeclaredDefined, and fills when a source produces its first record.
Data
OrganisationPrivate to each organisation's own workspace.
Version
v1Current version.

Standards

This register holds records these standards and laws ask for. Holding them does not by itself certify compliance.

  • OC4IDSOpen Contracting for Infrastructure Data StandardInternational

Connectors

Connected today

Demiton keeps this register current from these systems now.

No system fills this register yet.

On the roadmap

Systems in the planned connector rollout that can fill this register. Partial means the system holds only some of its fields.

None planned yet.

Fields

12 fields: 7 required, 5 optional.

Required

Every record carries these fields.

subject_entity_idWhole number

The project, worker, asset or opportunity the attribute is about; the shared subject of the row.

Example: 5503

shelf_typeText

The pattern instance entity_attribute:{key}; today the only carrier of the attribute identity and of the per-key supersede bucket.

Example: worker

attribute_keyText

The canonical attribute this row asserts — stage, employment_status, outcome, value, closed_date, project_manager observed; 19 keys declared in all.

Example: high_risk_licence_class

valueTextUnit: per the key (none today carries a unit)

The resolved canonical value: the OC4IDS phase, employment state, opportunity outcome, and so on.

Example: LF - Forklift

source_systemText

The origin that asserted the value; always DEMITON today, because Demiton resolved it.

Example: ASSIGNAR

source_idText

The idempotency key the writer mints (attr:{key}:{entity_id})

Example: form-9931

asserted_atDate and timeISO 8601, with time zone

When the value was last asserted by the resolver (valid_from, defaulting to write time)

Example: 2026-06-18T09:00:00+10:00

Optional

Present when the source system records them.

evidenceGroup of fields

The raw resolver signals reconciled to produce the value, kept for auditability.

confidenceNumberUnit: ratio

The resolver's confidence in the value; 1.0 on both resolvers today.

Example: 0.95

valid_untilDate and timeISO 8601, with time zone

The supersession stamp; the live row is valid_until IS NULL, and superseded values are retained as an audit trail.

financial_periodText

The financial period the assertion is scoped to when the producer knows it.

Example record

A sample from Bridgeworks Group, Demiton's demonstration company. The values are illustrative; the shape is exactly what the contract describes.

entity_attribute.example.json
{
"asserted_at": "2026-06-18T09:00:00+10:00",
"attribute_key": "high_risk_licence_class",
"confidence": 0.95,
"shelf_type": "worker",
"source_id": "form-9931",
"source_system": "ASSIGNAR",
"subject_entity_id": 5503,
"value": "LF - Forklift"
}

Use this contract

The contract is a standard JSON Schema (draft 2020-12) document, so any JSON Schema validator can check a record against it. Keywords starting with x-demiton- add Demiton's own meaning, such as units and requiredness, and validators ignore them.

Schema URL
https://docs.demiton.io/registers/entity_attribute/v1.json
Show the full JSON Schema

Loading the schema…

Talk to the team

Tell us what you run - your ERP, field, payroll and document systems - and we will show you the registers Demiton would keep current from them, on your data, in a 30-minute call.

Book a 30-minute callStart free