# dsh-alist tool reference Generated by `node scripts/gen-tools-doc.js` — do not edit by hand. Baseline: AList **v3.64.0**. Catalog tools: **73** (31 read-only / 42 write, 43 admin-gated) plus 2 upload tools. `*` marks a required parameter. Every write tool triggers a mandatory native approval prompt. ## Connection & identity | Tool | Method | Endpoint | Params | Write | Admin | | --- | --- | --- | --- | --- | --- | | `alist_me` | GET | `/api/me` | | no | no | | `alist_public_settings` | GET | `/api/public/settings` | | no | no | | `alist_public_offline_tools` | GET | `/api/public/offline_download_tools` | | no | no | ## File browsing (read-only) | Tool | Method | Endpoint | Params | Write | Admin | | --- | --- | --- | --- | --- | --- | | `alist_fs_list` | POST | `/api/fs/list` | path*, password, page, per_page, refresh | no | no | | `alist_fs_get` | POST | `/api/fs/get` | path*, password | no | no | | `alist_fs_dirs` | POST | `/api/fs/dirs` | path*, password, force_root | no | no | | `alist_fs_search` | POST | `/api/fs/search` | parent*, keywords*, scope, page, per_page, password | no | no | | `alist_fs_archive_meta` | POST | `/api/fs/archive/meta` | path*, password, archive_pass | no | no | | `alist_fs_archive_list` | POST | `/api/fs/archive/list` | path*, password, archive_pass, page, per_page, refresh | no | no | | `alist_fs_link` | POST | `/api/fs/link` | path*, password | no | yes | ## File write operations | Tool | Method | Endpoint | Params | Write | Admin | | --- | --- | --- | --- | --- | --- | | `alist_fs_mkdir` | POST | `/api/fs/mkdir` | path* | yes | no | | `alist_fs_rename` | POST | `/api/fs/rename` | path*, name* | yes | no | | `alist_fs_batch_rename` | POST | `/api/fs/batch_rename` | src_dir*, rename_objects* | yes | no | | `alist_fs_regex_rename` | POST | `/api/fs/regex_rename` | src_dir*, src_name_regex*, new_name_regex* | yes | no | | `alist_fs_move` | POST | `/api/fs/move` | src_dir*, dst_dir*, names* | yes | no | | `alist_fs_recursive_move` | POST | `/api/fs/recursive_move` | src_dir*, dst_dir* | yes | no | | `alist_fs_copy` | POST | `/api/fs/copy` | src_dir*, dst_dir*, names* | yes | no | | `alist_fs_remove` | POST | `/api/fs/remove` | dir*, names* | yes | no | | `alist_fs_remove_empty_directory` | POST | `/api/fs/remove_empty_directory` | src_dir* | yes | no | | `alist_fs_add_offline_download` | POST | `/api/fs/add_offline_download` | path*, urls*, tool, delete_policy | yes | no | | `alist_fs_archive_decompress` | POST | `/api/fs/archive/decompress` | path*, dst_dir, archive_pass, inner_path, password | yes | no | ## Tasks | Tool | Method | Endpoint | Params | Write | Admin | | --- | --- | --- | --- | --- | --- | | `alist_task_list` | GET | `/api/task/{type}/{state}` | type*, state*, tid | no | no | | `alist_task_action` | POST | `/api/task/{type}/{action}` | type*, action*, tid, tids | yes | no | ## Storage (admin) | Tool | Method | Endpoint | Params | Write | Admin | | --- | --- | --- | --- | --- | --- | | `alist_admin_storage_list` | GET | `/api/admin/storage/list` | | no | yes | | `alist_admin_storage_get` | GET | `/api/admin/storage/get` | id* | no | yes | | `alist_admin_storage_create` | POST | `/api/admin/storage/create` | storage* | yes | yes | | `alist_admin_storage_update` | POST | `/api/admin/storage/update` | storage* | yes | yes | | `alist_admin_storage_delete` | POST | `/api/admin/storage/delete` | id* | yes | yes | | `alist_admin_storage_enable` | POST | `/api/admin/storage/enable` | id* | yes | yes | | `alist_admin_storage_disable` | POST | `/api/admin/storage/disable` | id* | yes | yes | | `alist_admin_storage_load_all` | POST | `/api/admin/storage/load_all` | | yes | yes | ## Drivers (admin, read-only) | Tool | Method | Endpoint | Params | Write | Admin | | --- | --- | --- | --- | --- | --- | | `alist_admin_driver_list` | GET | `/api/admin/driver/list` | | no | yes | | `alist_admin_driver_names` | GET | `/api/admin/driver/names` | | no | yes | | `alist_admin_driver_info` | GET | `/api/admin/driver/info` | driver* | no | yes | ## Users (admin) | Tool | Method | Endpoint | Params | Write | Admin | | --- | --- | --- | --- | --- | --- | | `alist_admin_user_list` | GET | `/api/admin/user/list` | | no | yes | | `alist_admin_user_get` | GET | `/api/admin/user/get` | id* | no | yes | | `alist_admin_user_create` | POST | `/api/admin/user/create` | username*, password*, base_path, role, permission, disabled, permissions | yes | yes | | `alist_admin_user_update` | POST | `/api/admin/user/update` | id*, username, password, base_path, role, permission, disabled, sso_id | yes | yes | | `alist_admin_user_delete` | POST | `/api/admin/user/delete` | id* | yes | yes | | `alist_admin_user_cancel_2fa` | POST | `/api/admin/user/cancel_2fa` | id* | yes | yes | | `alist_admin_user_del_cache` | POST | `/api/admin/user/del_cache` | id* | yes | yes | ## Roles (admin) | Tool | Method | Endpoint | Params | Write | Admin | | --- | --- | --- | --- | --- | --- | | `alist_admin_role_list` | GET | `/api/admin/role/list` | | no | yes | | `alist_admin_role_get` | GET | `/api/admin/role/get` | id* | no | yes | | `alist_admin_role_create` | POST | `/api/admin/role/create` | name*, permission | yes | yes | | `alist_admin_role_update` | POST | `/api/admin/role/update` | id*, name, permission | yes | yes | | `alist_admin_role_delete` | POST | `/api/admin/role/delete` | id* | yes | yes | ## Metadata (admin) | Tool | Method | Endpoint | Params | Write | Admin | | --- | --- | --- | --- | --- | --- | | `alist_admin_meta_list` | GET | `/api/admin/meta/list` | | no | yes | | `alist_admin_meta_get` | GET | `/api/admin/meta/get` | id* | no | yes | | `alist_admin_meta_create` | POST | `/api/admin/meta/create` | path*, password, hide, readme, write | yes | yes | | `alist_admin_meta_update` | POST | `/api/admin/meta/update` | id*, path, password, hide, readme | yes | yes | | `alist_admin_meta_delete` | POST | `/api/admin/meta/delete` | id* | yes | yes | ## Site settings (admin) | Tool | Method | Endpoint | Params | Write | Admin | | --- | --- | --- | --- | --- | --- | | `alist_admin_setting_list` | GET | `/api/admin/setting/list` | | no | yes | | `alist_admin_setting_get` | GET | `/api/admin/setting/get` | key* | no | yes | | `alist_admin_setting_save` | POST | `/api/admin/setting/save` | settings* | yes | yes | | `alist_admin_setting_delete` | POST | `/api/admin/setting/delete` | key* | yes | yes | | `alist_admin_setting_reset_token` | POST | `/api/admin/setting/reset_token` | | yes | yes | ## Search index (admin) | Tool | Method | Endpoint | Params | Write | Admin | | --- | --- | --- | --- | --- | --- | | `alist_admin_index_progress` | GET | `/api/admin/index/progress` | | no | yes | | `alist_admin_index_build` | POST | `/api/admin/index/build` | | yes | yes | | `alist_admin_index_update` | POST | `/api/admin/index/update` | | yes | yes | | `alist_admin_index_stop` | POST | `/api/admin/index/stop` | | yes | yes | | `alist_admin_index_clear` | POST | `/api/admin/index/clear` | | yes | yes | ## Sessions & messages (admin) | Tool | Method | Endpoint | Params | Write | Admin | | --- | --- | --- | --- | --- | --- | | `alist_admin_session_list` | GET | `/api/admin/session/list` | | no | yes | | `alist_admin_session_evict` | POST | `/api/admin/session/evict` | session_id* | yes | yes | | `alist_admin_message_get` | POST | `/api/admin/message/get` | | no | yes | | `alist_admin_message_send` | POST | `/api/admin/message/send` | message* | yes | yes | ## Shares | Tool | Method | Endpoint | Params | Write | Admin | | --- | --- | --- | --- | --- | --- | | `alist_share_list` | GET | `/api/share/list` | | no | no | | `alist_share_create` | POST | `/api/share/create` | path*, expires, password | yes | no | | `alist_share_update` | POST | `/api/share/update` | id*, path, expires, password | yes | no | | `alist_share_disable` | POST | `/api/share/disable` | id* | yes | no | | `alist_share_delete` | POST | `/api/share/delete` | id* | yes | no | ## Labels (read-only) | Tool | Method | Endpoint | Params | Write | Admin | | --- | --- | --- | --- | --- | --- | | `alist_label_list` | GET | `/api/label/list` | | no | no | | `alist_label_get` | GET | `/api/label/get` | id* | no | no | | `alist_label_files` | GET | `/api/label_file_binding/get_file_by_label` | label_id* | no | no | ## Uploads (special-cased) | Tool | Method | Endpoint | Params | Write | Admin | | --- | --- | --- | --- | --- | --- | | `alist_fs_put` | PUT | `/api/fs/put` | localPath*, path*, asTask | yes | no | | `alist_fs_form` | PUT | `/api/fs/form` | localPath*, path*, asTask | yes | no | - `alist_fs_put` — Stream a local file (Host-side absolute path) to AList. Respects maxUploadBytes. Honours As-Task. - `alist_fs_form` — Upload a local file as multipart/form-data, for drivers that require a form upload.