2.8 KiB
API
Iron exposes JSON APIs under /api and tus upload transport under /files.
Most /api routes require:
Authorization: Bearer <token>
Auth
POST /api/auth/loginPOST /api/auth/logoutGET /api/auth/me
Directories
GET /api/directories/{directory_id}/childrenPOST /api/directoriesPOST /api/directories/{directory_id}/renamePOST /api/directories/{directory_id}/move
Files
GET /api/files/{file_id}GET /api/files/{file_id}/downloadGET /api/files/{file_id}/previewGET /api/files/{file_id}/streamPOST /api/files/{file_id}/renamePOST /api/files/{file_id}/moveDELETE /api/files/{file_id}POST /api/files/{file_id}/restoreGET /api/files/recycle-bin
Uploads
Protocol endpoints:
POST /filesHEAD /files/{upload_id}PATCH /files/{upload_id}
Finalize endpoint:
POST /api/uploads/{upload_id}/finalize
Backends
GET /api/backendsPOST /api/backendsPATCH /api/backends/{backend_id}POST /api/backends/{backend_id}/checkPOST /api/backends/{backend_id}/disablePOST /api/backends/{backend_id}/enableDELETE /api/backends/{backend_id}
Backend type values:
local_directorys3webdav
Backend responses include public config values plus a secret_fields list for
configured credentials. Secret fields such as S3 credentials and WebDAV
passwords are never echoed back in clear text.
Backend updates preserve existing secret fields when they are omitted from the
request config, and replace them only when a new value is provided.
WebDAV configs should set root_path so Iron uses a dedicated folder tree
inside the remote endpoint, which is a good fit for OpenList-managed cloud
drives.
Backend deletion is guarded: the backend must be disabled first, must not be the
default local backend, must not still store blob replicas, and must not be
referenced by placement policies.
Jobs
GET /api/jobsGET /api/jobs/{job_id}POST /api/jobs/{job_id}/retryPOST /api/jobs/run-pendingPOST /api/jobs/enqueue-health-checksPOST /api/jobs/enqueue-full-reconcile
Placement Policies
GET /api/policies/placementPUT /api/policies/placement/{file_class}GET /api/policies/placement/preview
Saving a placement policy also enqueues one full reconcile job so desired replica placement converges without a separate manual step.
Metadata Export And Recovery
GET /api/exports/metadataPOST /api/exports/metadata/validateGET /api/exports/metadata/integrityPOST /api/exports/metadata/restore-planPOST /api/exports/metadata/import
Metadata import requires confirm_replace=true and a validation token from the
restore-plan endpoint.
System
GET /api/system/healthGET /api/system/ready