# Intro

{% hint style="warning" %}
The documentation is still very rudimentary and far from final. Further content is being worked on regularly. For specific questions that are not answered here, please visit the [discussion forum](https://github.com/Doecentral/DOC/discussions).
{% endhint %}

## One Endpoint. All your tasks.

**With dœcentral `[døːsɛntrəl]` you're able to fetch all your tasks from several task management apps and calendars. Learn more at** [**dœcentral.com**](https://www.dœcentral.com/)**.**

Get the full picture of your daily tasks and events with just one API call. Your private tasks from Todoist, your customer project tasks from Trello, your company events from Google Calendar or what ever. You name it. Just get all the today tasks combined in one API.

This allows you to integrate your today tasks in your favorite application, a rough overview in a simple UI, a detailed list in a daily mail or whatever you can imagine.

> Everything you can imagine is possible. Be creative!

You'll find all available connections and integrations on the [website](https://www.dœcentral.com/) or with the [public endpoints](/public/connections) in this API.&#x20;

{% hint style="info" %}
Even if the special character in the domain looks like spam it‘s intended, trust me. If you like to learn more, please [check out the FAQ](/faq).
{% endhint %}


# Getting started

* [ ] Register at app.dœcentral.com
* [ ] Create a new API key for [authorization](/authorization-1/authorization)
* [ ] Configure your [connections](/public/connections) in the [dœcentral UI](https://app.dœcentral.com/?settings\&connections) or by API


# FAQ

Frequently asked and answered questions

### Is there any other way to use the API than by using the dœcentral.com domain?

I feel you. Punycode domains still feel strange and make you afraid that at one or the other system involved cannot handle it. While working on this project, we have seen only a few minor problems, but in general most applications and solutions are working fine with punycode domains too. However, if you want to be a 100% save, you also can use the domain `doecentral.com` or `xn--dcentral-ktb.com` for all requests.

### What is this name and the strange character about?

It's a bit nerdy, be warned! Since the ligature `œ` looks like an o and e at the same time, you can read as *do\_central* as well as *de\_central*. So dœcentral is a central for all your to do's, but decentralised (in some kind) at the same time. Furthermore, in mathematics, the ligature Œ is used as an abbreviation of the expression "without restriction". Isn't that a perfect match for a service like this? :)


# Authorization

The dœcentral API is using API keys as authorization.&#x20;

```http
# Basic request with authorization
GET /tasks/today?prettyprint=true
Authorization: Bearer <YOUR_API_KEY>
Accept: application/json
```

The API keys can be managed at <https://app.dœcentral.com/?settings&apikeys>


# Today

Get all the tasks for today

The main endpoint and initial reason for dœcentral. Get all your tasks for today from all services you use in just one single endpoint.

## Today

<mark style="color:blue;">`GET`</mark> `https://api.dœcentral.com/tasks/today`

#### Query Parameters

| Name        | Type    | Description |
| ----------- | ------- | ----------- |
| overdue     | boolean |             |
| prettyprint | boolean |             |

#### Headers

| Name                                             | Type   | Description |
| ------------------------------------------------ | ------ | ----------- |
| Authentication<mark style="color:red;">\*</mark> | string |             |

{% tabs %}
{% tab title="200: OK Tasks successfully retrieved." %}

```
{    "name": "Cake's name",    "recipe": "Cake's recipe name",    "cake": "Binary cake"}
```

{% endtab %}

{% tab title="401: Unauthorized Could not find a cake matching this query." %}

```
{
    "status": "error",
    "message": "Please check your API key."
}
```

{% endtab %}
{% endtabs %}


# Tomorrow

Get all the tasks for tomorrow

## Tomorrow

<mark style="color:blue;">`GET`</mark> `https://api.dœcentral.com/tasks/tomorrow`

This endpoint allows you to get free cakes.

#### Query Parameters

| Name    | Type    | Description |
| ------- | ------- | ----------- |
| overdue | boolean |             |

#### Headers

| Name           | Type   | Description |
| -------------- | ------ | ----------- |
| Authentication | string |             |

{% tabs %}
{% tab title="200 Cake successfully retrieved." %}

```
{    "name": "Cake's name",    "recipe": "Cake's recipe name",    "cake": "Binary cake"}
```

{% endtab %}

{% tab title="404 Could not find a cake matching this query." %}

```
{    "message": "Ain't no cake like that."}
```

{% endtab %}
{% endtabs %}


# User settings

Get and set the user and connection settings

In order to get the right tasks, most of the connections need a configuration. This endpoint allows you to read and also set the required settings.

## User settings

<mark style="color:blue;">`GET`</mark> `https://api.dœcentral.com/user/settings`

#### Query Parameters

| Name        | Type    | Description |
| ----------- | ------- | ----------- |
| prettyprint | boolean |             |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

### Options of settings

The available options are available as an object in the [connections endpoint](/public/connections). For every connection you'll find an object called `settings`.

**Example:**

```json
    {
      "color": "#333",
      "slug": "google-calendar",
      "icon": "https://icongr.am/simple/googlecalendar.svg?size=32&colored=true",
      "name": "Google Calendar",
      "settings": {
        "calendar": {
          "type": "array",
          "desc": "List of calendar",
          "name": "Calendar"
        }
      },
      "public": true,
      "status": "Live",
      "_id": 2
    }
```


# Connections

List of services dœcentral is connected to

## Get all available connections

<mark style="color:blue;">`GET`</mark> `https://api.dœcentral.com/public/connections`

#### Query Parameters

| Name        | Type    | Description |
| ----------- | ------- | ----------- |
| prettyprint | boolean |             |

#### Headers

| Name   | Type   | Description |
| ------ | ------ | ----------- |
| Accept | string |             |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
  "status": "success",
  "meta": {
    "count_page": 9
  },
  "_links": {
    "self": {
      "href": "https://api.dœcentral.com/public/connections"
    },
    "first": {
      "href": "https://api.dœcentral.com/public/connections"
    },
    "pref": {
      "href": "https://api.dœcentral.com/public/connections"
    },
    "next": {
      "href": "https://api.dœcentral.com/public/connections"
    },
    "last": {
      "href": "https://api.dœcentral.com/public/connections"
    }
  },
  "errors": [],
  "data": [
    {
      "color": "#333",
      "slug": "google-calendar",
      "icon": "https://icongr.am/simple/googlecalendar.svg?size=32&colored=true",
      "name": "Google Calendar",
      "settings": {
        "calendar": {
          "type": "array",
          "desc": "List of calendar",
          "name": "Calendar"
        }
      },
      "public": true,
      "status": "Live",
      "_id": 2
    },
    {
      "name": "Google Tasks",
      "slug": "google-tasks",
      "color": "#333",
      "settings": {
        "taskLists": {
          "type": "array",
          "desc": "List of task-lists",
          "name": "Task lists"
        }
      },
      "public": true,
      "icon": "https://www.dœcentral.com/img/icons/google-tasks.png",
      "status": "In progress",
      "_id": 3
    },
    {
      "settings": {
        "apiKey": {
          "type": "string",
          "desc": "Your private api key from todoist. Can be found at ...",
          "name": "API key"
        },
        "filter": {
          "name": "Filter",
          "desc": "filter used for the todoist api. e.x. @tag",
          "type": "string"
        }
      },
      "public": true,
      "name": "Todoist",
      "status": "Live",
      "slug": "todoist",
      "icon": "https://icongr.am/simple/todoist.svg?size=32&colored=true",
      "color": "#da4134",
      "_id": 9
    },
    {
      "public": true,
      "slug": "trello",
      "icon": "https://icongr.am/simple/trello.svg?size=32&colored=true",
      "status": "In progress",
      "color": "#333",
      "name": "Trello",
      "_id": 10
    },
    {
      "status": "Live",
      "slug": "ical",
      "icon": "https://www.dœcentral.com/img/icons/ical.png",
      "settings": {
        "fileUrl": {
          "type": "string",
          "desc": "Address of the ical-File",
          "name": "URL of ical-File"
        }
      },
      "name": "iCal",
      "public": true,
      "color": "#333",
      "_id": 4
    }
  ]
}
```

{% endtab %}
{% endtabs %}


# Integrations

List of apps using the dœcentral API

{% hint style="info" %}
This page explains how to fetch all avaiable integrations by API. You'll also find all available integrations on our [website](https://www.dœcentral.com).&#x20;
{% endhint %}

### Get all integrations

## Get all available apps using the dœcentral API

<mark style="color:blue;">`GET`</mark> `https://api.dœcentral.com/public/integrations`

Get all apps and services using the dœcentral API. An authorization is not needed for this endpoint.

#### Query Parameters

| Name        | Type    | Description |
| ----------- | ------- | ----------- |
| prettyprint | boolean |             |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

*Is your listing missing or do you want to integrate dœcentral in your app? Please* [*get in touch*](https://www.polywork.com/hvb)*.*


