GET
/get/<path>
Reads a value or an entire folder — nested folders and all. Point it at any level and get everything underneath it back in one response, exactly as it's structured in the database.
Response · 200
{
"status": "success",
"path": "users/henry",
"data": {
"username": "henry",
"password": "henry2018floyd"
}
}
Works at any depth — /get/users would return every user, each with their own nested fields.
SET
/set/<path>/<key>?value=<value>
Creates or updates a single field, and creates any missing parent folders automatically. Values are always stored and returned as strings, so what you send is exactly what you get back — no silent number conversion to worry about.
Request — set a username
/set/users/henry/username?value=henry
Response · 200
{
"status": "success",
"message": "Data saved successfully at /users/henry/username",
"path": "users/henry/username",
"value": "henry"
}
Request — set a password
/set/users/henry/password?value=henry2018floyd
Response · 200
{
"status": "success",
"message": "Data saved successfully at /users/henry/password",
"path": "users/henry/password",
"value": "henry2018floyd"
}
The last segment before ?value= is the field name, so /set/users/henry/username?value=henry and /set/users/henry/password?value=henry2018floyd build up the nested record shown in the GET example above.
You can also skip ?value= entirely and put the value directly in the path — /set/users/henry/username/henry works identically. Switch to the ?value= form only when the value itself contains a slash (a URL, a date like 2024/01/15), since a plain path can't tell that slash apart from a new folder.