Skip to main content

Dashboard API Reference

The Dashboard API provides an interface for displaying real-time information and status updates directly on the user’s MentraOS glasses. It allows your app to send content to the dashboard.

Import

Overview

Every AppSession exposes a dashboard property that provides access to the Dashboard API: The SDK automatically converts your method calls into WebSocket messages that the MentraOS cloud routes to the user’s glasses. You never have to construct layouts manually—simply provide text content and the SDK renders it in the main dashboard.

Enum: DashboardMode

The DashboardMode enum defines the different display modes available on the MentraOS dashboard.
Values:
  • MAIN: The default dashboard mode that appears as a small overlay
Use these values whenever a method accepts a mode parameter or when checking the current dashboard state.

Class: DashboardContentAPI

The DashboardContentAPI class provides methods for sending content to the dashboard. It is automatically instantiated by the AppSession and available at session.dashboard.content.

Constructor

The DashboardContentAPI is automatically instantiated by the AppSession. You should not create instances directly.

Methods

write

Send content to the dashboard.
Parameters:
  • content: The text content to display on the dashboard
Returns: void Example:

writeToMain

Convenience method for sending content specifically to the main dashboard mode.
Parameters:
  • content: The text content to display in main mode
Returns: void Example:

Interface: DashboardAPI

The main dashboard interface that contains all dashboard-related functionality.
Every AppSession constructs this object and assigns it to session.dashboard. Currently, it only contains the content API, but future versions may include additional dashboard capabilities.

Content Guidelines

Character Limits

To ensure optimal display:
  • Keep content under 60 characters to avoid truncation

Content Replacement

The dashboard keeps only the latest message per app. Writing a new message automatically replaces your previous one.

Message Types (Advanced)

The SDK handles these WebSocket messages automatically, but they are documented here for completeness: These correspond to TypeScript interfaces in @mentra/sdk/src/types/dashboard.

Frequently Asked Questions

Can I send layouts or images?

Not yet. The current release supports plain text only. Rich layouts, images, and interactive elements are planned for future releases.

What happens if I write multiple times in a row?

The dashboard keeps only the latest message per app per mode. Each new message replaces the previous one for that specific mode.

Is there a character limit?

Yes, to ensure optimal display:
  • 60 characters maximum
Content exceeding this limit may be truncated. This limit is subject to change in future releases.