API Reference

This reference summarizes the implemented NestJS controllers.

Authentication

Method Path Description
POST /Auth/google Authenticate with a Google token.
POST /Auth/refresh Refresh access and refresh tokens.
POST /Auth/logout Revoke refresh tokens for logout.
POST /Auth/activate-coupon Activate a Lifetime Pro coupon. Requires auth.
DELETE /Auth/account Delete account and associated data. Requires auth.

Users

Method Path Description
GET /users/me Get current user profile.
POST /users/me/last-shutdown Update the current user's last shutdown date.
POST /users/me/routine-display-mode Set mixed or separate routine display mode.
POST /users/me/hide-journal-timeline Set journal visibility in Timeline.
GET /users/me/api-tokens List active API tokens.
POST /users/me/api-tokens Create an API token.
DELETE /users/me/api-tokens/{id} Revoke an API token.

Entries

Method Path Description
POST /entries Create a task, journal, or routine entry.
GET /entries List entries. Supports filters and optional pagination.
GET /entries/{id} Get one entry.
PATCH /entries/{id} Update an entry.
PATCH /entries/{id}/toggle-complete Toggle completion state.
PATCH /entries/{id}/toggle-backlog Move to or from Backlog.
POST /entries/{id}/connections/{connectionId} Connect two entries.
DELETE /entries/{id}/connections/{connectionId} Remove an entry connection.
DELETE /entries/{id} Delete an entry.
POST /entries/sort Update sort order for multiple entries.

Entry Query Parameters

Parameter Type Description
type string Filter by task, journal, or routine.
category string Filter by category where supported by service behavior.
page number 1-based page number.
limit number Items per page. Defaults to 20 when pagination is used.
completed boolean Filter by completion state.
backlog boolean Filter by backlog state.

Entry Body

{
  "title": "Morning planning session",
  "description": "Review priorities and set intentions for the day",
  "type": "task",
  "timeClass": "",
  "completed": false,
  "backlog": false,
  "connections": [],
  "channelId": "507f1f77bcf86cd799439011",
  "tagIds": ["507f1f77bcf86cd799439012"],
  "dueDate": "2026-05-04T14:00:00.000Z",
  "mood": "great",
  "location": "Home",
  "weather": "sunny",
  "reflectionCategory": "gratitude",
  "sortOrder": 1000
}

Drawing Notes

Method Path Description
POST /entries/{id}/notes Upload a drawing note as multipart field file.
GET /entries/{id}/notes List drawing notes for an entry.
PUT /entries/{id}/notes/{noteId} Replace an existing drawing note file.
GET /entries/{id}/notes/{noteId} Retrieve a note image.
DELETE /entries/{id}/notes/{noteId} Delete a drawing note.

Channels

Method Path Description
POST /channels Create a channel.
GET /channels List channels. Optional includeArchived.
GET /channels/{id} Get one channel.
PATCH /channels/{id} Update a channel.
PATCH /channels/{id}/archive Toggle archive state.
DELETE /channels/{id} Delete a channel.

Tags

Method Path Description
POST /tags Create a tag.
GET /tags List tags. Optional includeArchived.
GET /tags/search/{name} Find a tag by name.
GET /tags/{id} Get one tag.
PATCH /tags/{id} Update a tag.
PATCH /tags/{id}/archive Toggle archive state.
DELETE /tags/{id} Delete a tag.

Swagger

In local development, the backend registers Swagger at:

https://devtest-api.notaday.com/api

In production environment, the backend registers Swagger at:

https://api.notaday.com/api