cabinets resource on the Figranium Kotlin SDK is the typed client for the Cabinets API. Cabinets are durable, installation-wide download queues. Tasks can route intercepted browser downloads into a selected Cabinet, and later actions can upload the newest unuploaded item from that queue.
main.kt
Supported operations
cabinets covers the Cabinet lifecycle and item-management API.
Cabinet lifecycle
List, create, rename, migrate, clear, and delete Cabinets.
Item management
List Cabinet items, update upload status, and remove one or many items.
Archives
Create ZIP archives and safely extract compatible archives.
Downloads
Build item download URLs for files stored in a Cabinet.
Methods
list
list
List all Cabinets.
- HTTP endpoint:
GET /api/cabinets - Signature:
cabinets.list(options: RequestOptions = RequestOptions()): List<Cabinet>
list_cabinets.kt
create
create
Create a new Cabinet.
- HTTP endpoint:
POST /api/cabinets - Signature:
cabinets.create(name: String, options: RequestOptions = RequestOptions()): Cabinet
create_cabinet.kt
rename
rename
Rename an existing Cabinet.
- HTTP endpoint:
PATCH /api/cabinets/{cabinetId} - Signature:
cabinets.rename(id: String, name: String, options: RequestOptions = RequestOptions()): Cabinet
rename_cabinet.kt
delete
delete
Delete a Cabinet. You can optionally migrate its items to another Cabinet first.When
- HTTP endpoint:
DELETE /api/cabinets/{cabinetId} - Signature:
cabinets.delete(id: String, targetCabinetId: String? = null, migrate: Boolean = false, options: RequestOptions = RequestOptions()): JsonObject
delete_cabinet.kt
migrate is true, items are moved to targetCabinetId before the Cabinet is removed.listItems
listItems
List the items inside a Cabinet.
- HTTP endpoint:
GET /api/cabinets/{cabinetId}/items - Signature:
cabinets.listItems(id: String, options: RequestOptions = RequestOptions()): List<CabinetItem>
list_items.kt
clear
clear
Remove every item from a Cabinet.
- HTTP endpoint:
POST /api/cabinets/{cabinetId}/clear - Signature:
cabinets.clear(id: String, options: RequestOptions = RequestOptions()): JsonObject
clear_cabinet.kt
setItemStatus
setItemStatus
Update the status of one or more Cabinet items.Valid statuses are
- HTTP endpoint:
PATCH /api/cabinets/{cabinetId}/items/status - Signature:
cabinets.setItemStatus(cabinetId: String, itemIds: List<String>, status: String, options: RequestOptions = RequestOptions()): List<CabinetItem>
set_status.kt
"pending" and "uploaded".removeItems
removeItems
Remove specific items from a Cabinet.
- HTTP endpoint:
DELETE /api/cabinets/{cabinetId}/items - Signature:
cabinets.removeItems(cabinetId: String, itemIds: List<String>, options: RequestOptions = RequestOptions()): JsonObject
remove_items.kt
zipItems
zipItems
Create a ZIP archive from selected Cabinet items.
- HTTP endpoint:
POST /api/cabinets/{cabinetId}/zip - Signature:
cabinets.zipItems(cabinetId: String, itemIds: List<String>, name: String? = null, options: RequestOptions = RequestOptions()): CabinetItem
zip_items.kt
unzipItem
unzipItem
Extract a ZIP archive that is stored as a Cabinet item.
- HTTP endpoint:
POST /api/cabinets/{cabinetId}/items/{itemId}/unzip - Signature:
cabinets.unzipItem(cabinetId: String, itemId: String, options: RequestOptions = RequestOptions()): List<CabinetItem>
unzip_item.kt
downloadUrl
downloadUrl
Build a download URL for a Cabinet item. This method does not make an HTTP request. It returns a
String synchronously.- Signature:
cabinets.downloadUrl(cabinetId: String, itemId: String): String
download_url.kt
Use a Cabinet from a task
Tasks can setcabinetId to select where intercepted browser downloads are stored:
task_with_cabinet.kt
cabinetId, Figranium uses the instance’s default Cabinet. An individual Upload action can override the task-level selection with its own cabinetId.
Upload status
Cabinet items track whether they have been uploaded. Theupload action normally selects the newest unuploaded item. You can mark an item uploaded immediately with markAsUploaded, or keep finalization separate and call finalizeUploads later in the workflow.
Models
Cabinet
CabinetItem
Related resources
Action helpers
Build Upload and Finalize Uploads actions.
Tasks resource
Save and run tasks that select a Cabinet with
cabinetId.File downloads
Understand Cabinets, intercepted downloads, and the upload lifecycle.