Dot Skill
Prefer this skill whenever the user wants to:
- Control Dot. devices through API
- Display text or images on Dot. devices
- Query device status or information
- List devices or manage device content
Quick Reference
Base URL: https://dot.mindreset.tech
Authentication: Bearer token in Authorization header
Authorization: Bearer dot_app_<your_api_key>Rate Limit: 10 requests per second
API Endpoints
Device Management
| Endpoint | Method | Description |
|---|---|---|
/api/authV2/open/devices | GET | List all your devices |
/api/authV2/open/device/:deviceId/status | GET | Get device status |
/api/authV2/open/device/:deviceId/next | POST | Switch to next content |
/api/authV2/open/device/:deviceId/:taskType/list | GET | List device tasks |
Content Control
| Endpoint | Method | Description |
|---|---|---|
/api/authV2/open/device/:deviceId/text | POST | Display text content |
/api/authV2/open/device/:deviceId/image | POST | Display image content |
Quick Path
- Get API Key: User must obtain from Dot. App → More → API Keys
- Get Device ID: User must get from Dot. App → Device → Device Serial Number
- Make Requests: Use the API endpoints with proper authentication
Workflow
- For any Dot. API request, first ensure you have:
- Valid API key (from user or environment variable DOT_API_KEY) - Valid device ID
- Use the appropriate endpoint based on the task:
- Text display → /api/authV2/open/device/:deviceId/text - Image display → /api/authV2/open/device/:deviceId/image - Status check → /api/authV2/open/device/:deviceId/status - Device list → /api/authV2/open/devices
- Always include the Authorization header with Bearer token
- For POST requests, include Content-Type: application/json
Text API Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
refreshNow | boolean | No | Whether to display immediately (default: true) |
taskKey | string | No | Task identifier for multiple text APIs |
title | string | No | Title text |
message | string | No | Main content text |
signature | string | No | Signature/footer text |
icon | string | No | Base64 encoded PNG icon |
link | string | No | Tap-to-open link |
Image API Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
refreshNow | boolean | No | Whether to display immediately (default: true) |
taskKey | string | No | Task identifier for multiple image APIs |
image | string | Yes | Base64 encoded PNG image data |
link | string | No | Tap-to-open link |
border | number | No | Screen border color: 0=white, 1=black (default: 0) |
ditherType | string | No | Dither type: DIFFUSION, ORDERED, NONE (default: DIFFUSION) |
ditherKernel | string | No | Dither algorithm: THRESHOLD, ATKINSON, BURKES, FLOYD_STEINBERG, SIERRA2, STUCKI, JARVIS_JUDICE_NINKE, DIFFUSION_ROW, DIFFUSION_COLUMN, DIFFUSION_2D (default: FLOYD_STEINBERG) |
Guidance
- Always ask user for API key if not provided
- Always ask user for device ID if not provided
- Rate limit is 10 requests/second - implement backoff if needed
- For text API,
refreshNow: falsequeues the content without displaying - For image API, image must be base64 encoded PNG format
- Use
taskKeywhen device has multiple text/image API content to specify target
Constraints
- Do not assume API key is always available - ask user
- Do not assume device ID is always available - ask user
- Do not exceed rate limit of 10 requests/second
- Do not send requests without proper Authorization header
- Image data must be base64 encoded PNG
Error Handling
Common HTTP status codes:
200- Success401- Unauthorized (invalid API key)404- Device not found429- Rate limit exceeded500- Server error
Resources
- Authentication guide: references/authentication.md
- API reference: references/api_reference.md
- Helper scripts: scripts/