Plan & track
Lists, boards & tablesTimeline & GanttCalendar
Organize
Spaces, folders & listsCustom fieldsSubtasks, checklists & dependencies
Collaborate
Comments & @mentionsDocs & wikisPublic forms
Automate & connect
AutomationsREST APIBuilt-in MCP server
Solutions
For agenciesFor software teamsFor small business
Resources
Help Documentation Blog Support
More
All features Pricing Roadmap Security ContactSign In Sign Up Free

Help Documentation  / Automate & connect

API Keys & Webhooks

Scoped API keys and signed webhooks give your scripts and AI assistants the same access the UI has, restricted to exactly the workspace or space you choose.

The API Keys admin page showing the key table with scopes and space column, next to the ready-to-paste Claude Code MCP connection snippet.

Scoped keys and signed webhooks give scripts and AI assistants API access without full account credentials.

What it does

Scoped API keys authenticate the REST API and the built-in MCP server so scripts and AI assistants can act on the workspace directly; webhooks push events out the moment they happen, signed so you can verify they're genuine.

Who needs it

Anyone connecting IterDone to another tool, writing an integration, or wiring an AI assistant like Claude up to their workspace.

Why use it

A key can be locked to read-only, to one space, or both, so an integration only ever reaches exactly the data it needs. With 119+ documented REST endpoints and a 87-tool MCP server, essentially everything the UI can do, a script or an assistant can do too.

How it works

Admin > API Keys and Admin > Webhooks are how anything outside the UI — a script, an integration, or an AI assistant — reads and writes this workspace's data.

An API key authenticates REST calls (/api/v1/..., sent as Authorization: Bearer <key>) and the built-in MCP server (/mcp). Creating one asks for:

  • Name — a label so you can tell keys apart later.
  • Scopesread (list/get spaces, lists, tasks, comments) and/or write (create, update, delete tasks and comments). Pick either or both.
  • Space — leave it as "All spaces" for an unrestricted key, or lock it to one space. A space-scoped key is enforced server-side on both the REST API and MCP tools — it can't see or touch anything in other spaces, and workspace-level features (Goals, Docs, Webhooks, creating new Spaces, workspace export/import) are off-limits to it entirely.
  • Expires — never, or in 30, 90, or 365 days.

The plaintext key is shown exactly once, at creation — copy it before leaving the page. The API Keys page also has ready-to-paste MCP connection snippets for Claude Code and Claude Desktop, pre-filled with a freshly created key, plus a link to the interactive API docs. A key can be revoked at any time from the table; a revoked or expired key stops working immediately.

A webhook instead pushes to you: pick an endpoint URL and which events to subscribe to (or "All events"), and this workspace sends an HTTP POST to that URL whenever one fires — task created, updated, moved or deleted, status, priority, assignee or due-date changes, and comments posted, plus the same created/updated/deleted set for lists, folders, spaces and goals. Every request carries an X-Signature header (HMAC-SHA256 of the raw body, keyed by the webhook's secret) so you can verify it actually came from here. Each webhook's row shows when it last fired, its last HTTP status, and running delivery/failure counts; Send test fires a one-off ping event, and Deliveries expands a log of recent attempts with status, duration and outcome.

Ready when your team is.

Create your workspace, bring your work across, and get the afternoon back. Iterate until done.

Start Free Nothing to install. Productive on day one. Already have an account? Sign in

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.