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 modelling
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 toFact.source_id.Example:
vendorpanel:1bc13508218f4795a38bdf5c85dc01ec- occurred_atDate and time
The download time, stamped at write; the event key of an episodic fact and the source
FINANCIAL_PERIODderives 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 number
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_periodDate
Declared
FINANCIAL_PERIODaxis; resolved fromoccurred_atwhen 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
PROJECTaxis; 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
AgentRunthat performed the fetch; also the fact'scitation.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.
{ "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.
https://docs.demiton.io/registers/portal_document/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.