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 Standard
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_managerobserved; 19 keys declared in all.Example:
high_risk_licence_class- valueText
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
DEMITONtoday, because Demiton resolved it.Example:
ASSIGNAR- source_idText
The idempotency key the writer mints (
attr:{key}:{entity_id})Example:
form-9931- asserted_atDate and time
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.
- confidenceNumber
The resolver's confidence in the value; 1.0 on both resolvers today.
Example:
0.95- valid_untilDate and time
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.
- legal_entityWhole number
The legal entity 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.
{ "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.
https://docs.demiton.io/registers/entity_attribute/v1.jsonShow 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.