Dot. Developers

Create your own e-ink dashboard

Define. Design. Deploy.

Home Assistant Status Screen
GitHub Actions Build Board
Printable Enclosure Structure
GPIO Peripheral Prototype
View Open DocsView Open Repository
IFTTT
Shortcuts
Zapier
Home Assistant
API
GETPOST
HASS Alert
GitHub Streak
Uptime Check
Pi-hole Stats

Choose Your Path

Device Control, Content Rendering, and Hardware Creation.

Device Control

Read status, update settings, switch tasks, and bring Quote/0 into your automations.

View Path

Content Rendering

Send services, scripts, and workflow results to Quote/0.

View Path

Hardware Creation

Use enclosure, GPIO, and display resources to redesign form, peripherals, and firmware.

View Path

Device Control

List devices, read status, update settings, and switch content.

GET

Device List

/api/authV2/open/devices

Get Quote/0 devices, aliases, locations, models, and device serial numbers in your account.

GET

Device Status

/api/authV2/open/device/:deviceId/status

Read system version, current state, battery level, Wi-Fi signal, and latest screen information.

GET / POST

Device Settings

/api/authV2/open/device/:deviceId/settings

Read or update device alias, location, timezone, refresh interval, and sleep time.

GET

Content List

/api/authV2/open/device/:deviceId/:taskType/list

List cycling and pinned content, and get the taskKey used by content APIs.

POST

Switch Content

/api/authV2/open/device/:deviceId/next

Move the device to the next content item for remote triggers, testing, and custom schedules.

GET

Timezone List

/api/authV2/open/timezones

Get timezone keys, names, and UTC offsets available in device settings.

Define Your Screen Quickly

Text API and Image API are for sending one message or one visual to Quote/0 in a direct way.

POST

Text API

/api/authV2/open/device/:deviceId/text

Send a title, message, signature, icon, and typography for notifications, summaries, and automation prompts.

refreshNowtaskKeytaskAliastitlemessagesignatureiconlinkstyles

POST

Image API

/api/authV2/open/device/:deviceId/image

Send PNG Base64 or an anonymous image URL for posters, screenshots, dashboards, and finished visual drafts.

refreshNowtaskKeytaskAliasimagelinkborderditherTypeditherKernel

POST

Text API

A Quote/0 text card composed from title, message, signature, icon, and typography.

/api/authV2/open/device/:deviceId/text

Authenticate with Authorization: Bearer dot_app_... The request writes to the matching API content task in Dot. App Content Studio.

POST
/api/authV2/open/device/:deviceId/text

Get your API key from Dot. App

Generated Code
1// Generating...

Own The Whole Screen

Canvas API combines data and screen structure into information cards, dashboards, and small visual experiments.

Data-driven screen

content

Titles, states, metrics, lists, and time can update independently and render into the same device screen.

Custom layout

layout

Use simple elements and styles to arrange text, images, hierarchy, and whitespace into a complete screen.

Lists and empty states

$for / $empty

Tasks, events, rankings, and summaries can expand automatically and show a fallback screen when empty.

Conditions and formatting

$ifAny / format

The same screen can change expression by signature, date, quantity, or completion state.

Full-screen layout and links

layout / link / border

Control background, padding, tap links, and screen border behavior.

