Skip to content

Patch API

Patch API

STATUS
PRODUCTION
OWNER
platform
LANGUAGE
Go
DEPLOYMENT
Cloud (:3002, behind nginx)
TELEMETRY
HEALTHY

murmur-api is the public Murmur API: catalog, license activation, patch generation, patch library, billing, and the website’s own /api/auth session endpoints. It’s the Bearer/session-authenticated service everything else in Murmur Cloud sits behind nginx from.

Platform team. Repo: cbackstrom80/murmur-web.

cbackstrom80/murmur-web (Go service lives alongside the Next.js app in this repo, not a separate one — see Murmur Platform Overview).

Go, port :3002 internally, fronted by nginx (cutover-live.conf routes /api/v1, /api/auth, and related paths here).

GET /api/v1/catalog

AUTH // bearerAuth

Product/release catalog.

POST /api/v1/activate

AUTH // bearerAuth

Activate a license key on a device.

POST /api/v1/murmur/generate-preset

AUTH // bearerAuth

Generate a patch from a prompt; delegates to murmur-intelligence.

Full route list: murmur-web/docs/CLOUD.md.

UPSTREAM (calls this)

  • Tidepool (murmur-hub)
  • Web/admin UI (same repo)
  • Third-party integrations via murmur-sdk

DOWNSTREAM (this calls)

  • Neon (GenerationJob / AudioJob)
  • murmur-intelligence (Python)
  • murmur-audio (Rust)

EXTERNAL

  • Stripe (billing)
  • Resend (email)
  • Splunk (telemetry)

Environment-based; secrets are never committed. See murmur-web/docs/DEPLOY.md for the deploy-time configuration surface (not reproduced here to avoid drift between two copies of the same facts).

The Deploy workflow starts the cloud profile; nginx cutover routes traffic to this service. See Production Deployment Runbook.

Telemetry — details pending (Splunk RUM is wired client-side per SplunkRumInit; server-side dashboards for this service weren’t confirmed during this audit).

  • Neon (Postgres) unavailable — writes fail, catalog reads may serve stale cache depending on caching layer (unconfirmed).
  • murmur-intelligence unreachable — patch generation fails; other routes unaffected.

See Rollback Runbook.