Skip to main content
Read this before you build anything you plan to maintain. Docket’s public API is in early access. Its current interfaces are available, but they do not carry a compatibility promise yet.

What may change

Docket can rename a field, reshape a response envelope, or change a tool’s arguments with no deprecation window.
  • Prefer MCP over REST where both would work. Docket can reshape the task payload underneath capture without renaming the tool.
  • Never parse an identifier. ULIDs are opaque.
  • Branch on the error code. Match not_found, never “We could not find that”.
  • Pin nothing to the byte shape of /v1/openapi.json. It changes when the service changes.

What is stable

Build on these specifications:
  • OAuth 2.1 with PKCE, and the discovery documents of RFC 8414, RFC 9728, and RFC 8707.
  • MCP Streamable HTTP transport semantics.
  • RFC 9457 problem documents as the error envelope.
The nouns are stable too. Organization, Team, Initiative, Program, Project, Cycle, Task, Update, and Comment have meant the same thing for a long time. Docket changes the fields underneath them, not the nouns.

No SDK, and what to do instead

Every package in the Docket repository is private. Generate your REST client from /v1/openapi.json, which anyone can fetch and which describes the deployed service. For MCP, use your language’s client library.

When the docs and the API disagree

Believe the API. Docket renders /v1/docs from the running service.