View Canvas API Docs
Canvas APIJSON
{  "data": {    "badge": "DOT OPENAPI",    "title": "Canvas API",    "line": "Web-style JSON. Dot Skill can draw it."  },  "windowData": {    "default": [      {        "type": "div",        "props": {          "tw": "flex flex-col flex-1 w-full h-full bg-black text-white rounded-[12px] p-[14px] gap-[8px] overflow-hidden box-border",          "style": {            "backgroundColor": "#000000"          },          "children": [            {              "type": "div",              "props": {                "tw": "flex flex-row items-center justify-between shrink-0 text-pixel-8",                "children": [                  {                    "type": "div",                    "props": {                      "tw": "bg-white text-black px-[6px] py-[2px] rounded-[5px]",                      "children": "{{get inputData \"badge\" default=\"DOT OPENAPI\"}}"                    }                  },                  {                    "type": "div",                    "props": {                      "children": "Jun 02, 2026 21:45"                    }                  }                ]              }            },            {              "type": "div",              "props": {                "tw": "flex flex-col flex-1 justify-center gap-[8px] max-w-[240px] min-h-0",                "children": [                  {                    "type": "div",                    "props": {                      "tw": "text-pixel-24 leading-none shrink-0",                      "style": {                        "lineHeight": 1                      },                      "children": "{{get inputData \"title\" default=\"Canvas API\"}}"                    }                  },                  {                    "type": "div",                    "props": {                      "tw": "text-pixel-12 shrink-0",                      "style": {                        "lineHeight": 1.15                      },                      "children": "{{get inputData \"line\" default=\"Web-style JSON. Dot Skill can draw it.\"}}"                    }                  }                ]              }            },            {              "type": "div",              "props": {                "tw": "w-[128px] h-[28px] shrink-0 flex flex-col justify-end gap-[4px]",                "children": [                  {                    "type": "div",                    "props": {                      "tw": "flex flex-row items-center justify-between text-pixel-8",                      "children": [                        {                          "type": "div",                          "props": {                            "tw": "w-[28px]",                            "children": "WRITE"                          }                        },                        {                          "type": "div",                          "props": {                            "tw": "w-[28px] text-center",                            "children": "SEND"                          }                        },                        {                          "type": "div",                          "props": {                            "tw": "w-[28px] text-right",                            "children": "DONE"                          }                        }                      ]                    }                  },                  {                    "type": "div",                    "props": {                      "tw": "flex flex-row items-center",                      "children": [                        {                          "type": "div",                          "props": {                            "tw": "w-[5px] h-[5px] rounded-full border border-white",                            "children": ""                          }                        },                        {                          "type": "div",                          "props": {                            "tw": "w-[52px] h-[1px] bg-white",                            "children": ""                          }                        },                        {                          "type": "div",                          "props": {                            "tw": "w-[5px] h-[5px] rounded-full border border-white",                            "children": ""                          }                        },                        {                          "type": "div",                          "props": {                            "tw": "w-[52px] h-[1px] bg-white",                            "children": ""                          }                        },                        {                          "type": "div",                          "props": {                            "tw": "w-[5px] h-[5px] rounded-full border border-white",                            "children": ""                          }                        }                      ]                    }                  }                ]              }            }          ]        }      }    ]  }}

POST

Canvas API

Compose business data into information cards, dashboards, and custom device screens.

/api/authV2/open/device/:deviceId/canvas

Authenticate with Authorization: Bearer dot_app_... The request writes to the matching API content task in Dot. App Content Studio.

POST
/api/authV2/open/device/:deviceId/canvas

Get your API key from Dot. App

Generated Code
1// Generating...

Bring Quote/0 Into Real Setups

Content projects include Home Assistant, self-hosted consoles, service status screens, and client libraries with reusable entries and implementation references.

View Content Projects

Home Assistant

Device status, weather, calendar, and system data enter Home Assistant workflows.

Dot Service

A self-hosted console for managing devices, text, and image content.

Server Status

Keep service health visible on an e-ink screen for home and desk monitoring.

quote0_client

A client wrapper for Open API capabilities across device status, text, and image content.

Hardware Creation

From appearance to firmware, Quote/0 becomes hardware you can redesign.

Create A Distinct Appearance

Use enclosure data to redesign color, material, and placement. Desktop stands, monitor mounts, and carry cases can all start from the same structure resource.

Get Structure Resources

Write Your Own Firmware

GPIO references and firmware resources let you build firmware on Quote/0 hardware and define your own ports and peripherals.

gpioGPIO
VBUS_DETECT  -> GPIO 0BATTERY_ADC  -> GPIO 1EPD_BUSY     -> GPIO 3EPD_RESET    -> GPIO 4EPD_DC       -> GPIO 5EPD_CS       -> GPIO 6EPD_MOSI     -> GPIO 7EPD_CLK      -> GPIO 10EPD_VIN      -> GPIO 20
View Firmware Resources

From Enclosure Structure To Placement

Hardware projects include desktop stands, monitor mounts, and carry cases across enclosure, installation, and portable use cases.

View Hardware ProjectsView Quote/0 Package

Desktop Stand

A desktop mounting structure for Quote/0.

Monitor Mount

A fixture for display and workbench edges.

Carry Case

A portable protection design built from enclosure data.

Ready? Choose Your Path

Device Control, Content Rendering, and Hardware Creation.

Device Control

Read status, update settings, switch tasks, and bring Quote/0 into your automations.

View Path

Content Rendering

Send services, scripts, and workflow results to Quote/0.

View Path

Hardware Creation

Use enclosure, GPIO, and display resources to redesign form, peripherals, and firmware.

View Path
Dot. Developers

DEFINESIGNPLOYFINE

All-new experience, fully upgraded: See Content Studio · Update App · Update Device
Image

Products

  • Quote/0
  • Rand/0

Content & Services

  • App
  • Content Studio
  • Community Creation
  • Request New Content
  • Join the Content Studio
  • Service Status

Tools

  • Device Tool
  • Image Convert

Developers

  • Developer Platform
  • Device Control
  • Text API
  • Image API
  • Canvas API
  • Hardware Resources

Help

  • Dot. Manual
  • User Agreement
  • Privacy Policy
  • About MindReset
Image

© 2026 - All rights reserved