External displays
Manage assigned displays and inspect their diagnostics.
Source 0.1.0 Private source package
How the calls fit together
Read a selected display and its assignments before making a change. Device bootstrap and credential exchange are outside these examples.
JavaScript examples
Supply your configured client. Each call awaits a decoded result; errors pass to your caller. These identifiers and values are fictional. Use selected development records and review every change before running it. Opening this page sends no API requests.
See the complete TypeScript workflow · Explore the Node starter
externalDisplays.list
Lists external displays owned by an account.
const result = await client.externalDisplays.list(
"account 1"
);TypeScript parameters and return type
accountId· requiredRailDeckIdentifierAccount whose external displays should be listed.
Returns Promise<RailDeckExternalDisplayListResponse>.
Example evidence: Retained SDK transport fixture.
externalDisplays.get
Loads one external display.
const result = await client.externalDisplays.get(
"account 1",
"display 1"
);TypeScript parameters and return type
accountId· requiredRailDeckIdentifierAccount that owns the external display.
externalDisplayId· requiredRailDeckIdentifierExternal display to load.
Returns Promise<RailDeckExternalDisplay>.
Example evidence: Retained SDK transport fixture.
externalDisplays.getDiagnostics
Loads diagnostics for one external display.
const result = await client.externalDisplays.getDiagnostics(
"account 1",
"display 1"
);TypeScript parameters and return type
accountId· requiredRailDeckIdentifierAccount that owns the external display.
externalDisplayId· requiredRailDeckIdentifierExternal display to inspect.
Returns Promise<RailDeckExternalDisplayDiagnostics>.
Example evidence: Retained SDK transport fixture.
externalDisplays.update
Updates one external display.
const result = await client.externalDisplays.update(
"account 1",
"display 1",
{
"firmwareVersion": "0.1.1"
}
);TypeScript parameters and return type
accountId· requiredRailDeckIdentifierAccount that owns the external display.
externalDisplayId· requiredRailDeckIdentifierExternal display to update.
input· requiredUpdateRailDeckExternalDisplayInputPartial external display update.
Returns Promise<RailDeckExternalDisplay>.
Example evidence: Retained SDK transport fixture.
externalDisplays.revoke
Revokes one external display.
const result = await client.externalDisplays.revoke(
"account 1",
"display 1"
);TypeScript parameters and return type
accountId· requiredRailDeckIdentifierAccount that owns the external display.
externalDisplayId· requiredRailDeckIdentifierExternal display to revoke.
Returns Promise<RailDeckExternalDisplay>.
Example evidence: Retained SDK transport fixture.
externalDisplays.replaceAssignments
Replaces active assignments for one external display.
const result = await client.externalDisplays.replaceAssignments(
"account 1",
"display 1",
{
"assignments": [
{
"targetType": "event_qr_session",
"targetId": "qr 1",
"layoutId": "layout 1",
"eventId": "event 1",
"shareGroupId": null,
"presentationContext": "exhibition_information",
"position": 1
}
]
}
);TypeScript parameters and return type
accountId· requiredRailDeckIdentifierAccount that owns the external display.
externalDisplayId· requiredRailDeckIdentifierExternal display receiving assignments.
input· requiredReplaceRailDeckExternalDisplayAssignmentsInputReplacement assignment details.
Returns Promise<RailDeckExternalDisplayAssignmentListResponse>.
Example evidence: Retained SDK transport fixture.
Download all TypeScript method examples
JavaScript calls and TypeScript downloads are checked through the real SDK using local response fixtures. This verifies the calls and decoding for those fixtures.
The complete TypeScript workflow
Follow how the calls fit together, including the review and recovery steps. Supply your configured client and explicitly selected development records. Importing the download performs no requests; mutations are never retried automatically.
import type { RailDeckDirectIntegrationClient as Client } from '@raildeck/frontend-sdk/direct-integration';
/**
* Read a selected display and its current diagnostics.
* @param client - Configured client; the caller owns current authority.
* @param accountId - Authorised account for this workflow.
* @param deviceId - Explicitly selected paired device.
* @returns Display management evidence without a device credential or bootstrap exchange.
*/
export async function inspectAssignedDisplay(
client: Client,
accountId: string,
deviceId: string,
) {
const display = await client.externalDisplays.get(accountId, deviceId);
const diagnostics = await client.externalDisplays.getDiagnostics(accountId, deviceId);
return { display, diagnostics };
}
Download TypeScript example