Skip to content

API v2

WARNING

This version of the API is in active development. The API and its associated documentation are likely to be incomplete and/or incorrect, and may change without notice.

Authentication

To use the TaskRatchet API, you need an API key. This key is used to authenticate your requests and is required for all endpoints.

Example request with API key:

bash
curl "https://api.taskratchet.com/api2/me" \
  -H "Authorization: ApiKey-v2 YOUR_API_V2_TOKEN"

Please reach out to [email protected] to get an API key.

Rate Limiting

RoutePeriodLimit
/api2/*15 minutes100 requests

Schema

Base URL: https://api.taskratchet.com/api2/

EndpointDescription
GET /api2/meGet your profile data
DELETE /api2/meDelete your account
GET /api2/me/tasksGet all your tasks
POST /api2/me/tasksCreate a new task
POST /api2/me/tokenReset your API v2 token
GET /api2/me/tokenGet your API v2 token

GET /api2/me

Response FieldTypeDescription
idstringThe account's unique identifier
namestringUser's full name
emailstringUser's email address
timezonestringUser's current account timezone
integrationsobjectUser's integration settings; currently only Beeminder
has_stripe_customerbooleanWhether the user has a Stripe customer account

Example response:

json
{
  "id": "Zu0qDVncIgSuUbQfr261",
  "name": "Jon Doe",
  "email": "[email protected]",
  "timezone": "America/New_York",
  "integrations": {
    "beeminder": {
      "user": "jondoe",
      "goal_new_tasks": "tr_tasks"
    }
  },
  "has_stripe_customer": true
}

DELETE /api2/me

Deletes the user's account. This action is irreversible.

GET /api2/me/tasks

Returns an array of tasks. This route is paginated.

Query params:

ParamTypeRequiredDescription
pagenumberfalsePage number (default: 0)
statusstringfalseFilter by task status (pending, complete, expired)
due_beforenumberfalseUnix timestamp; only return tasks due before this time
due_afternumberfalseUnix timestamp; only return tasks due after this time

Response format:

Response FieldTypeDescription
idstringThe task's unique identifier
taskstringThe task description
duenumberUnix timestamp of the task's due date
centsnumberThe task's stakes in cents
completebooleanWhether the task is complete
statusstringThe task's status (pending, complete, expired)

Example request:

bash
curl "https://api.taskratchet.com/api2/me/tasks?page=0" \
  -H "Authorization: ApiKey-v2 YOUR_API_V2_TOKEN"

Example response:

json
[
  {
    "id": "tdDPzh1GpZHAGZURVBf6",
    "task": "Take out the trash",
    "due": 1614556800,
    "cents": 100,
    "complete": false,
    "status": "pending"
  }
]

POST /api2/me/tasks

Creates a new task. The request body should be a JSON object with the following fields:

FieldTypeRequiredDescription
taskstringtrueThe task description
duenumbertrueUnix timestamp of the task's due date
centsnumbertrueThe task's stakes in cents
recurrenceobjectfalseThe task's recurrence settings
recurrence.daysnumbertrueNumber of days between recurrences

On success, the response will be the created task object.

Example response:

json
{
  "id": "tdDPzh1GpZHAGZURVBf6",
  "task": "Take out the trash",
  "due": 1614556800,
  "cents": 100,
  "complete": false,
  "status": "pending"
}

POST /api2/me/token

Reset your account's API v2 token. This will invalidate the old token and generate a new one.

You'll need to be authenticated in order to reset your token. If you don't already have a token, contact support for help.

GET /api2/me/token

Returns the current API v2 token for the authenticated user.