Doozy API
Doozy is a workspace where notes, meetings, todos and AI agents sit together. This API gives a program the same reach a person has in the app.
curl https://api.usedoozy.com/api/v1/todos \
-H "Authorization: Bearer doozy_sk_..."{
"object": "list",
"data": [
{
"object": "todo",
"id": "9a1f...",
"title": "Draft the launch note",
"status": "ready",
"priority": "high",
"dueDate": "2026-09-01",
"assignees": [{ "id": "3c8e...", "type": "agent", "name": "Research assistant" }]
}
],
"hasMore": false,
"nextCursor": null
}Everything lives under https://api.usedoozy.com/api/v1, authenticated with a bearer key you create in the Doozy app, and described by an OpenAPI 3.1 document generated from the running server.
In a hurry: the Quickstart takes you from no key to a todo you created over HTTP, in about five minutes.
Can it do what you need?
It covers the four things Doozy is built on:
- Todos are the work. Create them, move them along, hand one to an agent to do.
- Chats are conversations with agents. Start one, send a message, read what came back.
- Agents are the workers. List them, change their instructions, teach them a skill.
- Captures are what the workspace recorded and wrote down: meetings with their transcripts, notes, and the summaries made from them.
Each of them reads and writes:
| Todos | list, create, get, update, delete, restore, run with an agent, list runs |
| Todo lists | list, create, get, update, delete |
| Chats | list, create, get, update, delete, restore, cancel, list messages, send message |
| Agents | list, create, get, update, archive, restore, plus skills: list, create, get, update, archive |
| Captures | list, create, get, update, delete, restore, stop a recording, list tags |
| API keys | list scopes, list, create, get, revoke |
| Meta | service info, the specification, current identity |
Key management is the one row an API key cannot reach: creating and revoking keys needs a signed-in user session, not a key. See Authentication and keys.
The API reference has every one of them with its parameters, responses and errors.
Four things that hold everywhere
A key opens one workspace. There is no workspace parameter, because the key already says which one. Call GET /me (getIdentity) to see which.
Lists page with a cursor. Pass limit, read nextCursor, pass it back. See Pagination.
Agent work is asynchronous. Sending a message to a chat starts an agent and returns straight away; the reply arrives afterwards. See Working with agents.
Nothing is pushed to you. There are no webhooks and no streaming on this surface. To find out what changed, you poll — for agent replies, and for new records.
What a key can reach
A key holds a fixed set of scopes, chosen when you create it, and they cannot be widened later. Capture content is the most sensitive data a workspace holds, so captures:read stands on its own: an integration can have broad access to todos, chats and agents while meeting transcripts stay out of its reach. See Scopes.
Where to go next
- Quickstart — a key, a request, a todo, an agent doing it.
- Authentication and keys — rate limits, expiry, revoking, and how to rotate a key without a gap.
- Recipes — the handful of things most integrations end up doing, written out in full.
- Errors — the one error shape, every code, and how to retry safely.
- API reference — every operation, field and error.
When something breaks
Every response carries a requestId, in the body on errors and in the X-Request-Id header always. Quote it at support@usedoozy.com and we can find the request in our logs.