Data Model

This page documents the main fields third-party developers should understand.

Entry

Field Type Notes
id string Public response ID derived from MongoDB _id.
userId string Owner. Set by authentication, not by clients.
title string Required.
description string Optional. Journal entries may store Editor.js JSON as a string.
type enum task, journal, or routine.
timeClass enum Empty string, due, or completed.
completed boolean Completion state.
backlog boolean Whether the entry lives in Backlog.
connections string[] Related entry IDs.
channelId string Optional channel ID.
tagIds string[] Optional tag IDs.
dueDate ISO date string Optional.
mood enum Journal or reflection mood value.
location string Optional context.
weather enum Optional weather context.
reflectionCategory enum Optional journal prompt category.
completionCount number Routine completion count.
sortOrder number Manual ordering value.

API Token

Field Type Notes
id string Token record ID.
userId string Owner.
name string Human-readable label.
tokenHash string SHA-256 hash stored server-side. Never returned.
tokenPrefix string Used for masked display.
tokenLastFour string Used for masked display.
lastUsedAt ISO date string Updated after successful API-token authentication.
revokedAt ISO date string Present when revoked.

Channel

Channels organize entries as projects or areas. Entries reference channels by channelId.

Tag

Tags organize entries as labels. Entries reference tags by tagIds.

Drawing Note

Drawing notes are uploaded image files associated with entries. Use multipart form-data with field name file.