Skip to main content

Docs audit reference — 2026-07-05

Point-in-time snapshot of the brew.new docs repo inventory and terminology audit. Not published (.md, not .mdx, not in docs.json). Update when the state changes materially.

Pass 1 — Inventory

Repo overview

  • Mintlify docs site. 110 tracked non-image files. Site config: docs.json (schema v2).
  • No llms.txt / llms-full.txt checked in — Mintlify generates these on build.
  • No .gitignore. .DS_Store is tracked at 8KB (worth cleaning up separately).

Folder coverage

FolderCoverage
analytics/Analytics UI walkthrough + metrics glossary (2 pages)
api-reference/API concepts (10), guides (3), MCP (6), OpenAPI spec openapi-public-v1.yaml
audience/Contacts, audiences, hygiene (4)
brand/Identity, reference email, unsubscribe, inbox icons, multi-brand (5)
changelog/overview.mdx, api.mdx, posts/ (16 posts)
create-emails/campaigns, automations, campaigns-vs-automations, interface, prompt guide, templates (6)
get-started/Welcome, add brand, verify domain, what you can send (4)
images/, logo/, favicon.svgBrand + content assets
integrations/ESPs (export/ × 12), event sources (import/ × 10), AI (2)
legal/6 legal docs
recipes/3 how-to guides
sdks/Overview, auth, codegen, TypeScript SDK (5 pages under typescript/)
security-and-compliance.mdxTop-level page
settings/Settings
snippets/Reusable components (not published as pages)

