Marvin Help

Desktop Local API Server

Marvin has a public API which lets you create tasks, get basic info about your account, start time tracking and more. Docs are here.

But most of this isn't helpful if you have cloud sync disabled! To that end, the Marvin desktop app is bundled with an optional local API server which serves a subset of the public API. This will let you create tasks, get basic info about your account, etc. by querying a server running within the desktop app.

How to enable and configure?

You can enable the local API server by opening the API strategy settings in the desktop app. Remember: if you have cloud sync disabled, you should be using the desktop app with automatic backups enabled (in order to avoid data loss)!

Click the checkbox to enable the API server, and optionally change the port and host where the server should listen. Then click out of the dialog, and within one minute the local API server will be started.

How to use?

The server listens on http://localhost:12082 unless you changed the port or host above. Send requests to it with the same paths, headers and API token as the public API. See Marvin API endpoints for how each endpoint works.

The local API server supports these endpoints:

  • /api/test

  • /api/addTask and /api/addProject

  • /api/doc?id=... (reading an item only)

  • /api/list?filter=... returns open tasks and projects that match the filter. Add &done=true to get completed ones instead.

  • /api/todayItems and /api/dueItems

  • /api/categories, /api/children and /api/labels

  • /api/trackedItem

  • /api/me and /api/kudos

It does not support updating, completing or deleting items (/api/doc/update, /api/markDone, /api/doc/delete), time tracking or reward points. Use the public API for those.

The API rate limits don't apply to the local API server, since it runs on your own computer.

You might also consider using the Marvin CLI (command-line interface) to simplify use of both the Public API and the Desktop Local API.