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.
Using MCP: connect an agent to the hosted Doozy MCP server with the same workspace API key.
Using a terminal: install the Doozy CLI and work in that same workspace.
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 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.