HTTP package

The OpenAPI 3.1 document is generated beside this preview as openapi.json. Schemas document current behavior; they never validate runtime requests. The built-in server is loopback/host-guarded and has no authentication.

managePackage

Manage device packages

managePackage description

Runs a package action on a Roku device. sign packages the sideloaded dev channel with the device's signing key and downloads the signed .pkg to the server host, reporting its path in pkgPath. rekey installs the signing key from a package on the server host, given by pkgPath or the project's package.signingKeyPackage, and reports the device's resulting developer ID in devId; when devId is sent or set as package.devId it must match, or the route answers 500 PACKAGE_REKEY_DEV_ID_MISMATCH. sign and rekey need a signing password from signingPassword or the ROKU_SIGNING_PASSWORD environment variable of the server process. delete removes the sideloaded dev channel, squashfs converts the installed dev channel to squashfs, and ls returns the installed package rows. Relative paths and the roku-config.ts defaults are resolved from root, which defaults to the server process's current working directory. The target device follows the standard selection rules: device, then the active device, or a direct host with an optional password override. Invalid fields, an unsupported action, a missing signing password and a missing rekey pkgPath answer 400 VALIDATION_ERROR, and a missing or unreadable rekey package answers 400 with its own code. An unknown device or no active device answers 404, and other target selection failures answer 400. Other rk failures answer 500 with their own code, and anything unexpected answers 500 PACKAGE_ROUTE_ERROR.

managePackage contract

POST /api/package

Responses: 200, 400, 404, 500; middleware can also return 403, 408 or 429.

managePackage see also

managePackage body.action

Package action: sign, rekey, delete, squashfs or ls.

managePackage body.root

Project directory used to resolve relative paths, device configuration and roku-config.ts; defaults to the server process's current working directory.

managePackage body.config

Config file, resolved against root, read for the sign and rekey defaults; omitted searches upward from root for the project config, and a config that is missing or fails to load is silently ignored.

managePackage body.device

Target device ID, IP address or exact name.

managePackage body.host

Direct target host or IP address, bypassing device store selection.

managePackage body.password

Device developer password override; applies to host mode and can override a stored device password.

managePackage body.signingPassword

Signing password for sign and rekey; omitted or blank uses the ROKU_SIGNING_PASSWORD environment variable of the server process.

managePackage body.outDir

Directory sign downloads the signed package to, resolved against root; omitted or blank uses package.outDir from roku-config.ts, then root.

managePackage body.outFile

File name for the signed package; .pkg is appended when missing; defaults to app.pkg.

managePackage body.pkgPath

Package whose signing key rekey installs, resolved against root; omitted or blank uses package.signingKeyPackage from roku-config.ts.

managePackage body.devId

Developer ID rekey must produce; omitted or blank uses package.devId from roku-config.ts, and no check is made when neither is set.


Did this page help you?