Subroutine HTTP API
Every operation the pinned application serves over HTTP, grouped by tag, as its OpenAPI document describes it. The data shapes they take and return are on one page.
Agent-native task management for complex projects, where the decisions live beside the work.
GET /v1/meta reports this installation's vocabulary — its statuses, link types, field
operators and date grammar — so a client can read them rather than assume them.
GET /v1/docs/agent is a guide written for an agent working through this API.
Errors are RFC 9457 problem documents and every one carries a stable code; the codes are
part of the public contract and are listed in docs/errors.md.
health
GET /healthz- Is this process alive?GET /readyz- Can this instance serve requests?
mcp
POST /mcp- Speak MCP to this instance
identity
GET /signin- Exchange a sign-in link for a browser sessionPOST /v1/login-links- Issue a sign-in link for somebodyGET /v1/me- Who am I, and what may I do?DELETE /v1/session- Sign this browser outPOST /v1/users/{username}/signout- Sign somebody out of every browser they are signed in on
admin
GET /v1/admin/backups- List BackupsPOST /v1/admin/backups- Create Backup
agenda
GET /v1/agenda- What am I doing today?
calendars
GET /v1/calendars- List your calendar feedsPOST /v1/calendars- Create a calendar feedDELETE /v1/calendars/{id_or_prefix}- Revoke a calendar feedPOST /v1/calendars/{id_or_prefix}/reset- Give a feed a new URLGET /v1/calendars/{prefix}/{secret}.ics- Fetch a calendar feed
changes
GET /v1/changes- What changed since you last looked
comments
PATCH /v1/comments/{comment_id}- Edit your own commentDELETE /v1/comments/{comment_id}- Delete a commentGET /v1/documents/{id_or_ref}/comments- List a document's commentsPOST /v1/documents/{id_or_ref}/comments- Comment on a documentGET /v1/projects/{id_or_key}/comments- List a project's commentsPOST /v1/projects/{id_or_key}/comments- Comment on a projectGET /v1/tasks/{id_or_ref}/comments- List a task's commentsPOST /v1/tasks/{id_or_ref}/comments- Comment on a task
discovery
GET /v1/docs/agent- A guide written for an agentGET /v1/docs/examples- Worked calls, in the order an agent needs themGET /v1/meta- What does this installation call things?
documents
GET /v1/documents- List documentsPOST /v1/documents- Write a documentGET /v1/documents/{id_or_ref}- Read one documentPATCH /v1/documents/{id_or_ref}- Change a documentDELETE /v1/documents/{id_or_ref}- Move a document to the trashPOST /v1/documents/{id_or_ref}/move- Nest a document under another, or move it to the top levelPOST /v1/documents/{id_or_ref}/restore- Take a document out of the trash
links
GET /v1/documents/{id_or_ref}/backlinks- List what refers to a documentGET /v1/documents/{id_or_ref}/governing- List what governs a documentGET /v1/documents/{id_or_ref}/links- List a document's linksPOST /v1/documents/{id_or_ref}/links- Link a document to somethingDELETE /v1/documents/{id_or_ref}/links/{link_id}- Withdraw a linkGET /v1/documents/{id_or_ref}/proposed-links- List the links a document's writing suggestsGET /v1/documents/{id_or_ref}/tree- Walk what has to happen before a documentGET /v1/tasks/{id_or_ref}/backlinks- List what refers to a taskGET /v1/tasks/{id_or_ref}/governing- List what governs a taskGET /v1/tasks/{id_or_ref}/links- List a task's linksPOST /v1/tasks/{id_or_ref}/links- Link a task to somethingDELETE /v1/tasks/{id_or_ref}/links/{link_id}- Withdraw a linkGET /v1/tasks/{id_or_ref}/proposed-links- List the links a task's writing suggestsGET /v1/tasks/{id_or_ref}/tree- Walk what has to happen before a task
events
GET /v1/documents/{id_or_ref}/events- What happened to this documentGET /v1/projects/{id_or_key}/events- What happened to this projectGET /v1/tasks/{id_or_ref}/events- What happened to this task
instance
PATCH /v1/instance- Change what this installation is calledGET /v1/instance/workspaces- Every workspace on this installation
journal
GET /v1/journal- What happened over a period, with what was said
vocabulary
GET /v1/link-types- The ways two items can relate herePOST /v1/link-types- Add a link typePATCH /v1/link-types/{which}- Rename a link typeDELETE /v1/link-types/{which}- Remove a link typeGET /v1/statuses- The statuses this workspace hasPOST /v1/statuses- Add a statusPATCH /v1/statuses/{which}- Rename or reposition a statusDELETE /v1/statuses/{which}- Remove a statusGET /v1/tags- The tags this workspace hasPOST /v1/tags- Declare a tagPATCH /v1/tags/{which}- Rename a tag, or say what it meansDELETE /v1/tags/{which}- Remove a tag
projects
GET /v1/projects- List projectsPOST /v1/projects- Create a projectGET /v1/projects/{id_or_key}- Read one projectPATCH /v1/projects/{id_or_key}- Change a projectDELETE /v1/projects/{id_or_key}- Move a project to the trashGET /v1/projects/{id_or_key}/members- Who can see this projectPOST /v1/projects/{id_or_key}/members- Let somebody see a private projectDELETE /v1/projects/{id_or_key}/members/{username}- Stop somebody seeing a private projectPOST /v1/projects/{id_or_key}/move- Move a project in the treePOST /v1/projects/{id_or_key}/restore- Take a project out of the trashGET /v1/projects/{id_or_key}/settings- What is in force in this project, and where it came from
recurrence
POST /v1/recurrence/parse- What does this repeat mean?
tasks
GET /v1/tasks- List tasksPOST /v1/tasks- Create a taskGET /v1/tasks/{id_or_ref}- Read one taskPATCH /v1/tasks/{id_or_ref}- Change a taskDELETE /v1/tasks/{id_or_ref}- Move a task to the trashPOST /v1/tasks/{id_or_ref}/claim- Take a task, so nobody else doesPOST /v1/tasks/{id_or_ref}/complete- Mark a task finishedPOST /v1/tasks/{id_or_ref}/move- Move a task under another, or to the top levelGET /v1/tasks/{id_or_ref}/occurrences- When does this come round?POST /v1/tasks/{id_or_ref}/release- Give a task backPOST /v1/tasks/{id_or_ref}/restore- Take a task out of the trashPOST /v1/tasks/{id_or_ref}/skip- Let one occurrence of a repeat go byGET /v1/tasks/{id_or_ref}/verifications- What has been checked against this taskPOST /v1/tasks/{id_or_ref}/verifications- Record what was checked against this task
tokens
GET /v1/tokens- List the credentials you can act onPOST /v1/tokens- Issue a credentialDELETE /v1/tokens/{id_or_prefix}- Revoke a credential
users
GET /v1/users- List the accounts on this instancePOST /v1/users- Create an accountGET /v1/users/{username}- Read one accountPATCH /v1/users/{username}- Mark somebody as having left, hand an agent over, or say where you are
workspaces
GET /v1/workspaces- List workspacesPOST /v1/workspaces- Create a workspaceGET /v1/workspaces/{id_or_slug}- Read one workspacePATCH /v1/workspaces/{id_or_slug}- Change a workspaceDELETE /v1/workspaces/{id_or_slug}- Move a workspace to the trashGET /v1/workspaces/{id_or_slug}/members- Who belongs to this workspacePOST /v1/workspaces/{id_or_slug}/members- Add somebody to this workspacePATCH /v1/workspaces/{id_or_slug}/members/{username}- Change what somebody may do in this workspaceDELETE /v1/workspaces/{id_or_slug}/members/{username}- Take somebody out of this workspacePOST /v1/workspaces/{id_or_slug}/restore- Take a workspace out of the trashGET /v1/workspaces/{id_or_slug}/settings- What is in force in this workspace, and where it came from