NAV Navbar
shell

Introduction

Welcome! This is the official documentation for todoZero. A reference to the functionality our public API with detailed description of each API endpoint, parameters, and examples.

Zapier

You can seamlessly integrate todoZero with 1000s of apps with Zapier.
Integrate with Zapier

Authentication

# With shell, you can just pass the correct header with each request
```shell
curl "https://app.todozero.com/api/v1/todo"
  -H "Authorization: YOUR_API_KEY"

Make sure to replace YOUR_API_KEY with your API key.

todoZero requires an API key to allow access to the API. You can find your API key in the Settings section of todoZero.

todoZero expects for the API key to be included in all API requests to the server in a header that looks like the following:

Authorization: YOUR_API_KEY

Todos

Create a to-do

curl -X POST -H "Authorization: 657b68c5-e218-45ec-904e-a33172437a63" -H "Content-Type: application/json"  -d '{
    "description":"test todo from API"
}' "https://app.todozero.com/api/v1/todo"

The above command returns JSON structured like this:


  {
  "description": "test todo from API",
  "owner_uid": "LNvc8JiDRsYPers9283434glT2LdfdfrYsr43",
  "created": "2018-07-22T01:23:48.821Z",
  "modified_uid": "LNvc8JiDRsYPers9283434glT2LdfdfrYsr43",
  "modified": "2018-07-22T01:23:48.821Z",
  "id": "BgdNiM5HJyt7JAMspOp9"
}

This endpoint creates a new to-do

HTTP Request

POST https://app.todozero.com/api/v1/todo

JSON Parameters

Parameter Default Description
description Description of the to-do.
due_date null When the to-do is scheduled.
priority 0 0 = Normal 1 = Starred
hide_from_inbox false When true it will not show up the Inbox and Today view.
alarm false When true will send a push notification to the user ( ios / chrome ) or show a message when the app is open.
tags null Array of strings of the tags to attach to the to-do.
recoccuring_settings null When populated sets the reoccuring properties of the to-do. See Reoccuring Settings

Reoccuring Settings

Parameter Default Description
reoccuring_interval required Daily = 1,Weekly = 2, Monthy = 3
reoccuring_day_of_week null 0-6 0=Sunday
time_of_day null A Date (the time will be taken from what date is passed)

List all to-dos

curl "https://app.todozero.com/api/v1/todo"
  -H "Authorization: YOUR_API_KEY"


The above command returns JSON structured like this:

[
  {
    "id": "MX42VmMboWsdfsd7882flPK0QH",
    "created": "2018-07-22T01:07:45.681Z",
    "modified": "2018-07-22T01:07:45.681Z",
    "modified_uid": "LNvc8JiDRsYPers9283434glT2LdfdfrYsr43",
    "owner_uid": "LNvc8JiDRsYPers9283434glT2LdfdfrYsr43",
    "tags": [
      "work/meetings",
      "project/austin"
    ],
    "checked": false,
    "description": "Email new requirements",
    "due_date": "2018-07-11T13:00:00.000Z",
    "note_id": null,
    "priority": 1,
    "hide_from_inbox": true,
    "alarm": true
  }
  ...
]

This endpoint retrieves all open to-dos.

HTTP Request

GET https://app.todozero.com/api/v1/todo

Complete a to-do

curl "http://example.com/api/v1/todo/sf68d7f6a86s8d7f6asd8f/complete"
  -H "Authorization: YOUR_API_KEY"

This endpoint completes a to-do

HTTP Request

POST https://app.todozero.com/api/v1/todo/<ID>/complete

URL Parameters

Parameter Description
ID The ID of the to-do to complete

Reopen a to-do

curl "http://example.com/api/v1/todo/sf68d7f6a86s8d7f6asd8f/reopen"
  -H "Authorization: YOUR_API_KEY"

This endpoint reopens a completed to-do

HTTP Request

POST https://app.todozero.com/api/v1/todo/<ID>/reopen

URL Parameters

Parameter Description
ID The ID of the to-do to complete

Get a specific to-do

curl "http://example.com/api/v1/todo/sf68d7f6a86s8d7f6asd8f"
  -H "Authorization: YOUR_API_KEY"

The above command returns JSON structured like this:

{
    "id": "sf68d7f6a86s8d7f6asd8f",
    "created": "2018-07-22T01:07:45.681Z",
    "modified": "2018-07-22T01:07:45.681Z",
    "modified_uid": "LNvc8JiDRsYPers9283434glT2LdfdfrYsr43",
    "owner_uid": "LNvc8JiDRsYPers9283434glT2LdfdfrYsr43",
    "tags": [
      "work/meetings",
      "project/austin"
    ],
    "checked": false,
    "description": "Email new requirements",
    "due_date": "2018-07-11T13:00:00.000Z",
    "note_id": null,
    "priority": 1,
    "hide_from_inbox": true,
    "alarm": true
  }

This endpoint retrieves a specific to-do.

HTTP Request

GET https://app.todozero.com/api/v1/todo/<ID>

URL Parameters

Parameter Description
ID The ID of the to-do to retrieve

Errors

The todoZero API uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your API key is wrong.
404 Not Found -- The specified object could not be found.
429 Too Many Requests -- Slow down! Contact us if this a problem
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance or something is really messed up.