Theme

GET /v1/theme — the seatback UI theme for your airline.

GET /v1/theme returns the display theme for your airline — colors, fonts, shape tokens, and top-bar options a seatback client uses to render its UI in the airline’s brand. There is one theme per airline, resolved server-side from your credential; you never pass a theme id.

It is airline-scoped: Bearer token and the westiq/search scope, no X-Session-Id, no parameters.

$curl "https://api.staging.westiq.ai/v1/theme" \
> -H "Authorization: Bearer $ACCESS_TOKEN"

Response

200 returns an AirlineTheme. The colors object is abbreviated below — it carries the full Material-style token set:

1{
2 "airlineId": "demo_airline",
3 "airlineName": "Demo Airways",
4 "logo": "https://cdn.example/demo/logo.svg",
5 "watermarkChar": "",
6 "colors": {
7 "surface": "#0B0F14",
8 "accent": "#1F6FEB",
9 "onAccent": "#FFFFFF",
10 "onSurface": "#E6EDF3",
11 "error": "#F85149"
12 },
13 "fonts": { "heading": "Inter", "body": "Inter", "mono": "IBM Plex Mono" },
14 "shape": { "radiusCard": "16px", "radiusBtn": "999px", "glassBlur": "20px" },
15 "topBar": { "showFlightInfo": true, "showRouteMap": true }
16}
FieldNotes
airlineId, airlineNameYour tenant and its display name.
logoLogo asset URL.
watermarkCharA single character used as a background watermark.
colorsThe full palette token set (surface tiers, accent tiers, on-colors, button and state colors).
fontsheading, body, mono font families.
shapeCorner radii and glass/gradient tokens (radiusCard, radiusBtn, radiusChip, glassBlur, …).
topBarBooleans: showFlightInfo, showRouteMap.
suggestedRoutesOptional; omitted when the airline configures none — null fields are never sent as null.

Errors

Standard error envelope. The one to handle specifically:

HTTPCodeCause
404theme.not_foundNo theme is configured for your airline. Fail-loud — never a default/fallback theme. Treat it as “onboarding incomplete,” not a transient error.

401 / 403 are the usual auth failures.