REST API — App Config
Platform-specific behavior, branding, layout, and feature visibility for connected apps.
Endpoint
GET /wp-json/mediablaster/v3/config?platform=roku
| Property | Value |
|---|---|
| Auth | None (public) |
| Method | GET |
Query platform | Default roku; currently only roku is supported |
Discovery index includes links.config pointing to this URL.
What this endpoint is (and is not)
Is:
- Remote source of truth for user-configurable app settings managed under MediaBlaster → App Config
- Branding colors, labels, navigation feature flags, home layout, boot behavior, and similar client settings
Is not:
- API discovery — the client must already know the WordPress base URL
- Subscription or Stripe configuration — use
GET /app/configinstead (requires subscriptions REST enabled) - A place for secrets — never include API keys, tokens, or
apiBaseUrl/apiOrigin
Query parameters
| Param | Default | Description |
|---|---|---|
platform | roku | Platform slug (roku only in v1) |
Invalid platform:
{
"code": "mediablaster_invalid_platform",
"message": "Unsupported platform.",
"data": { "status": 400 }
}Response overview (Roku)
Top-level fields include:
| Field | Description |
|---|---|
platform | roku |
schemaVersion | Config schema version (e.g. 1.0) |
appName | Display name |
debugMode | Diagnostic logging toggle |
enableSubscriptions | App-level subscriptions UI toggle |
enableVod, enableMovies, enableSeries, … | Content availability flags |
brandColor, accentOrange, … | Branding colors (hex) |
heroFallbackImage, posterFallbackImage | Roku asset paths |
supportUrl, privacyUrl | Public legal/help links |
sidebarEnabled | Sidebar visibility |
features | Navigation destination flags (home, movies, series, …) |
labels | Custom UI strings |
layout | Home screen layout flags |
sidebar | expandedWidth, collapsedWidth |
homeTagRows | Tag row settings |
homeRows | Always [] in v1 |
boot | requireDiscovery, loadFeaturedOnStart |
meta.generatedAt | ISO 8601 timestamp (UTC) |
Values merge saved WordPress options over plugin defaults. Unsaved installs still return sensible defaults.
Admin configuration
Manage values at MediaBlaster → App Config → App Settings. See App Config.
Option key: mediablaster_app_config
Compare with /app/config
| Route | Purpose | Auth | Requires subscriptions |
|---|---|---|---|
GET /config?platform=roku | Platform app UI/behavior config | Public | No |
GET /app/config | Stripe keys, tiers, auth flags | Public when REST on | Yes (+ REST enabled) |
Verification
wp eval "do_action('rest_api_init'); `$req = new WP_REST_Request('GET', '/mediablaster/v3/config'); `$req->set_param('platform','roku'); `$res = rest_get_server()->dispatch(`$req); echo `$res->get_status();" --path="c:\Users\rob\Local Sites\wp-smart-tv\app\public"Or open /wp-json/mediablaster/v3/config?platform=roku in a browser.
Related guides
- App Config
- REST API Overview
- Subscriptions and Apps API —
/app/config