Multi-site & shared APIs
Site prefixes
| Prefix | Brand | Notes |
|---|---|---|
fn |
Fox News | Largest route surface (mobile, CMS, RSS) |
fb |
Fox Business | Business mobile + content |
fw |
Fox Weather | Heavy mobile.spark.tab usage |
ok |
Outkick | |
fs |
Fox Sports |
First URL segment selects identity; remaining path matches routes for that site (or shared rules where configured).
Shared routes (src/settings/routes/shared.js)
- Map to
src/apis/shared/...handlers. - Use for Spark content, Brightcove, Delta, search, liveblogs, sitemap, swagger, and other cross-brand capabilities.
- Keeps one implementation instead of duplicating per
foxnews,foxbusiness, etc., when behavior is truly identical.
When to fork per site
- Different partner contracts (RSS field requirements).
- Different upstream URLs or auth per brand.
- Product-specific orchestration (e.g. Fox News mobile home vs Fox Weather Spark layout).
Fork into src/apis/{site}/ and adjust only the differing layers — still reuse shared helpers where possible.
Route + handler alignment
- Shared route: ensure
apis/shared/...path matchesgroup+ route key conventions. - Site route: ensure
apis/{site}/...mirrors the same pattern.
Testing matrix
For shared endpoints, smoke test at least two site prefixes if both expose the same path pattern:
/fn/articles/123
/fb/articles/123
Use ?debugga=setup:identity to confirm site resolution.