Skip to main content

Rail Deck is being prepared for an invitation-only Alpha. Check current availability

Developer documentation

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 · required
RailDeckIdentifier

Account 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 · required
RailDeckIdentifier

Account that owns the external display.

externalDisplayId · required
RailDeckIdentifier

External 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 · required
RailDeckIdentifier

Account that owns the external display.

externalDisplayId · required
RailDeckIdentifier

External 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 · required
RailDeckIdentifier

Account that owns the external display.

externalDisplayId · required
RailDeckIdentifier

External display to update.

input · required
UpdateRailDeckExternalDisplayInput

Partial 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 · required
RailDeckIdentifier

Account that owns the external display.

externalDisplayId · required
RailDeckIdentifier

External 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 · required
RailDeckIdentifier

Account that owns the external display.

externalDisplayId · required
RailDeckIdentifier

External display receiving assignments.

input · required
ReplaceRailDeckExternalDisplayAssignmentsInput

Replacement 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.

Handle errors and uncertain outcomes

Choose another feature

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

Information reviewed .