Skip to content

rollbackPackage

POST
/api/v1/packages/{packageId}/rollback
curl --request POST \
--url https://example.com/api/v1/packages/example/rollback \
--cookie tilecast_session=<tilecast_session>

Requires the Owner or Administrator role with the admin scope. Cookie requests additionally require the X-CSRF-Token header. Restores the previous activation. Audited.

packageId
required
string
/^[a-z][a-z0-9_.:-]{0,127}$/

Store package identifier such as countdown_bar.

X-CSRF-Token
string

Cookie-backed browser requests only, and only on unsafe methods. Bearer grants never send it.

Restored package

Media typeapplication/json
object
data
required

One installed extension package with its contributions and, for custom packages, the repository binding.

object
packageId
required
string
version
required
string
manifest
required

The human-readable face of an installed or resolved package manifest.

object
name
required
string
description
required
string
publisherId
required
string
publisherName
required
string
license
required
string
tilecastRange
required
string
digest
required

Pinned artifact digest as sha256 colon hex.

string
sourceKind
required
string
sourceReference
required
string
registryReference
required
string
signerIdentity
string
trust
required
string
installedAt
required
string format: date-time
installedBy
required
string | null format: uuid
activatedAt
required
string format: date-time
hasRollback
required
boolean
contributions
required
Array<object>

One activated contribution: its kind, its package-qualified identity, and its path inside the package.

object
kind
required
string
id
required
string
path
required
string
runtime

External server behavior module (manifest version 2 only).

object
module
required

Package-relative WebAssembly module path.

string
capabilities

Bounded capabilities the package requests. Every entry is a request the host reviews before installation; nothing here grants itself.

object
network

Approved outbound HTTPS origins.

object
hosts
required
Array<string>
background

Package-owned background jobs the host runs.

object
jobs
required
Array<object>
object
id
required
string
intervalMinutes
required
integer
realtime

One bounded high-frequency background job, separately reviewed.

object
jobs
required
Array<object>
>= 1 items <= 1 items
object
id
required
string
intervalSeconds
required
integer
>= 5 <= 60
storage

Request plugin-owned key/value storage.

boolean
studioUI

Sandboxed Studio UI entry.

object
entry
required
string
services

Requested Tilecast service grants with registry-resolved display metadata.

Array<object>
object
id
required
string
version
required
integer
name
required
string
description
required
string
category
required
string
Allowed values: read directory manage audit
operations
required
Array<object>
object
name
required
string
title
required
string
description
required
string
mutating
required
boolean
source

The custom repository binding behind an installed custom package.

object
owner
required
string
name
required
string
repositoryUrl
required
string format: uri
resolvedDigest
required

Last verified artifact digest as sha256 colon hex.

string
resolvedAt
required
string format: date-time
addedAt
required
string format: date-time
Example
{
"data": {
"capabilities": {
"services": [
{
"category": "read"
}
]
}
}
}

Dashboard authentication required

Owner or Administrator role required

Package_not_installed

No_rollback — the package has no previous activation — or package_in_use — the rollback drops a contribution persisted content still uses; remaining resources are listed in error.details

Media typeapplication/json

A 409 from restoring the previous package activation. Only package_in_use carries details, listing the content the rollback would strand.

object
error
required
object
code
required
string
Allowed values: no_rollback package_in_use
message
required
string
details

The package and the contributed content that blocks the operation.

object
packageId
required
string
resources
required
Array<object>
object
kind
required
string
count
required
integer
>= 1
label
required
string
resolution
required
string
Example
{
"error": {
"code": "no_rollback"
}
}