← All templates

API Documentation

Developer Tools · React + Node (Express) · 20 @molecule/* packages

Swagger-like API documentation with OpenAPI spec, try-it console, and code samples — with built-in Stripe-backed subscription tiers

Open in Molecule

What is inside

  • auth
  • search
  • keyboard-shortcuts
  • subscriptions

Screens (21)

  • Landing /
  • Login /login
  • Signup /signup
  • ForgotPassword /forgot-password
  • ResetPassword /reset-password
  • DocsHome /docs (signed in)
  • EndpointReference /docs/endpoints/:id (signed in)
  • Endpoints /docs/endpoints (signed in)
  • Guides /docs/guides (signed in)
  • APIKeys /settings/api-keys (signed in)
  • Settings /settings (signed in)
  • Changelog /docs/changelog (signed in)
  • Webhooks /docs/webhooks (signed in)
  • SDKs /docs/sdks (signed in)
  • Errors /docs/errors (signed in)
  • APIPlayground /playground (signed in)
  • Status /status (signed in)
  • Profile /profile (signed in)
  • Billing /settings/billing (signed in)
  • Team /settings/team (signed in)
  • NotFound /404

Data model (13 tables)

  • api_endpoints — id, spec_id, user_id, method, path, tag, summary, description, …
  • api_errors — id, code, status, description, troubleshooting, example_response, created_at
  • api_keys — id, user_id, name, key_hash, key_masked, scopes, last_used_at, revoked_at, …
  • api_specs — id, user_id, project_id, title, name, version, description, spec_content, …
  • changelog — id, user_id, spec_id, version, released_at, entries, is_public, created_at
  • devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
  • notifications — id, user_id, type, title, body, href, unread, created_at
  • payments — id, createdAt, updatedAt, userId, transactionId, productId, platformKey, data, …
  • projects — id, userId, name, slug, projectType, framework, packages, envVars, …
  • sdks — id, language, package_name, version, install_command, github_url, example, created_at
  • services — id, name, status, description, url, created_at, updated_at
  • team_members — id, team_id, user_id, email, role, invited_at, joined_at, created_at
  • try_it_history — id, user_id, endpoint_id, method, url, request, status, response, …

API (16 handlers)

  • \_seed api/src/handlers/_seed.ts
  • api_errors api/src/handlers/api_errors.ts
  • api_keys api/src/handlers/api_keys.ts
  • billing api/src/handlers/billing.ts
  • changelog api/src/handlers/changelog.ts
  • endpoints api/src/handlers/endpoints.ts
  • guides api/src/handlers/guides.ts
  • integrations api/src/handlers/integrations.ts
  • notifications api/src/handlers/notifications.ts
  • profile api/src/handlers/profile.ts
  • reports api/src/handlers/reports.ts
  • sdks api/src/handlers/sdks.ts
  • specs api/src/handlers/specs.ts
  • team_members api/src/handlers/team_members.ts
  • try-it api/src/handlers/try-it.ts
  • webhooks api/src/handlers/webhooks.ts

Subscription tiers

free / pro / team — gated by: maxEndpoints, maxSpecs, maxTryIt, advancedFeatures, canExport, retentionDays

Built from 20 @molecule/* packages

Browse all @molecule/* packages →

Required secrets

  • DATABASE_URL PostgreSQL connection string

The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing