After getting a device token with the register method,
persist it and create api instances using remarkable.
Outside of registration, all relevant methods are in
RemarkableApi, or it's interior
RawRemarkableApi (for lower level functions).
Example
A simple rename
import { register, remarkable } from"rmapi-js";
constcode = "..."// eight letter code from https://my.remarkable.com/device/browser/connect consttoken = awaitregister(code) // persist token constapi = awaitremarkable(token); // list all items (documents and collections) const [first, ...rest] = awaitapi.listItems(); // rename first item constentry = awaitapi.rename(first, "new name");
The cloud api is essentially a collection of entries. Each entry has an id,
which is a uuid4 and a hash, which indicates it's current state, and changes
as the item mutates, where the id is constant. Most mutable operations take
both, as an ItemRef: the id says which item, and the hash
says which state you meant to change, so a conflicting update fails rather
than overwriting. Each entry has a number of properties, but a key property
is the parent, which represents its parent in the file structure. This will
be another document id, or one of two special ids, "" (the empty string) for
the root directory, or "trash" for the trash.
Detailed information about the low-level storage an apis can be found in
RawRemarkableApi.
Additionally, this entire api was reverse engineered, so some things are only
[speculative], or entirely [unknown]. If something breaks, please
file an issue!
Create and interact with reMarkable cloud.
After getting a device token with the
registermethod, persist it and create api instances usingremarkable. Outside of registration, all relevant methods are inRemarkableApi, or it's interiorRawRemarkableApi(for lower level functions).Example
A simple rename
Example
A simple upload
Remarks
The cloud api is essentially a collection of entries. Each entry has an id, which is a uuid4 and a hash, which indicates it's current state, and changes as the item mutates, where the id is constant. Most mutable operations take both, as an
ItemRef: the id says which item, and the hash says which state you meant to change, so a conflicting update fails rather than overwriting. Each entry has a number of properties, but a key property is theparent, which represents its parent in the file structure. This will be another document id, or one of two special ids, "" (the empty string) for the root directory, or "trash" for the trash.Detailed information about the low-level storage an apis can be found in
RawRemarkableApi.Additionally, this entire api was reverse engineered, so some things are only
[speculative], or entirely[unknown]. If something breaks, please file an issue!