External clients
Implementation lives under src/moxie/clients/ (and related helpers). Handlers should use these clients rather than ad-hoc fetch where a client already exists.
Spark (CMS)
- Primary editorial content: articles, videos, layouts, sections, tags, persons, images, shows.
- Drives most JSON:API responses and mobile composition.
- Base URLs and credentials come from environment settings (
src/settings/env/) and Lambda config.
Brightcove (Playback API)
- Video metadata and playback URLs for Fox News / Fox Business surfaces.
- Local dev tokens are seeded via
build/configs/env.jsso video endpoints work without extra setup.
Delta (API3)
- Series / seasons / episodes and related video graph data.
- Used where OTT or video browsing needs API3-shaped payloads.
Aurora (Homepage service)
- Homepage JSON with in-memory caching on the service side; Moxie still applies route-level cache policies.
S3 (Moxie static bucket)
- Read/write static assets deployed with the API (public + private trees).
- See Static files & S3.
Hypertext
- Shared HTTP(S) layer used by frameworks and other clients — timeouts, headers, error mapping.
Practices
- Centralize auth headers and base URL selection in the client, not in every endpoint.
- Propagate correlation ids only if the stack supports them — follow existing patterns.
- Do not log secrets — redact tokens in any custom debug paths.