Account
Who's signed in, and how the app looks. The password, username and API tokens are managed only in the web UI.
Get the owner and token
GET/me
The owner and the token making the request.
A smoke test for a client and its token. token is null under session auth.
curl "$NIFTY_URL/api/v1/me" \
-H "Authorization: Bearer $NIFTY_TOKEN"
Response
200 OK Errors: 401 429
{
"data": {
"name": "Adam Cooke",
"username": "adam",
"has_password": true,
"time_zone": "London",
"time_zone_iana": "Europe/London",
"today": "2026-10-10",
"token": {
"id": 1,
"name": "Shortcuts on my phone",
"created_at": "2026-10-10T09:30:00Z",
"expires_at": "2026-10-10T09:30:00Z",
"last_used_at": "2026-10-10T09:30:00Z"
},
"csrf_token": "string"
}
}
Get the appearance
GET/appearance
The owner's accent colour and theme.
What the web UI looks like, so an app can match it. One resource; there's no collection.
curl "$NIFTY_URL/api/v1/appearance" \
-H "Authorization: Bearer $NIFTY_TOKEN"
Response
200 OK Errors: 401 429
{
"data": {
"accent": "iris",
"theme": "system",
"code_theme": "match",
"updated_at": "2026-10-10T09:30:00Z"
}
}
Change the appearance
PATCH/appearance
Also PUT /appearance, the same.
Change the accent colour or theme.
Only the fields sent change. The web UI picks the change up on its next page.
curl -X PATCH "$NIFTY_URL/api/v1/appearance" \
-H "Authorization: Bearer $NIFTY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"appearance":{"accent":"jade","theme":"dark"}}'
Request body
| Name | Description |
|---|---|
appearanceobject | |
appearance.accentAccent · optional | The accent colour. Iris is the default. |
appearance.themeTheme · optional | system follows the device's light or dark setting. The default. |
appearance.code_themeCodeTheme · optional | Code blocks in notes: match follows the theme (the default); light or dark keeps them in that scheme. |
Response
200 OK Errors: 400 401 403 415 422 429
{
"data": {
"accent": "iris",
"theme": "system",
"code_theme": "match",
"updated_at": "2026-10-10T09:30:00Z"
}
}