Compose your hosted docs like a marketing page.
Replace the default top bar with your own logo, custom title, up to 6 CTA buttons, 8 plain-text nav links, and an optional ⌘K-aware top-bar search. Add GitHub-flavored markdown intros above the auto-generated parameters and extras below the Try-It panel — same idea as a Mintlify MDX endpoint page, with no scaffolding to maintain.
/v1/checkout/sessionsCreate a checkout session
Starts a new hosted checkout flow.
https://api.acme.io/v1/checkout/sessionsUse this endpoint to start a checkout flow. Idempotency-Key required. See our checkout migration guide if you're upgrading from /legacy/charge.
- Sessions expire after 30 minutes
- Test cards:
4242 4242 4242 4242
Request Body
amountinteger (cents)requiredThe amount to charge, in the smallest currency unit.
currencystring (ISO 4217)requiredThree-letter currency code.
customer_idstringOptional. Existing customer reference.
Header anatomy
Brand → nav → search → CTAs → theme.
The top-bar reads left-to-right the way Stripe Docs and Vercel Docs do. Your logo and project title anchor the left, your nav links sit next to the brand block separated by a vertical rule, and your CTA buttons stay on the far right where the eye expects them.
Brand block
Logo (28×28, rounded-lg) + project title. Falls back to your default brand if no logo is uploaded.
Nav links
Up to 8 plain-text links with a vertical rule separator. Links route to anywhere — internal anchor, external URL, or another docs site.
Search
Optional. Toggling on hides the sidebar search at md+ since the same outworx:docs-search event drives both.
CTA buttons
Up to 6 buttons. Solid uses bg-foreground (theme-flips), outline + ghost use shadcn variants. Mix and match per CTA.
Per-endpoint markdown
Add usage notes above. Add “next steps” below.
Two slots per endpoint: intro renders above the auto-generated parameter tables, extras renders below the Try-It panel. GitHub-flavored markdown with sanitized HTML — no MDX, no rebuild step.
Auto-generated only
/v1/checkout/sessionsJust the parameter tables and the Try-It panel — whatever the spec produced.
With intro + extras
/v1/checkout/sessionsIdempotency-Key required. See the migration guide if you're upgrading from /legacy/charge.
- • Sessions expire after 30 minutes
- • Test cards:
4242 4242 4242 4242
What works: headings, tables, task lists, code blocks, inline links, bullet lists, blockquotes. What doesn't: raw HTML, scripts, iframes — sanitised server-side to prevent cross-tenant XSS.
White-label option
Flip a switch. The watermark's gone.
Free-plan docs always show the “Powered by Outworx Docs” badge in the footer. Pro and Business unlock a single watermark-removal toggle in the Customize tab — no negotiation, no enterprise contract, no support ticket. The badge is gone the moment you save.
Watermark removed across the docs site, the public AI chat, the embeddable Try-It widget, and the status page footer.
Brand colours, logo, and favicon read from `projects.branding` — single source of truth shared across docs, header, and status page.
Custom domain (Business only): docs.acme.io with auto-provisioned SSL via a CNAME. The 'Powered by' link never appears in the URL bar either.
Watermark removed
(no “Powered by” line)
Free-plan default
Powered by Outworx Docs
14-day retention on downgrade
Cancel today. Re-subscribe tomorrow. Nothing's gone.
When a paid project drops to Free — by canceling, by a payment failure, or by an explicit downgrade — the customizations sit untouched for 14 days. Re-subscribing inside the window restores everything; afterwards an hourly prune cron hard-deletes the rows.
Day 0
Downgrade fires
Stripe webhook stamps `customizations_expire_at = now + 14d`. Public docs revert to default header. Saved customizations stay in the database, untouched.
Day 1–13
Window open
Re-subscribing — by paying the failed invoice, by upgrading from a trial-cancelled state, by choosing Pro again — clears the timestamp and restores customizations instantly.
Day 14
Hard prune
`/api/cron/customizations-prune` runs hourly behind CRON_SECRET. Expired rows are hard-deleted in batches; the timestamp clears so re-runs are idempotent.
Plan tiers
Customization unlocks on every paid plan.
Free
Default header
- Default top bar — Outworx-branded
- “Powered by Outworx Docs” footer
- No per-endpoint markdown
- No custom header config
Pro
Full customization
- Custom logo + title
- Up to 6 CTA buttons (solid / outline / ghost)
- Up to 8 plain-text nav links
- ⌘K-aware top-bar search
- Per-endpoint markdown intros + extras
- Watermark removal toggle
- 14-day retention on downgrade
Business
Full + custom domain
- Everything in Pro
- Custom domain with auto-SSL
- Subdomain routing for status page
- Priority support
Pairs well with
AI Chat
The Ask AI drawer renders inside your customized header — same logo, same accent, same auth links.
Mock Server
Hosted mock URL is one mark-down link in the per-endpoint extras: 'No backend yet? Hit the mock URL.'
SDK Generator
Drop the SDK download link in the markdown intro of your auth endpoint: visitors copy the SDK before they hit Try-It.
Make the docs look like yours.
Pro plan unlocks the page builder + per-endpoint markdown + white-label toggle. $9/month flat.