Skip to content

docs(api): live OpenAPI specs as source of truth + webhook truth fixes#79

Open
johnxie wants to merge 1 commit into
mainfrom
docs/public-api-spec-authoritative
Open

docs(api): live OpenAPI specs as source of truth + webhook truth fixes#79
johnxie wants to merge 1 commit into
mainfrom
docs/public-api-spec-authoritative

Conversation

@johnxie

@johnxie johnxie commented Jun 19, 2026

Copy link
Copy Markdown
Member

Summary

Make the live OpenAPI specs authoritative and fix stale/inaccurate API statements. Handwritten reference pages stay as companion guides (examples, patterns) — they just now point at the live spec as the source of truth.

Crosslinks (spec = source of truth)

  • developer-home: new "Live OpenAPI specs" callout in Base URLs linking taskade.com/api/documentation/v1 + /v2 (and /json), framed as the source of truth vs the hand-written companions.
  • llms.txt: surfaces the live v1/v2 specs + the v2 reference + SDK quickstart + webhooks (previously only linked v1 narrative + a bare /api/v1).

Truth fixes

  • webhooks: the page claimed "There is no POST /api/v2/webhooks subscription endpoint." That is no longer true — documents the new POST /api/v2/subscribeWebhook + unsubscribeWebhook (Beta, account-level, task.due today) and makes the Pro+ gating explicit (taskcade #26713). Pairs with taskcade #26765.
  • developer-home → Errors: documents the typed { ok, code, message } envelope (taskcade #26936) so callers branch on code, not bare 500s.
  • api-v2-reference: drops the hardcoded openapi 0.1.0 string — the live spec owns the version.

Cleanup

  • Retire the orphaned root Real API.json — a stale v1 snapshot (42 paths vs 49 live) not referenced by any page. The embedded specs that power {% openapi %} blocks live under .gitbook/assets/ and are untouched.

Intentionally not changed

  • Token expiry (taskcade #26919): that change bounds the legacy /api/login JWT (90d + POST /api/refresh), which the public docs never document. The documented surfaces — Personal Access Tokens and OAuth 2.0 (1h + refresh) — are already accurate, so no edit was made rather than inject a misleading claim.

Follow-ups (not in this PR)

  • Embed the v2 spec via a {% openapi %} block (the v1 guide already does this against .gitbook/assets/); needs a committed/synced v2 spec file + per-operation blocks.

- developer-home: link the live v1/v2 OpenAPI specs as the source of truth, add
  an Errors section documenting the typed {ok,code,message} envelope (taskcade #26936)
- webhooks: correct the stale 'no subscription endpoint' note — document the new
  POST /api/v2/subscribeWebhook + unsubscribeWebhook (Beta, Pro+), and make the
  Pro+ gating explicit (taskcade #26713)
- llms.txt: surface the live v1/v2 specs + v2 reference + SDK + webhooks for LLM consumers
- api-v2-reference: drop the hardcoded 'openapi 0.1.0' (the live spec owns the version)
- retire the orphaned root 'Real API.json' (stale v1 snapshot, 42 paths vs 49 live;
  not referenced by any page — the embedded specs live under .gitbook/assets/)

Handwritten reference pages kept as companion guides; the live spec is authoritative.
Note: taskcade #26919 (90d /api login-JWT + refresh) needs no doc change — the public
docs cover PAT + OAuth2 (both already accurate) and never document the legacy /api/login flow.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant