Image
Dot. Manual
Image
Dot. Manual
Back to home

Dot.

Install Dot. AppDiagnostic Tool

Quote

Quote/0New
Pairing Quote/0How to TapShare with Family and FriendsHow to Charge
Content Mode
Loop ContentFixed Content
TimingNewApp Clip and Tap-to-InteractNew
Screen States and Troubleshooting
Update DeviceReset NetworkReset DeviceChangelogNew
Service and RepairCustomize Quote/0

Rand

Rand/0New
Getting StartedNew
FeaturesNew
Book of AnswersFortuneMBTI GuideWooden FishCoin FlipBluetooth RemoteNewPomodoroNewClockTimerNewDice RollNumber Under TenDisplay ModeNewNFC Cards
Wi-FiCustom WallpaperSettingsHow to Charge
Update DeviceReset DeviceChangelogNew
Service and RepairCustomize Rand/0

Read

Read PicoNew
Getting StartedNew
CrossMuxNewPico ReaderNewRickyOSNew
Demo SystemDIY Your System

Content & Services

Roadmap
Content Studio
Join Content StudioRSS
Shortcuts
Co CreateNew
SoftwareNew
Quote
Rand
ReadNew
HardwareNew
Quote
Rand
ReadNew
Open PlatformNew
What is an APIDot SkillNewGet API KeyGet Device Serial NumberGet Device ListGet Device StatusGet TimezonesNewDevice SettingsNewSwitch to Next ContentList Device ContentControl Text ContentNewControl Image ContentNewControl Canvas ContentNew

Explore More Possibilities

Request New ContentJoin Content StudioOur Repositories

Security

MSA-2025-08-001MSA-2025-09-001MSA-2025-09-002MSA-2025-10-001MSA-2025-10-002MSA-2025-10-003MSA-2026-04-001MSA-2026-10-001MSA-2026-10-002MSA-2026-10-003
Responsible Disclosure Policy

More

Service StatusService and RepairCustomize ProductsPrivacy PolicyUser AgreementContact UsAbout MindReset
Content & ServicesOpen PlatformNew
Image

Control Text Content

RSS

Deprecated legacy endpoint

Status: Deprecated. The legacy endpoint https://dot.mindreset.tech/api/open/text currently forwards requests to the new API. This compatibility behavior may be removed in a future release. No removal date is confirmed.

To keep your integration compatible:

  • Update the request URL to the new endpoint: /api/authV2/open/device/:deviceId/text
  • Send parameters according to this document (e.g. taskType / refreshNow / taskAlias / title / message / signature / icon / link / taskKey / styles)
  • If you rely on legacy response payloads or error codes, adapt your integration to the new API responses

Quick Guide

Prerequisites

  1. Make sure you have retrieved and saved your API key in the Dot. App;
  2. Make sure you own at least one device and have obtained its device serial number;
  3. Make sure your device is connected to power;
  4. Make sure your device is connected to the network;
  5. Make sure you've added the Text API content to the device loop or fixed list from the Content Studio in the Dot. App.

What Text API is for

Text API turns reminders, notes, signatures, and small icons into a readable device card. Use it for automation messages, lightweight notifications, daily excerpts, or any short text you want to see on the device.

Choose a content list and display timing

Choose the loop list or fixed list; the loop list is used by default. A task identifier targets an item only in the selected list. Without an identifier, the first Text API item in that list is updated.

Enable immediate display for loop content to request a screen update while the device is online. A sleeping device on battery retrieves saved content after automatic wake. Fixed content follows the times configured in Dot. App: even the item currently on screen waits for the next scheduled refresh. The API preserves its time settings. Read Timing for details.

About icon input

