> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dazie.io/llms.txt
> Use this file to discover all available pages before exploring further.

# API overview

> The dazie REST API: read and write one signed-in user's journal, to-dos and companion memories.

The dazie API lives at `https://api.dazie.io/v1`. Every request acts as one dazie user and sees only that user's data. The machine-readable spec is at [api.dazie.io/v1/openapi.json](https://api.dazie.io/v1/openapi.json).

The same operations are available as tools on the [MCP server](https://docs.dazie.io/guides/connect-ai-assistant.md).

## Authentication

Send an OAuth 2.1 access token as a bearer token:

```sh theme={null}
curl https://api.dazie.io/v1/me -H "Authorization: Bearer $DAZIE_TOKEN"
```

To get a token, see [Authentication](https://docs.dazie.io/auth.md): dazie uses authorization code + PKCE with dynamic client registration, discoverable from `https://api.dazie.io/.well-known/oauth-protected-resource`.

A missing or expired token returns `401` with a `WWW-Authenticate` header pointing at that metadata.

## Errors

Errors other than `401` have this shape:

```json theme={null}
{ "error": { "code": "not_found", "message": "Journal entry not found" } }
```

| Status | Code | When |
| - | - | - |
| 400 | `invalid_request` | An input failed validation; the message names the field |
| 401 | | Missing, invalid or expired token; the body is `{ "error": "…" }` |
| 404 | `not_found` | The record doesn't exist or isn't the caller's |
| 409 | `onboarding_required` | The user hasn't finished onboarding at app.dazie.io |
| 500 | `internal_error` | Something failed on dazie's side |

## Limits

* The API can't delete data, place calls, or change the account or call schedule.
* Lists return at most 100 items per request.
* The server can take up to a minute to wake up after a quiet period. Retry once on a timeout.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.