The Daysli API

Connect the day. Protect the journal. Software you write can read a Daysli owner’s free time, events, to-dos and requests, ask them for time or a to-do, and hear when things change — only as far as the owner allows, and only until they say stop.

The journal is never available. No token, scope, route, field or webhook can reach it, and the database role the API runs as has no access to a single table — it can only call the functions written for it.

What it can do

What it will not do

Quickstart

1. Make a token

In the Daysli app, open Settings → Developer and choose New token. Name it, pick what it may do, and copy it — it is shown once. Start with a Test token: it reads the same data, and nothing it sends can email anyone (see tokens, scopes and the sandbox).

2. Ask who it is

curl https://beta-pages.daysli.com/api/v1/me -H "Authorization: Bearer $DAYSLI_TOKEN"
{
  "accountId": "acct_Q2p9…",
  "scopes": ["profile:read", "tasks:read", "webhooks"],
  "mode": "test",
  "profile": { "displayName": "Alex Rivera", "username": "alex", "publicUrl": "https://daysli.com/alex",
               "timezone": "Indian/Maldives", "locale": "en" }
}

3. List today’s to-dos

curl "https://beta-pages.daysli.com/api/v1/tasks?status=open&limit=20" -H "Authorization: Bearer $DAYSLI_TOKEN"

4. Find a free time and ask for it

curl "https://beta-pages.daysli.com/api/v1/appointment-types" -H "Authorization: Bearer $DAYSLI_TOKEN"
curl "https://beta-pages.daysli.com/api/v1/availability?appointmentTypeId=TYPE_ID&from=2026-10-12&to=2026-10-16&tz=Europe/London" -H "Authorization: Bearer $DAYSLI_TOKEN"
curl -X POST "https://beta-pages.daysli.com/api/v1/requests/appointments" -H "Authorization: Bearer $DAYSLI_TOKEN" -H "Content-Type: application/json" -H "Idempotency-Key: $(uuidgen)" -d '{"appointmentTypeId":"TYPE_ID","slot":{"start":"2026-10-12T09:00:00Z","end":"2026-10-12T09:30:00Z"},"requester":{"name":"Ahmed Rauf","email":"ahmed@example.com"},"requesterTimezone":"Europe/London","requesterLocale":"en-GB","message":"About the fuel quotation."}'

5. Hear about changes

Give the token webhooks and add an address under it in Settings → Developer. Daysli sends a signed ping first; then every change it may see. See webhooks for the payload and how to check the signature.

Base URL

https://beta-pages.daysli.com/api/v1. JSON in and out, UTF-8, instants in RFC 3339 UTC, dates as YYYY-MM-DD, time zones as IANA names. The API is for servers and native apps: it sends no CORS headers, so a browser has to go through your own backend.

Every route, parameter and answer is in the reference and in openapi.json (OpenAPI 3.1), generated from the same definitions the server enforces.