Skip to content

REST API: Store

View as Markdown

Generated from the daemon’s OpenAPI document. Conventions, sign-in, the CSRF header and the WebSocket are on API.

Administrators only. The Store’s settings with the next check time, every catalog with its status, and the newer versions of installed apps. The topic store/admin carries the same and its changes.

Responses

Any failure answers with problem details (application/problem+json) and a stable code from the error reference.

Administrators only. The apps of the enabled catalogs (or of one, by its id) at the newest version this box can run, whose id, name, description or author contains q.

Parameters

Name In Type Required Description
catalog query string no
q query string no

Responses

Any failure answers with problem details (application/problem+json) and a stable code from the error reference.

Administrators only. Adds a custom catalog (unsigned, shown as unverified) by its repository URL: https:// for a public one, which is fetched at once as a job, or SSH (git@host:owner/repository.git) for a private one, for which the box makes a deploy key; add its public key to the repository and fetch the catalog then.

Request body: application/json: AddCatalogRequest

Responses

Any failure answers with problem details (application/problem+json) and a stable code from the error reference.

GET /api/store/catalogs/{catalog}/apps/{appId}

Section titled “GET /api/store/catalogs/{catalog}/apps/{appId}”

Administrators only. A catalog app’s detail page: its newest version for this box with the manifest, screenshots, homepage, the link to its source in the catalog, and every published version.

Parameters

Name In Type Required Description
catalog path string yes
appId path string yes

Responses

Any failure answers with problem details (application/problem+json) and a stable code from the error reference.

GET /api/store/catalogs/{catalog}/apps/{appId}/{version}/icon

Section titled “GET /api/store/catalogs/{catalog}/apps/{appId}/{version}/icon”

Administrators only. The icon of a catalog app’s version, checked against the index, with Content-Security-Policy: default-src ‘none’; sandbox and nosniff.

Parameters

Name In Type Required Description
catalog path string yes
appId path string yes
version path string yes
name query string no

Responses

  • 200: image/svg+xml: string (byte)

Any failure answers with problem details (application/problem+json) and a stable code from the error reference.

POST /api/store/catalogs/{catalog}/apps/{appId}/{version}/package

Section titled “POST /api/store/catalogs/{catalog}/apps/{appId}/{version}/package”

Administrators only. Takes a catalog app’s version from the box’s verified copy, checks it like an uploaded package plus the index’s hashes and images (store.package.hash_mismatch), the box’s version (app.package.box_too_old) and, for an older version, the same dataVersion (app.package.downgrade_unsupported), and keeps it for 15 minutes. Install it with POST /api/apps/packages/{packageId}/install.

Parameters

Name In Type Required Description
catalog path string yes
appId path string yes
version path string yes

Responses

Any failure answers with problem details (application/problem+json) and a stable code from the error reference.

GET /api/store/catalogs/{catalog}/apps/{appId}/{version}/screenshots/{name}

Section titled “GET /api/store/catalogs/{catalog}/apps/{appId}/{version}/screenshots/{name}”

Administrators only. A screenshot of a catalog app’s version (PNG, JPEG or WebP), checked against the index, with Content-Security-Policy: default-src ‘none’; sandbox and nosniff.

Parameters

Name In Type Required Description
catalog path string yes
appId path string yes
version path string yes
name path string yes

Responses

  • 200: image/png: string (byte)

Any failure answers with problem details (application/problem+json) and a stable code from the error reference.

Administrators only. Switches a catalog on (it is fetched at once) or off, or sets (user:token) or removes (empty) the read token for its private images.

Parameters

Name In Type Required Description
key path integer (int64) yes

Request body: application/json: UpdateCatalogRequest

Responses

Any failure answers with problem details (application/problem+json) and a stable code from the error reference.

Administrators only. Removes a custom catalog and its copy; apps installed from it stay and get no more updates from it. The project’s catalogs can only be switched off (store.catalog.built_in).

Parameters

Name In Type Required Description
key path integer (int64) yes

Responses

  • 204

Any failure answers with problem details (application/problem+json) and a stable code from the error reference.

Administrators only. Fetches one catalog now as a job. A failure keeps the last verified copy and is shown with the catalog.

Parameters

Name In Type Required Description
key path integer (int64) yes

Responses

  • 202: application/json: Job

Any failure answers with problem details (application/problem+json) and a stable code from the error reference.

Administrators only. Checks now as a job: fetches every enabled catalog, then installs automatic updates and announces the others, as the daily check does.

Responses

  • 202: application/json: Job

Any failure answers with problem details (application/problem+json) and a stable code from the error reference.

Administrators only. Sets the update policy (automatic, notify, none), the daily check time (HH:mm in the box’s time zone; the box adds its own delay of up to an hour) and the channel (stable reads each catalog’s branch catalog, beta its branch catalog-next). A new channel fetches every catalog at once.

Request body: application/json: StoreSettingsRequest

Responses

Any failure answers with problem details (application/problem+json) and a stable code from the error reference.