Meta / reference files

  • docs.json — Mintlify config: tabs (Guides, Integrations, API Reference, SDKs, Changelog, Legal), 50+ redirects, SEO, appearance, search prompt, contextual AI options
  • api-reference/openapi-public-v1.yaml — Public API spec, generates /api-reference/public-v1/*

Publication status

All .mdx files EXCEPT snippets/need-help.mdx are in docs.json.navigation and publish. snippets/need-help.mdx is a reusable component (correct behavior — included in other pages, not rendered standalone). Note: initial impression was that changelogs weren’t published. As of this audit, all 16 changelog posts + changelog/overview.mdx + changelog/api.mdx are wired into the Changelog tab in docs.json. Verify whether they’re just not surfaced to end users despite being wired up.

Pass 2 — Terminology mismatches (“Campaigns” → “Emails” rename)

227 total occurrences of “campaign” across 57 files. Categorized below by whether/how they should be updated.

Category A — Structural (paths, filenames, nav labels) — DEFINITELY STALE

  • docs.json:29 — group "Emails" contains pages under /create-emails/campaigns* (label/pages mismatch)
  • docs.json:31, 33, 169 — nav paths use campaigns / monitor-campaign-sends
  • docs.json:323 — SEO description: “Automate campaigns…”
  • docs.json:371–380 — legacy redirects for /emails/campaigns/create-emails/campaigns
  • create-emails/campaigns.mdx — filename, title: "Campaigns", body (entire file)
  • create-emails/campaigns-vs-automations.mdx — filename, title, body
  • api-reference/guides/monitor-campaign-sends.mdx — filename + title

Category B — Product-surface language (needs UI verification)

Whether these are stale depends on what the app literally shows today. Confirm the product’s tab labels and button text before touching.
  • create-emails/the-interface.mdx:16, 18, 23, 26, 33, 35, 37, 39, 41, 47, 50, 74
  • analytics/reading-analytics.mdx:6, 11, 21, 87, 103
  • changelog/posts/analytics-dashboard.mdx:17, 19, 27, 30, 40, 42, 71
  • changelog/posts/templates-gallery.mdx:15, 21, 42, 44, 45, 47
  • changelog/posts/ai-email-creation.mdx:18, 24
  • changelog/posts/mcp-oauth.mdx:15, 55, 83, 89
  • changelog/posts/reference-emails.mdx:31, 36
  • changelog/posts/preview-emails-across-real-inboxes.mdx:25
  • create-emails/templates.mdx:20, 24, 40, 42, 45
  • create-emails/campaigns.mdx — body (lines 12, 18, 30, 64, 67, 72, 73, 79, 80, 87, 88, 92)
  • create-emails/campaigns-vs-automations.mdx:10, 12, 20, 26, 38, 42, 45, 51, 54, 65
  • integrations/ai-tools/lovable.mdx:21, 36, 38
  • recipes/lifecycle-emails-saas-b2b.mdx:56, 111
  • get-started/welcome.mdx:21, 30
  • get-started/what-you-can-send.mdx:16
  • brand/brand-identity.mdx:51
  • brand/reference-email.mdx:46
  • audience/audience-hygiene.mdx:86, 92, 130
  • audience/manage-contacts.mdx:108, 114
  • audience/create-audiences.mdx:19, 73, 82
  • analytics/key-metrics-and-terms.mdx:189, 219, 221, 223, 224, 307
  • sdks/typescript/quickstart.mdx:3, 124, 126
  • sdks/overview.mdx:41, sdks/typescript/resources.mdx:24
  • settings/settings.mdx:36

Category C — API / technical surface (verify with backend team before touching)

Load-bearing identifiers that may have survived the UI rename intact. Do NOT edit without confirmation.
  • api-reference/openapi-public-v1.yamlkind: campaign enum (lines 197, 1958, 8454), /v1/analytics/campaigns endpoint (9193), getCampaignAnalytics operationId (9195), CampaignAnalyticsResponse schema (2230, 9238), tag descriptions (41, 43, 8645–8732)
  • api-reference/api/api-introduction.mdx:3, 11, 19, 34, 137, 154, 166, 176, 228, 231, 258, 475
  • api-reference/api/async-jobs.mdx:3, 9
  • api-reference/api/events-and-webhooks.mdx:93
  • api-reference/api/authentication.mdx:76
  • api-reference/api/pagination.mdx:45, 46
  • api-reference/api/idempotency.mdx:55
  • api-reference/api/errors.mdx:69, 86
  • api-reference/api/rate-limits.mdx:45, 53
  • api-reference/mcp/authentication-and-scoping.mdx:40
  • api-reference/mcp/tools.mdx:34, 69
  • api-reference/mcp/quickstart.mdx:39, 41, 47
  • api-reference/mcp/workflows.mdx:3, 11, 13, 19, 41
  • api-reference/mcp/overview.mdx:19
  • api-reference/guides/monitor-campaign-sends.mdx:2, 4, 140
  • api-reference/guides/per-contact-engagement.mdx:11, 66
  • changelog/api.mdx:108, 139, 140, 178, 185, 195
  • integrations/ai-agents/use-brew-with-ai-agents.mdx:46, 53

Category D — Generic/legitimate uses (leave alone)

  • legal/privacy-policy.mdx:10, 48, 69 — legal boilerplate
  • legal/terms-of-service.mdx:57
  • legal/acceptable-use-policy.mdx:28, 67
  • integrations/export/braze.mdx:4, 46, brevo.mdx:26, iterable.mdx:4, 49, klaviyo.mdx:8, 38, mailchimp.mdx:33, 37, onesignal.mdx:4, 49 — describe how templates land inside third-party products
  • integrations/integrations.mdx:22, 34 — same
  • analytics/key-metrics-and-terms.mdx:59, 67, 83, 88, 121, 152, 157, 172, 264, 274, 292, 331, 334 — glossary definitions using “campaign” as generic email-marketing term (some cross into Category B — the entries at 219, 221, 223, 224, 307 do reference the product tab)
Point at redirect sources; should point at canonical paths instead.
  • analytics/key-metrics-and-terms.mdx:219, 221, 224, 307/create-emails/emails (redirects to /create-emails/campaigns)
  • recipes/lifecycle-emails-saas-b2b.mdx:56/create-emails/how-brew-works (redirects to /create-emails/the-interface)

Open questions

  1. Was the API kind: campaign enum renamed on the backend? Determines whether Category C changes.
  2. Does the product UI still show a tab called “Campaigns” inside the “Emails” sidebar item? Determines Category B scope.
  3. Is the changelog surfaced to end users, or hidden despite being wired into docs.json?