Getting started: build an AXIS frontend
Overview
AXIS Frontend APIs let frontend web developers build websites and apps on top of the AXIS platform.
Use these APIs to build:
- Home pages and content rails
- Content detail pages
- Show, season, and episode navigation
- Search experiences
- Live TV and schedule views
- CMS-driven pages and navigation
- Image rendering with transformations
- User-scoped features such as bookmarks, continue watching, follows, watched events, and ratings
Most AXIS Frontend APIs are public, read-only, and served through the CDN. User-scoped data endpoints require a JWT for the signed-in user.
Available APIs
| Service | Purpose | Sample endpoint |
|---|---|---|
axis-api-catalog | Content catalog: items, item lists, movies, shows, episodes, events, and related catalog data | /v1/items, /v1/lists, /v1/search |
axis-api-display | CMS pages with resolved layout entries and platform navigation config | /v1/page, /v1/config |
axis-api-linear | Live and scheduled TV data, including channel grids and now-playing data | /v1/schedules, /v1/schedules/{id} |
axis-api-search | Full-text search across the catalog | /v1/search/ |
axis-api-uxmeta | User-scoped data such as bookmarks, continue watching, follows, watched events, and ratings; requires JWT | /v1/bookmarks, /v1/continue-watching, /v1/watched, /v1/ratings |
axis-svc-shain | Image rendering and transformation, including resize, crop, format conversion, and overlays | /v1/dataservice/ResizeImage/$value |
axis-api-media is a backend service used for uploading and managing raw image assets. It is not called directly by frontend applications. Image rendering for display is handled by axis-svc-shain.
Find references to the integration environment in AXIS 10 Environments.
Base URL
All API endpoints are served via CDN from an environment-specific host.
https://{api-host}/v1/
There is no tenant ID in the URL. Tenant routing is handled transparently by the CDN.
Authentication
Catalog, list, schedule, display, and search calls do not require an API key or authentication token.
Instead, user data endpoints are not public. They are scoped to the signed-in user and require a JWT Bearer token from your authentication provider.
Authorization: Bearer {user_token}
Use the JWT for endpoints that read or write user-specific data, such as:
- Bookmarks
- Continue watching
- Follows
- Watched events
- Ratings
First request
Quick smoke test: fetch an item list using the confirmed API version for your environment.
const response = await fetch('https://{api-host}/{apiVersion}/lists/featured?lang=en');
const list = await response.json();
console.log(list.items);
Common query parameters
These parameters work across most endpoints. Pass them on every request where the endpoint accepts them so language, content visibility, device offers, and subscription-specific offers remain consistent.
| Parameter | Example | Purpose |
|---|---|---|
lang | en-gb, fr-fr | The language to return content in |
max_rating | auoflc-pg, mpaa-r | Maximum content rating the current user should see; items above this rating are excluded server-side |
device | web_browser, ios, android, tv | Device type; affects which offers are returned |
sub | standard,premium | Comma-separated active subscription codes for the current user; filters the offers array on each item |
Basic front-end flow
A typical AXIS front-end can load:
- App configuration and navigation.
- Home page layout or content rails.
- Catalog items or item lists.
- Detail page data when a user selects an item.
- Pass
lang,max_rating,device, andsubconsistently so offers are filtered for the current user and device. - Watch CTA or offer display from the item's offers data.
- User data after sign-in, such as bookmarks and continue watching.