Skip to main content

Canonical API → upstream debrid endpoints

This page lists each Relaygate canonical operation, the Edge route used by addon backends, and how it maps to upstream HTTP APIs for each provider adapter that implements real forwarding today.

Scope

  • SmokeDebrid (smokedebrid) is a test double and is omitted here; it mirrors TorBox-shaped responses locally.
  • Real-Debrid, AllDebrid, Premiumize, and other catalog entries without a registered adapter in Core will return rg.provider_adapter_missing until an adapter ships. Planned upstream surfaces are noted in the repository file docs/provider-capability-matrix.md.

Auth: every canonical call uses the standard headers from Relaygate Canonical API; upstream calls use the vault-resolved or direct Bearer token unless noted.


account.session

EdgeGET /api/v0.6-beta/canonical/account
TorBoxGET /v1/api/user/me

hoster.links.unlock

EdgePOST /api/v0.6-beta/canonical/hoster/links/unlock
TorBoxNot supported — Relaygate returns 501 / rg.feature_unsupported. Use POST .../canonical/jobs with kind: web_fetch or the raw proxy.
Planned (examples)Real-Debrid POST /unrestrict/link; AllDebrid link unlock family; Premiumize link / transfer resolve.

jobs.list

EdgeGET /api/v0.6-beta/canonical/jobs?kind=torrent|usenet|web_fetch&...
TorBoxkind=torrentGET /v1/api/torrents/mylist
kind=usenetGET /v1/api/usenet/mylist
kind=web_fetchGET /v1/api/webdl/mylist

jobs.create

EdgePOST /api/v0.6-beta/canonical/jobs
TorBoxkind=torrentPOST /v1/api/torrents/createtorrent (JSON body; often magnet)
kind=usenetPOST /v1/api/usenet/createusenetdownload
kind=web_fetchPOST /v1/api/webdl/createwebdownload

jobs.get

EdgeGET /api/v0.6-beta/canonical/jobs/{jobId}?kind=...
TorBoxSame mylist endpoints as jobs.list, then the adapter selects the row matching jobId.

jobs.cancel

EdgePOST /api/v0.6-beta/canonical/jobs/{jobId}/cancel?kind=...
TorBoxkind=torrentPOST /v1/api/torrents/controltorrent
kind=usenetPOST /v1/api/usenet/controlusenetdownload
kind=web_fetchPOST /v1/api/webdl/controlwebdownload

jobs.files.list

EdgeGET /api/v0.6-beta/canonical/jobs/{jobId}/files?kind=...
TorBoxSame mylist GET as jobs.get; files come from the matching list item.

jobs.files.playback

EdgePOST /api/v0.6-beta/canonical/jobs/{jobId}/files/{fileId}/playback?kind=...
TorBoxkind=torrentGET /v1/api/torrents/requestdl (torrent_id, file_id, redirect=false, token query param as required)
kind=usenetGET /v1/api/usenet/requestdl
kind=web_fetchGET /v1/api/webdl/requestdl

torrents.cache_check

EdgePOST /api/v0.6-beta/canonical/torrents/cache-check
BodyJSON: { "hashes": ["<40-hex>", ...], "list_files"?: boolean } (max 100 hashes; include_files is an alias for list_files)
TorBoxGET /v1/api/torrents/checkcached with one hash query param whose value is comma-separated info-hashes (URL-encoded, e.g. %2C between hashes), plus format=list and list_files=true|false (matches TorBox/Postman). Response data may be a list of rows (each with a hash field) or a map keyed by hash; Relaygate normalizes to data.<provider>.data.items[].
Planned (examples)Real-Debrid instant-availability endpoints; AllDebrid / Premiumize cache checks per provider docs.

  • Relaygate Canonical API — headers, envelopes, errors.
  • OpenAPI bundle — machine-readable paths.
  • Repository docs/debrid-provider-capability-api-map.md — capability-oriented view across many providers.