/v1/displays/{id}Read a display document
operation ID: get_v1_displays_by_id
Overview
Read a display document. Display operations store, validate, resolve, export, and navigate visualization documents used by operator interfaces.
When to use it
- Use it when an application needs to read a display document.
- Use it when a user interface needs to organize, save, validate, or resolve an operational display.
Quick example
Set the base URL and replace generated identifiers or credentials with values from your installation.
cURL
curl --request GET \
--url "$ORDINATE_URL/v1/displays/00000000-0000-4000-8000-000000000001" \
--header "Authorization: Bearer $ORDINATE_TOKEN"Expected output · 200
Display document
Example 200 output
{
"id": "00000000-0000-4000-8000-000000000001",
"folder_id": "00000000-0000-4000-8000-000000000001",
"name": "string",
"kind": "string",
"schema_version": "string",
"tx_id": 0,
"document": {
"kind": "display",
"meta": {
"layout": "structured",
"name": "string"
},
"ordinate_display": "string"
},
"lint": [
{
"widget_id": "string",
"code": "string",
"message": "string",
"severity": "note"
}
]
}The cURL request supplies the documented path and query values and asks OrdinateDB to read a display document. The documented 200 response is display document.
How it works
Display documents are versioned independently from their folders, while resolve and time routes prepare a document for a specific asset and viewing window.
Reference
- Required capability
- read
- Authorization scope
- handler-resolved target
Parameters
| Name | In | Required | Type and constraints |
|---|---|---|---|
id | path | yes | stringformat: uuid |
as_of_ns | query | no | integerUTC Unix timestamp in nanoseconds format: int64 |
Request body
This operation has no request body.
Responses
200Display document
application/json
documentDisplayDocumentrequiredDisplayDocumentThe frozen envelope (overview §1). Unknown-but-versioned fields survive in `x`.
kindDocKindrequiredDocKindstringvalues: display · playlist · session
layersarrayoptionalarray
Layeridstringrequirednamestringrequiredvisibleany JSONoptionalvisible: bool OR a binding object — kept as raw JSON (Spec 05 binding is W-later).
metaMetarequiredMetadescriptionstring | nulloptionalform_factorsarrayoptionalarray
stringlayoutLayoutrequiredLayoutstringvalues: structured · free
namestringrequiredtemplatestring | nulloptional
ordinate_displaystringrequiredschema semver "MAJOR.MINOR".
priority_orderarrayoptionalarray
stringscale_groupsarrayoptionalarray
ScaleGroupidstringrequiredmaxnumber | nulloptional- format: double
minnumber | nulloptional- format: double
modeScaleModerequiredScaleModestringvalues: template-range · autofit · explicit
xobjectoptional
timeall ofoptionalall of
option 1
DisplayTimeContextendstringrequirednavigatorNavigatorSettingsrequiredNavigatorSettingsvisiblebooleanrequired
startstringrequiredtimezoneDisplayTimezonerequiredDisplayTimezoneone of
option 1
modestringrequired
option 2
modestringrequiredtimezonestringrequired
widgetsarrayoptionalarray
Widgetbindingsall ofoptionalall of
option 1
WidgetBindingsany of
option 1
TrendBindingskindTrendBindingKindrequiredTrendBindingKindstringvalues: trend
tracesarrayrequiredarray
TrendTraceBindingattributeAttributeSelectorrequiredAttributeSelectorone of
option 1
kindstringrequirednamestringrequired
option 2
attribute_idstringrequired- format: uuid
kindstringrequired
option 3
kindstringrequirednamestringrequiredreasonstringrequired
continuityContinuityClassrequiredContinuityClassstringvalues: continuous · stepped · event
labelstringrequiredlimitsany JSONoptionalpenTrendPenrequiredTrendPenglyphPenGlyphrequiredPenGlyphstringvalues: circle · square · triangle · diamond
tokenstringrequired
quantity_kind_idstring | nulloptional- format: uuid
scale_groupstringrequiredunit_idstring | nulloptional- format: uuid
option 2
any JSONgridany JSONoptionalidstringrequiredlayerstring | nulloptionallinkany JSONoptionalmultistateany ofoptionalany of
option 1
Multistatebandsarrayrequiredarray
any JSON
option 2
nullrangeany ofoptionalSpec 04 §2.4 window object, verbatim (no parallel range grammar).
any of
option 1
Windowone of
option 1
endstringrequiredstartstringrequiredtypestringrequired
option 2
laststringrequiredtypestringrequired
option 3
The authored anchor is NEVER erased/rewritten (honesty-render LAW): `resolved` carries the RESULT of resolving it (or an explicit unresolved reason) ALONGSIDE the original `anchor`, never in place of it. Populated by `crate::resolve::resolve_document_windows`; `None` before resolution runs (the as-authored, pre-resolve state — e.g. straight off `transcode::from_yaml`).
anchorany JSONrequiredresolvedany ofoptionalany of
option 1
AnchorResolutionone of
option 1
endstringrequiredstartstringrequiredstatestringrequired
option 2
reasonstringrequiredstatestringrequired
option 2
nulltypestringrequired
option 2
nulltime_overrideany ofoptionalany of
option 1
TimeRangeExpressionendstringrequiredstartstringrequired
option 2
nulltypeWidgetKindrequiredWidgetKindstringThe FULL Spec 09 catalogue — schema-complete day-one. v1 renderers cover a subset; unrendered kinds render an honest placeholder tile (W3), never a schema break.
values: trend · bullet · sparkline · value-tile · table · state-indicator · episode-gantt · xy · dot-bubble · bar · box · strip · interval-summary · heatmap · treemap · multiline-text · picture · line · symbol
xobjectoptional
xobjectoptionalReserved extension bag — round-trip-preserved, never interpreted.
folder_idstringrequired- format: uuid
idstringrequired- format: uuid
kindstringrequiredlintarrayrequiredarray
codestringrequiredmessagestringrequiredseveritystringrequiredwidget_idany ofrequiredany of
option 1
stringoption 2
null
namestringrequiredschema_versionstringrequiredtx_idintegerrequired- format: int64
Example 200 output
{
"id": "00000000-0000-4000-8000-000000000001",
"folder_id": "00000000-0000-4000-8000-000000000001",
"name": "string",
"kind": "string",
"schema_version": "string",
"tx_id": 0,
"document": {
"kind": "display",
"meta": {
"layout": "structured",
"name": "string"
},
"ordinate_display": "string"
},
"lint": [
{
"widget_id": "string",
"code": "string",
"message": "string",
"severity": "note"
}
]
}401Authentication required
application/json
ErrorEnvelope
codestringrequiredcorrelation_idstringrequired- format: uuid
detailsobjectoptionalerrorstringrequired
Example 401 output
{
"error": "string",
"code": "account-sealed",
"correlation_id": "00000000-0000-4000-8000-000000000001"
}403read capability is not granted
application/json
ErrorEnvelope
codestringrequiredcorrelation_idstringrequired- format: uuid
detailsobjectoptionalerrorstringrequired
Example 403 output
{
"error": "string",
"code": "account-sealed",
"correlation_id": "00000000-0000-4000-8000-000000000001"
}404Display not found
application/json
ErrorEnvelope
codestringrequiredcorrelation_idstringrequired- format: uuid
detailsobjectoptionalerrorstringrequired
Example 404 output
{
"error": "string",
"code": "account-sealed",
"correlation_id": "00000000-0000-4000-8000-000000000001"
}503Model database is not configured or unavailable
application/json
ErrorEnvelope
codestringrequiredcorrelation_idstringrequired- format: uuid
detailsobjectoptionalerrorstringrequired
Example 503 output
{
"error": "string",
"code": "account-sealed",
"correlation_id": "00000000-0000-4000-8000-000000000001"
}Code examples
These examples are generated from the source contract. Replace the base URL, credentials, identifiers, and minimal generated values for your instance.
JavaScript
const ordinateUrl = "http://localhost:8080";
const token = "<bearer-token>";
const response = await fetch(`${ordinateUrl}/v1/displays/00000000-0000-4000-8000-000000000001`, {
method: "GET",
headers: {
Authorization: `Bearer ${token}`
}
});
if (!response.ok) {
throw new Error(`OrdinateDB returned ${response.status}: ${await response.text()}`);
}
const data = await response.json();
console.log(data);Related topics
- Wire conventions — Understand the prerequisite concepts and transport behavior for this operation.
- REST endpoint index — Find other operations in Displays.