> ## Documentation Index
> Fetch the complete documentation index at: https://digitalsurge.com.au/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# LAUNCH

# Launch checklist — digitalsurge.com.au/docs

The API Reference builds from the **vendored `openapi.json`** in this repo (see README), so
the docs can launch with the reviewed 53-operation contract regardless of backend deploy
timing. The backend changes still need to deploy before the **playground** works end-to-end:
the CORS grant for the docs origin, and prod serving the same curated schema, both ship with
the backend.

The docs are served on the **root domain under `/docs`** (SEO decision: backlinks and content
authority accrue to digitalsurge.com.au) via a route-scoped Cloudflare Worker that proxies
`/docs*` to Mintlify. Never also serve a `docs.` subdomain — one canonical home only.

## 1. Code (review → commit → deploy)

* [ ] **ABE** — schema polish + CORS (uncommitted, tests green: `bitex.tests.test_openapi`,
  `custom_auth.tests.test_middleware`). PR to `sita`, then prod deploy.
* [ ] **dsfe** — API-keys page: docs link → `https://digitalsurge.com.au/docs` + new
  Agentic AI Connector mention/link (uncommitted).
* [ ] **ds-mcp-worker** — landing page + api-catalog `service-doc` point at
  `https://digitalsurge.com.au/docs` (uncommitted, 188 tests green). `./deploy-prod.sh`.
  Note: `package-lock.json` was already out of sync with `package.json` before this change
  (`npm ci` fails; used `npm install --no-save` to run tests).

## 2. Mintlify setup (dashboard + Cloudflare, one-off)

* [ ] Create the GitLab project and push this repo.
* [ ] Sign up at mintlify.com (Starter/free tier covers everything needed) and connect Git sync:
  GitLab project access token (`api`, `read_api`) + webhook to
  `https://leaves.mintlify.com/gitlab-webhook` — [https://mintlify.com/docs/settings/gitlab](https://mintlify.com/docs/settings/gitlab).
  If GitLab sync turns out to be gated to a paid tier, fall back to mirroring this repo to
  GitHub with a one-line CI job (same pattern as ABE).
* [ ] **Cloudflare Worker for `/docs`**: follow Mintlify's subpath guide
  ([https://mintlify.com/docs/advanced/subpath/cloudflare](https://mintlify.com/docs/advanced/subpath/cloudflare)). Deploy the proxy worker with a
  **route** `digitalsurge.com.au/docs*` (route-scoped — non-docs traffic never invokes it,
  WordPress/static site untouched). Proxy target = the project's `*.mintlify.site` subdomain,
  set `Host` to the Mintlify subdomain and `X-Forwarded-Host: digitalsurge.com.au`.
  Keep the worker code in a repo (e.g. alongside ds-mcp-worker) — not dashboard-only.
* [ ] Verify after first deploy: page canonicals and `sitemap.xml` URLs read
  `https://digitalsurge.com.au/docs/...` (Mintlify derives them from `X-Forwarded-Host` —
  check, don't assume). `/docs/llms.txt` reachable.

## 3. After backend prod deploy

* [ ] Sanity-check `https://app.digitalsurge.com.au/api/schema/?format=json` matches the
  vendored `openapi.json` (same operation set, bearerAuth-only, servers block present).
  Optionally switch `docs.json` `openapi` to that URL now (see README trade-off).
* [ ] Playground e2e with a **Read Only** key: public ticker + private balances from the
  browser; confirm in devtools the request goes directly to app.digitalsurge.com.au.

## 4. SEO / discovery / cross-linking

* [ ] Google Search Console: the existing `digitalsurge.com.au` property already covers `/docs` —
  submit `https://digitalsurge.com.au/docs/sitemap.xml`.
* [ ] Root `robots.txt` (served by WordPress/static origin): add
  `Sitemap: https://digitalsurge.com.au/docs/sitemap.xml`.
* [ ] Marketing site (WordPress/static): replace the raw API link with
  `https://digitalsurge.com.au/docs`; add a footer/nav "API" link.
* [ ] **Insights post** `digitalsurge.com.au/insights/agentic-ai-connector/`: its
  "API documentation" link points at `digitalsurge.com.au/api/public/` (wrong host, bare
  DRF root) — change to `https://digitalsurge.com.au/docs`.
* [ ] **Help Centre** (Intercom): add "Full developer documentation → digitalsurge.com.au/docs"
  links to both Agentic AI Connector articles (15073408 setup, 15077482 technical guide) —
  the technical guide should also link the API Reference for request/response detail.
  (The docs already link back to both articles from the Agentic AI Connector guide.)
* [ ] Spot-check `site:digitalsurge.com.au/docs` after \~2 weeks.
