Skip to main content
23 tools. Each one is also a REST route and a CLI command, from the same definition: the same input, the same output, the same errors.

get_current_session

Get the running session. Returns the session still running, or null when the timer is stopped.

Input

This tool takes no arguments.

Output

Example

get_day_plan

Read the day’s plan. Returns the saved plan for the day (3 to 5 tasks, one focus task, a note) and the state of the ADHD-mode rounds.

Input

Output

Example

get_journal

Read the journal window. The raw material of the journal: tasks completed, sessions worked, and the entries written. Nothing is bucketed by day: the caller’s timezone decides where a day starts, and only the caller knows it. since bounds the first two; sinceDay bounds the entries, which are already keyed by local day.

Input

Output

Example

list_due_habits

What is due on a day. The habits whose rule fires on that day, each with its completion for the day if any. Archived habits are never due.

Input

Output

Example

list_habit_completions

What was done, over a window. Every completion between two days inclusive, oldest first, archived habits included: the ledger the Logbook and the Stats read.

Input

Output

Example

list_habits

List your habits. Every habit, oldest first. Archived ones only when asked for.

Input

Output

Example

list_rounds

The rounds of a day. Returns every round already planned, engaged or closed for that day, in order. A day with nothing on it returns an empty list rather than inventing rounds: a round exists once something has been said about it.

Input

Output

Example

list_today_sessions

List the day’s sessions. Sessions started at or after since, newest first. since is the start of the day in the caller’s timezone, which only the caller knows: the server does not guess it. At most 100 are returned.

Input

Output

Example

suggest_day_plan

Propose a plan for the day. Computes a proposed plan from the prioritisation engine and splits the day into rounds. Writes nothing: it is a draft to put to the user, then commit with PUT /v2/plan. Each round gets at most 3 tasks, the heaviest first.

Input

Output

Example

archive_habit

Archive a habit. Takes it out of the list and out of what is due. Its completions stay, so what was done can still be counted. Archiving twice is a no-op.

Input

Output

Example

close_round

Close a round. Marks the round finished, stamping the moment. The first close wins: calling it again leaves the original timestamp alone, because when the work stopped is the fact worth keeping. A round that was never planned or engaged has nothing to close and answers 404.

Input

Output

Example

complete_habit

Complete a habit for a day. Records the occurrence, with what was done for a measured target. Doing it again for the same day updates the one record rather than adding a second. Refused on a day the habit is not due, and on an archived habit.

Input

Output

Example

create_habit

Create a habit. A name, the day it starts, a rule, and a target. The rule is the task’s repeat grammar without a mode: a habit is always phased on the day it starts.

Input

Output

Example

mark_round_engaged

Record that a round was actually worked. Engaged means a session was started or a planned task ticked during the round: the difference between a day that was planned and a day that happened. Idempotent, and it creates the round if nothing was planned for it: working an unplanned block still counts.

Input

Output

Example

plan_round

Fill an ADHD-mode round. Replaces a round’s mini-plan: 3 tasks maximum, the heaviest first. A task lives in one round only: it is removed from the day’s other rounds.

Input

Output

Example

plan_today

Save the day’s plan. Replaces the day’s plan. focusTaskId names THE priority: if it is not in taskIds, the first task is used instead. The note is a short encouragement shown at the top of Today.

Input

Output

Example

set_round_plan

Plan a round. Replaces the round’s mini-plan. At most 3 tasks: one substantial and two small is the shape it was built for; a longer list is not a plan. A task belongs to one round of the day. Planning it here removes it from any other round of the same day, so it cannot appear twice. An empty list clears the plan. The round itself is created if it does not exist yet. When movedTaskIds and both interval bounds are supplied, those tasks are also softly scheduled onto the target day without changing deadlines or completion state.

Input

Output

Example

share_session

Share a finished session to Activity, or take it back. Public shows the effort and the task’s title; anonymized shows the effort and only where the task lived; private, the default, shows nothing. Only a finished session of your own; a running one is refused.

Input

Output

Example

start_session

Start a session. Starts the timer. Any session still running is stopped first, so this is safe to call without checking the current state.

Input

Output

Example

stop_session

Stop the running session. Stops the timer and returns the session it closed. Returns null when nothing was running: stopping a stopped timer is not an error.

Input

This tool takes no arguments.

Output

Example

uncomplete_habit

Undo a day’s completion. Removes the occurrence’s record. Not found when there was none.

Input

Output

Example

update_habit

Update a habit. Any of the name, the start day, the rule or the target. History is untouched.

Input

Output

Example

upsert_journal_entry

Write the day’s mood and note. Creates the day’s entry or patches it. An omitted field is left alone; an explicit null mood clears the rating, which is how the app toggles a face off.

Input

Output

Example