API

Creating and manipulating Everdo items programmatically.

API Server Configuration

Before making requests, you need to make sure the API is up.

In Settings -> API, make sure the API is enabled and the correct IP address or Hostname is specified. In most cases, the default port value is sufficient.

When it comes to the IP/Hostname setting, you can specify localhost if you only want to call the API from the same computer that hosts it. On the other hand, if you intend to call the API from a different computer, you need to specify the actual network address of the host. To find the correct IP address these instructions may be helpful.

Once configured, press Apply and restart the app. Upon restart you should see a notification saying Everdo API is up.

Creating an Inbox Item

This action will create a new item in inbox. You can omit the optional properties from the request model.

// Action: POST /api/items
// Request Body:
{
    "title": "Inbox item",
    "note": "Example note", // Optional; Default = null
    "isFocused": true       // Optional; Default = false
}
// Response Body:
{
    "id": "B71C671F38144A9196D7D5C81B80BD7F" // This is a UUID-v4 that identifies the item in the database
    "createdOn": 1582089151                  // Unix seconds
}

Examples with curl

Try calling the API from the command line using the following snippets.

$ curl -k --header "Content-Type: application/json" \
  --request POST \
  --data '{"title": "Hello API", "note": "Example" }' \
  https://localhost:11111/api/items?key=***

A terminal command/script to add items to Inbox

Here we show how to make a script to be able to create Inbox items from the terminal, as follows.

$ inbox "New item" "Some Description"
$ inbox "New item without description"
  1. Create a script file using the snippet code below. You could call the file inbox.
  2. Make the script executable: chmod +x inbox
  3. Move the file to $PATH
#!/bin/bash

title=$1
note=$2

data()
{
    cat <<EOF
{
    "title": "$title",
    "note": "$note"
}
EOF
}

curl -ks --header "Content-Type: application/json" \
  --request POST \
  --data "$(data)" \
  https://localhost:11111/api/items?key=*** > /dev/null
Last modified January 1, 0001