# TodoZen > TodoZen is a private daily workspace to capture tasks quickly, see what matters today, and reflect in one journal. TodoZen is a product of Aperca LLC and is currently a small pre-alpha service. Journals are private, sharing is explicit and revocable, there are no public record links, and users can export or delete their data. ## Product - [Product overview](https://todozen.apercallc.com/welcome.md): features, privacy model, supported clients and concise answers to common questions. - [Website](https://todozen.apercallc.com/welcome): the human-readable product page and account access. - [Privacy policy](https://todozen.apercallc.com/privacy): what is stored, shared, retained and deleted. - [Support](mailto:support@apercallc.com): email support@apercallc.com. ## Developer reference - [Full API reference](https://todozen.apercallc.com/llms-full.txt): every endpoint, parameter, example and error code in one Markdown file. - [OpenAPI document](https://todozen.apercallc.com/api/docs): OpenAPI 3.2, for tools that read it directly. - [Human-readable reference](https://todozen.apercallc.com/docs): the same content as a web page. API base URL: `https://todozen.apercallc.com/api/v1`. 79 endpoints across 15 groups. Authenticate with a revocable key in `Authorization: Bearer `. Times are ISO 8601 UTC; lists are cursor-paginated as `{ items, nextCursor }`; errors share one envelope and a stable `code`. ## Guides - [Quickstart](https://todozen.apercallc.com/docs#quickstart): Create a key, then make your first request. - [Authentication and scopes](https://todozen.apercallc.com/docs#authentication): Bearer API keys, explicit read/write authority, and hard limits. - [Calling from a browser](https://todozen.apercallc.com/docs#cross-origin): Cross-origin requests are allowed for API keys and refused for cookies. - [Conventions](https://todozen.apercallc.com/docs#conventions): Pagination, ordering, dates, rate limits — the rules every endpoint follows. - [The data model](https://todozen.apercallc.com/docs#data-model): Workspaces, tasks, goals, habits, journal entries, sharing and notifications. - [Connecting an MCP client](https://todozen.apercallc.com/docs#mcp): One endpoint that speaks the Model Context Protocol, over the same keys. - [Using this API with an AI assistant](https://todozen.apercallc.com/docs#ai): Point an assistant at llms.txt and let it drive the API. ## Endpoints - [Tasks](https://todozen.apercallc.com/docs#tasks): The four views, one task with its subtasks, and the state transitions. (14 endpoints) - [Goals](https://todozen.apercallc.com/docs#goals): Goals group tasks without owning them; progress is counted on every read. (6 endpoints) - [Journal](https://todozen.apercallc.com/docs#journal): One entry per day, the daily prompt, and the streak. (9 endpoints) - [Habits](https://todozen.apercallc.com/docs#habits): A habit is not a recurring task: it is never finished, and streaks are counted for the calling user from the check-offs themselves. (7 endpoints) - [Workspaces](https://todozen.apercallc.com/docs#workspaces): Membership is collaboration: a shared workspace is the container two people work in together, and a personal workspace is the one a journal lives in. Invitations are a signed, expiring token sent to an email, redeemed while signed in. (11 endpoints) - [Sharing](https://todozen.apercallc.com/docs#sharing): Explicit, revocable record grants addressed to a mailbox. The create response never reveals whether that address already has an account; a waiting grant is claimed when its recipient signs in. (4 endpoints) - [Notifications](https://todozen.apercallc.com/docs#notifications): What happened, for whom, and whether it has been read. A notification is written inside the transaction that caused it; delivering it is a separate outbox row per channel — in-app, email or web push — drained later, so a provider being down cannot fail an assignment. (4 endpoints) - [Insights](https://todozen.apercallc.com/docs#insights): The dashboard's numbers, counted from the rows on every read — there is no rollup table to fall out of step. (1 endpoint) - [Tags](https://todozen.apercallc.com/docs#tags): One vocabulary, shared by tasks and journal entries. (3 endpoints) - [Search](https://todozen.apercallc.com/docs#search): Across tasks, goals, habits and journal entries, ranked by relevance rather than recency. (1 endpoint) - [Calendar](https://todozen.apercallc.com/docs#calendar): The Calendar view reads a window of dated tasks and goals, and the private tasks-and-goals subscription URL is created, rotated or disabled here. (4 endpoints) - [Geocoding](https://todozen.apercallc.com/docs#geocode): Free-text place suggestions for a task's location field, proxied to Photon (an open-source geocoder). Off for an account with locationSuggestionsEnabled turned off — see ADR 0058. (1 endpoint) - [Export and import](https://todozen.apercallc.com/docs#transfer): The whole workspace out as one document, and additively back in. (2 endpoints) - [API keys](https://todozen.apercallc.com/docs#api-keys): Issuing and revoking keys. These routes require a signed-in session — a key cannot mint another. (3 endpoints) - [Account](https://todozen.apercallc.com/docs#account): Preferences, sample content, and deleting the account. (9 endpoints) ## Optional - [Terms of service](https://todozen.apercallc.com/terms): service status, acceptable use and current limitations. - [Sitemap](https://todozen.apercallc.com/sitemap.xml): every indexable human-readable page.