GET/v1/resolve
Resolve a spoken title to ranked Roku deep-link candidates. The app fires the first candidate whose roku_app_id is installed: launch/<roku_app_id>?contentId=<content_id>&mediaType=<media_type>. A content_id of null means app-launch only (open the app, not the title).
Query params
| q | The title to resolve, e.g. "Stranger Things". Required. |
Headers
| X-RC-User-Id | RevenueCat app_user_id. Required when gating is on; must be an active sub or trial. |
| X-API-Key | Shared app key, only if API_KEY is configured. |
Example
curl "https://tv.617sw.com/v1/resolve?q=Dexter" \
-H "X-RC-User-Id: $RC_USER_ID"
Response
{
"query": "Dexter",
"title": "Dexter",
"media_type": "series",
"wikidata_id": "Q1082",
"candidates": [
{ "provider": "Netflix", "roku_app_id": "12", "content_id": "70136126",
"media_type": "series", "deep_link": true, "rank": 0 },
{ "provider": "Paramount+", "roku_app_id": "31440", "content_id": "61457176",
"media_type": "series", "deep_link": true, "rank": 5 },
{ "provider": "Hulu", "roku_app_id": "2285", "content_id": "8162894c-...",
"media_type": "series", "deep_link": true, "rank": 3 }
]
}
Errors
400 missing q
401 bad api key
402 subscription or trial required
429 rate limit exceeded