Skip to content

Assets โ€‹

Individual files in the Asset Store. Every uploaded binary โ€” image, PDF, archive, video โ€” is an asset record. Assets can live inside a Folder or at the root level, and can be exposed externally via Shares.

Scopes โ€‹

ScopeReach
store:readListing, reading, downloading, viewing shares.
store:writeUploading, updating, patching, deleting.

Endpoints โ€‹

List Assets โ€‹

GET /api/store/asset/

Returns a page of asset records.

Required scope: store:read ยท also accepts API key

Query parameters โ€” standard pagination set; see Conventions โ€บ Pagination.

NameTypeDefaultNotes
cursorstringโ€”Cursor token.
limitinteger501โ€“250.
sort_bystringcreatedAny sortable field.
sort_orderstringdescasc or desc.
hydratebooleantrueSee Hydration.
include_totalbooleantrueSkip count for faster pages.

Response 200 โ€” AssetInDbCursorPage

Get Asset Filter Metadata โ€‹

GET /api/store/asset/filters

Returns the filter/operator/sort options accepted by List Assets. See Conventions โ€บ Filter Metadata.

Required scope: store:read

Response 200 โ€” open metadata object.

Get Asset by ID โ€‹

GET /api/store/asset/{id}

Returns a single asset by ID.

Required scope: store:read ยท also accepts API key

Path parameters

NameTypeRequiredDescription
idstringyesAsset ID.

Response 200 โ€” AssetRead

Get Asset Shares โ€‹

GET /api/store/asset/{id}/shares

Lists every share record that targets a given asset.

Required scope: store:read

Path parameters

NameTypeRequiredDescription
idstringyesAsset ID.

Response 200 โ€” array of share records.

Download Assets โ€‹

GET /api/store/asset/download?id=<id1>&id=<id2>โ€ฆ

Downloads one or more assets. Multiple id query parameters can be supplied to bundle several assets into a single archive download.

Required scope: store:read

Query parameters

NameTypeRequiredDescription
idstring (repeated)yesOne or more asset IDs. Repeat the parameter for each asset.

Response 200 โ€” binary stream (single asset payload, or zip of multiple).

Upload Asset โ€‹

POST /api/store/asset/upload

Uploads a new asset (file bytes via multipart/form-data).

Required scope: store:write

Query parameters

NameTypeDescription
folderstringOptional folder ID to place the asset in. Defaults to the root level when omitted.

Request body โ€” Body_Assets-Upload_Asset (multipart/form-data). Send the file bytes in the documented file field.

Max upload size: 100 MB per request โ€” see Conventions โ€บ Uploads.

Response 201 โ€” AssetRead

Update Asset by ID โ€‹

PUT /api/store/asset/{id}

Replaces the asset metadata (the file payload is unchanged โ€” re-upload is the only way to swap the bytes).

Required scope: store:write

Path parameters

NameTypeRequiredDescription
idstringyesAsset ID.

Request body โ€” AssetWriteReplace

Response 200 โ€” AssetRead

Patch Asset โ€‹

PATCH /api/store/asset/{id}

Partial metadata update โ€” supply only the fields you want to change.

Required scope: store:write

Path parameters

NameTypeRequiredDescription
idstringyesAsset ID.

Request body โ€” AssetWriteUpdate

Response 200 โ€” AssetRead

Delete Asset by ID โ€‹

DELETE /api/store/asset/{id}

Removes the asset record and its underlying file.

Required scope: store:write

Path parameters

NameTypeRequiredDescription
idstringyesAsset ID.

Response 204 โ€” empty.

WARNING

Deletion is irreversible and cascades to active Shares that pointed at the asset. Existing share links 404 after the asset is gone.

See also โ€‹

S-Launch