Pearl REST API check storage status and eject media
Storage endpoints report how much space a Pearl device has left, what media is installed, and whether files are being transferred to it.
Applies to: Pearl-2, Pearl Mini, Pearl Nexus, Pearl Nano.
| Method and path | What it does |
|---|---|
GET /system/storages |
Lists the storage IDs on the device |
GET /system/storages/{stid}/status |
Reports state, capacity, and free space |
GET /system/storages/{stid}/transfer/status |
Reports file transfer progress |
POST /system/storages/{stid}/control/eject |
Safely ejects removable storage |
Storage IDs are main, external, and maintenance.
Storage states are ready, nodev (no device present), dev (device found but not mounted), devro (write-protected), and formatting. When the state is ready, the response also reports media_type โ hd for a SATA or NVMe drive, sdcard for an SD/MMC card, or usb for a USB drive โ plus total and free in bytes.
{
"status": "ok",
"result": { "state": "ready", "media_type": "sdcard", "total": 15809413120, "free": 11821019136 }
}
Ejecting. The main storage does not support eject, and calling the endpoint against it returns HTTP 405 with the message Storage 'main' does not support eject. Use eject on removable storage before physically removing it.
Transfer status. Transfer states are completed, disabled, nomedia, and running. A session block reports started and completed timestamps and total and processed counts and byte sizes, alongside current_time. Pass storage=true to include the storage status in the same response.
Transfer progress is not shown when the storage is used together with Automatic File Upload. The main storage does not support transfer, and calling that endpoint against it returns HTTP 405 with the message Storage 'main' does not support transfer.
An unknown storage ID returns 404 with a message such as Storage 'wrongname' not found.