An icon is optional. Send PNG Base64 data or a full HTTP(S) image URL. PNG Base64 may be bare Base64 or include the data:image/png;base64, prefix; the decoded payload must be no larger than 1MB. A 40px×40px icon is recommended. Remote icon URLs must be anonymously accessible, require no authentication or special Referer, be no longer than 2048 characters, return a response body no larger than 3MB, and return image/* content directly.

Test icon URLs for debugging

The following URLs are currently anonymously accessible and return image content that can be used for the Text API icon field:

  • https://placehold.co/40x40/png
  • https://httpbin.org/image/png

If you want to verify your own icon URL first, run:

curl -I 'https://your-icon-url'

In most cases, you should confirm at least:

  • The HTTP status code is 200
  • The Content-Type is image/*, such as image/png or image/jpeg

The API rate limit is 10 requests per second. With the API, you can control device behavior and responses more flexibly.

Placeholders wrapped in ‘{{variable}}’ indicate values you must replace. Fill them with your actual values and remove the ‘{{}}’ braces.

Request Examples

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

Get your API key from Dot. App

Generated Code
1// Generating...

Update content in the fixed list

Query the fixed list, find the TEXT_API item in the response, and use its key as taskKey:

curl 'https://dot.mindreset.tech/api/authV2/open/device/{{deviceId}}/fixed/list' \
  -H 'Authorization: Bearer dot_app_{{apiKey}}'

Call the same write endpoint with taskType: "fixed" and that taskKey at the top level. This request only saves the content; refreshNow: true does not display or refresh fixed content early:

curl -X POST 'https://dot.mindreset.tech/api/authV2/open/device/{{deviceId}}/text' \
  -H 'Authorization: Bearer dot_app_{{apiKey}}' \
  -H 'Content-Type: application/json' \
  -d '{
  "taskType": "fixed",
  "taskKey": "{{taskKey}}",
  "refreshNow": true,
  "title": "Today",
  "message": "The meeting moved to 10:30."
}'

Response Example

This is an example response for immediate display of loop content.

{
	"message": "Device ABCD1234ABCD text API content switched."
}

Reference Usage

  1. Simple text without immediate display
curl -X POST \
	  https://dot.mindreset.tech/api/authV2/open/device/{{deviceId}}/text \
  -H 'Authorization: Bearer dot_app_UlSpzXNEXhYZIAFakHLCkMVVBLbsBIWxaRMVaJZGUOYKhDoDRZwLLvLujAIwQxbY' \
  -H 'Content-Type: application/json' \
  -d '{
    "refreshNow": false,
    "title": "evnydd0sf",
    "message": "我能吞下玻璃而不伤身体"
  }'
  1. Complex text and display immediately
curl -X POST \
	  https://dot.mindreset.tech/api/authV2/open/device/{{deviceId}}/text \
  -H 'Authorization: Bearer dot_app_UlSpzXNEXhYZIAFakHLCkMVVBLbsBIWxaRMVaJZGUOYKhDoDRZwLLvLujAIwQxbY' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "验证码小助手",
	"message": "一个来自「少数派」的验证码\n205112",
    "signature": "2025年8月4日 19:58",
    "styles": {
      "title": { "fontFamily": "ChillDuanSans", "fontSize": 30, "fontWeight": 700 },
      "message": { "fontFamily": "FusionPixel12", "fontSize": 22, "lineHeight": 1.25 },
      "signature": { "fontFamily": "ChillDuanSans", "fontSize": 16 }
    }
  }'
  1. Complex text with icon and link, display immediately
curl -X POST \
	  https://dot.mindreset.tech/api/authV2/open/device/{{deviceId}}/text \
  -H 'Authorization: Bearer dot_app_UlSpzXNEXhYZIAFakHLCkMVVBLbsBIWxaRMVaJZGUOYKhDoDRZwLLvLujAIwQxbY' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "每日健康",
    "message": "消耗卡路里:702千卡\n今日步数:4183步\n站立时间:62分钟",
    "signature": "2025年8月4日 20:16",
    "icon": "{{PNG Base64 icon data (max 1MB) or http(s) image URL}}",
    "link": "x-apple-health://"
  }'
  1. Highly customized text or graphics

Refer to the Image API section on text-as-image usage

Line Breaks and Tabs

Text API preserves line breaks and tabs in message.

  • Use \n for a new line and \t for a tab in the JSON request body.
  • If your JSON is embedded inside another string literal, such as shell, JavaScript, Python, templates, or tool configs, you often need to write \\n and \\t in the outer string so the final JSON still contains \n and \t.
  • If you want the device to literally display the characters \n or \t, make the final JSON payload contain \\n or \\t.
{ "message": "Line 1\n\tIndented line 2" }
{ "message": "Show literal \\n and \\t" }

Troubleshooting

Endpoint

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

Method

POST

Request Schema

Prop

Type

Choose the loop list or fixed list. If omitted, the loop list is used.

Default

loop

When enabled, requests immediate display of loop content; when disabled, only saves the content. Fixed content always waits for the next scheduled refresh, including the item currently on screen.

Default

true

Heading shown on the screen.
Main text, preserving line breaks and tabs.
Signature shown below the main text.
Optional icon shown at the bottom left. Accepts PNG Base64 with or without a data URI prefix (decoded size up to 1MB), or a public HTTP(S) image URL. Recommended size: 40px×40px. URLs may contain up to 2048 characters and must directly return an image of up to 3MB without authentication.
Destination opened when the device is tapped with NFC. Accepts HTTP(S) URLs or an app URL scheme.
Task identifier from the selected list. If omitted, updates the first Text API item in that list.
Name shown in the device task list, up to 100 characters. Omit to keep the current name; send an empty string to clear it. Does not change the displayed content.
Optional typography overrides. Heading and signature text support font, size, and weight; the main text also supports line spacing.

Supported Fonts

Use the exact fontFamily value in styles.*.fontFamily.

fontFamilyNotes
ChillDuanSansGeneral CJK sans
ChillKSansGeneral sans
ChillOrganicOrganic display style
ChillRoundFRounded display style
ChillRoundGothicBold rounded gothic
Cusong1616px pixel Song style
DotGothic1616px pixel gothic
FusionPixel88px pixel font
FusionPixel1010px pixel font
FusionPixel1212px pixel font
Liusong2424px pixel Song style
LogoSCUnboundedSansDisplay sans
MaokenYingBiKaiShuJ0.09Handwriting display style
PlayfairDisplayLatin serif display
Quan88px pixel font
Unifont1616px broad Unicode coverage
UnifontExMono1616px mono Unicode coverage
XiaoyaPixel1212px pixel style
ZihunzhoukesongCJK Song style
Zpix1212px CJK pixel font

Response Schema

The endpoint uses the HTTP status code to indicate the request result. The JSON response body only contains message.

Prop

Type

Human-readable result for a successful or failed request.

Status Codes

HTTP statusMeaningDescription
200SuccessText API content switched / Data updated but content not switched
400Invalid parametersInvalid content list type
Invalid icon format
403ForbiddenYou do not have permission to operate this device
404Not foundDevice not found or not registered
Matching API content is missing from the selected list, or the task identifier does not match a Text API item in that list
500Device response failureFailed to switch Text API content

Troubleshoot list selection and display timing

  • 400: use only loop or fixed for taskType.
  • 404: ensure the request uses the same taskType as the list query and a taskKey from a matching API item in that list. Omitting taskType selects the loop list.
  • Fixed content was saved but the screen did not change: check its time settings in Dot. App and wait for the next scheduled refresh. refreshNow: true does not immediately refresh fixed content.

Did this solve your problem?

Join our community

List Device Content

Retrieve the current content list of a device via API.

Control Image ContentNew

Next

Contents

Quick GuidePrerequisitesRequest ExamplesUpdate content in the fixed listResponse ExampleReference UsageLine Breaks and TabsTroubleshootingEndpointMethodRequest SchemaSupported FontsResponse SchemaStatus CodesTroubleshoot list selection and display timing