installPlugin
const url = 'https://example.com/api/v1/plugins/example/install';const options = {method: 'POST', headers: {cookie: 'tilecast_session=<tilecast_session>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/v1/plugins/example/install \ --cookie tilecast_session=<tilecast_session>Requires the Owner or Administrator role and an authenticated user with the admin scope. Cookie requests also require CSRF. Records a release-owned plugin as installed. Idempotent. Never downloads or runs code.
Authorizations
Section titled “Authorizations”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters”Registry identifier such as countdown_bar.
Header Parameters
Section titled “Header Parameters”Cookie-backed browser requests only, and only on unsafe methods. Bearer grants never send it.
Responses
Section titled “ Responses ”Plugin was already installed; same representation
object
object
Definition contract version compiled into this release
Bounded icon identifier; unknown values render a generic icon
Studio route; a navigation hint, not an authorization boundary
object
object
Example
{ "data": { "category": "Display", "requirements": [ { "kind": "platform" } ], "attention": [ { "code": "no_compatible_player" } ] }}Plugin installed by this request
object
object
Definition contract version compiled into this release
Bounded icon identifier; unknown values render a generic icon
Studio route; a navigation hint, not an authorization boundary
object
object
Example
{ "data": { "category": "Display", "requirements": [ { "kind": "platform" } ], "attention": [ { "code": "no_compatible_player" } ] }}Owner or Administrator and CSRF token required
Plugin_not_found — the release does not define this plugin
Plugin_not_installable