Skip to content
Demiton

Portal document

Documents downloaded from a client or tender portal, by project.

Part of Projects in the register catalog.

Register ID
portal_documentUse this name to ask for the register. The API calls it a shelf ID.
Each record is
An eventSomething that happened at a point in time.
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.

  • ISO 19650Information management using building information modellingInternational

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.

  • Oracle AconexPartial

Fields

13 fields: 8 required, 5 optional.

Required

Every record carries these fields.

external_idText

Identity of the fetched document: {portal}:{document_id}. Maps to Fact.source_id.

Example: vendorpanel:1bc13508218f4795a38bdf5c85dc01ec

occurred_atDate and timeISO 8601, with time zone

The download time, stamped at write; the event key of an episodic fact and the source FINANCIAL_PERIOD derives from.

Example: 2026-07-10T02:15:00Z

source_portalText

Which portal the document came from; defaults to the literal "portal" when the artifact omits it.

Example: vendorpanel

nameText

The file name as the portal listed it.

Example: ITT242-Tender-Specification.pdf

size_bytesWhole numberUnit: bytes

Size of the fetched bytes at download time.

Example: 4821302

sha256Text

Content fingerprint of the fetched bytes; the integrity claim about a file whose bytes are not kept.

Example: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7…

financial_periodDateYYYY-MM-DD

Declared FINANCIAL_PERIOD axis; resolved from occurred_at when the writer passes no coordinate.

Example: 2026-07-01

fact_classText

Provenance class: an agent's metadata capture of a downloaded file, not a value the source system reported.

Example: agent_document_fetch

Optional

Present when the source system records them.

opportunity_refText

The opportunity the fetch was for, from the agent goal; a reference, not a resolved entity.

Example: ITT242 Civil Construction - Caloundra Transport Corridor …

projectText

Declared PROJECT axis; populated only when the opportunity resolves to a project.

contentText

One generated sentence: "Portal document {name} fetched by estimating/portal_fetch (agent run {id})." The searchable prose half.

Example: Portal document ITT242-Tender-Specification.pdf fetched b…

source_systemText

Originating system stamp; the writer hard-codes "DEMITON" here.

Example: DEMITON

agent_run_idText

The AgentRun that performed the fetch; also the fact's citation.origin_uri (demiton://agent/portal_fetch/run/{id}).

Example: demiton://agent/portal_fetch/run/run-20260710-0031

Example record

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

portal_document.example.json
{
"agent_run_id": "demiton://agent/portal_fetch/run/run-20260710-0031",
"content": "Portal document ITT242-Tender-Specification.pdf fetched by estimating/portal_fetch (agent run run-20260710-0031).",
"external_id": "vendorpanel:1bc13508218f4795a38bdf5c85dc01ec",
"fact_class": "agent_document_fetch",
"financial_period": "2026-07-01",
"name": "ITT242-Tender-Specification.pdf",
"occurred_at": "2026-07-10T02:15:00Z",
"opportunity_ref": "ITT242 Civil Construction - Caloundra Transport Corridor Upgrade",
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85",
"size_bytes": 4821302,
"source_portal": "vendorpanel",
"source_system": "DEMITON"
}

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/portal_document/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