Commands
Overview¶
| Endpoint | Middleware | Title |
|---|---|---|
| POST /command/volume.Create | public | Create a volume |
| POST /command/volume.VerifyIntegrity | public | Verify data integrity |
| POST /command/volume.ChangeQuota | public | Change quota |
| POST /command/volume.Rename | public | Rename |
| POST /command/volume.ChangeDescription | public | Change description |
| POST /command/volume.ChangeNotes | public | Change notes |
| POST /command/volume.SetTopology | public | Set topology |
| POST /command/volume.ChangeZone | public | Change zone |
| POST /command/volume.SmartSetId | public | Set SMART ID |
| POST /command/volume.SetTechnology | public | Set technology |
| POST /command/volume.SetSerialNumber | public | Set serial number |
| POST /command/volume.SetManufacturingDate | public | Set manufacturing date |
| POST /command/volume.SetWarrantyEndDate | public | Set warranty end date |
| POST /command/volume.MountLocal | public | Mount a local volume |
| POST /command/volume.MountS3 | public | Mount AWS S3-compliant volume |
| POST /command/volume.MountGoogleDrive | public | Mount Google Drive volume |
| POST /command/volume.Unmount | public | Unmount |
| POST /command/volume.MigrateData | public | Migrate data to another volume |
| POST /command/volume.RemoveQueuedReplications | public | Remove queued replications |
| POST /command/volume.MarkDataLost | public | Mark all volume data lost |
| POST /command/volume.Decommission | public | Decommission the volume |
| POST /command/directory.Create | public | + Directory |
| POST /command/directory.Rename | public | Rename |
| POST /command/directory.ChangeDescription | public | Change description |
| POST /command/directory.SetType | public | Set directory type |
| POST /command/directory.Move | public | Move |
| POST /command/directory.PullTmdbMetadata | public | Metadata: pull from TMDb |
| POST /command/directory.ChangeSensitivity | public | Change sensitivity |
| POST /command/directory.ChangeReplicationPolicy | public | Change replication policy |
| POST /command/directory.Delete | public | Delete |
| POST /command/collection.Create | public | + Collection |
| POST /command/collection.Move | public | Move |
| POST /command/collection.Rate | public | Rate |
| POST /command/collection.RefreshMetadataAutomatically | public | Refresh metadata automatically |
| POST /command/collection.PullTmdbMetadata | public | Metadata: pull from TMDb |
| POST /command/collection.PullIgdbMetadata | public | Metadata: pull from IGDB |
| POST /command/collection.TriggerMediaScan | public | Metadata: refresh |
| POST /command/collection.ChangeSensitivity | public | Change sensitivity |
| POST /command/collection.MoveFilesIntoAnotherCollection | public | Move files to another collection |
| POST /command/collection.DeleteFiles | public | Delete files |
| POST /command/collection.Rename | public | Rename |
| POST /command/collection.Delete | public | Delete |
| POST /command/collection.ChangeDescription | public | Change description |
| POST /command/collection.Tag | public | Tag |
| POST /command/collection.Untag | public | Untag |
| POST /command/replicationpolicy.Create | public | Create replication policy |
| POST /command/replicationpolicy.Rename | public | Rename |
| POST /command/replicationpolicy.ChangeMinZones | public | Change mininum zones |
| POST /command/replicationpolicy.ChangeDesiredVolumes | public | Change desired volumes |
| POST /command/node.SmartScan | public | SMART scan |
| POST /command/node.CheckForUpdates | public | Check for updates |
| POST /command/node.ChangeSmartBackend | public | Change SMART backend |
| POST /command/node.InstallTlsCert | public | Install TLS cert |
| POST /command/kek.GenerateOrImport | public | Generate or import key encryption key |
| POST /command/database.ScanAbandoned | public | Scan for abandoned blobs |
| POST /command/database.DiscoverReconcilableReplicationPolicies | public | Discover reconcilable replication policies |
| POST /command/database.ReconcileReplicationPolicy | public | Replicate to volume |
| POST /command/database.Backup | public | Backup database |
| POST /command/database.BackupConfigure | public | Configure backup |
| POST /command/integrityverificationjob.Resume | public | Resume |
| POST /command/integrityverificationjob.Stop | public | Stop |
| POST /command/config.SetTheMovieDbApikey | public | Set https://themoviedb.org API key |
| POST /command/config.SetIgdbApikey | public | Set https://www.igdb.com API key |
| POST /command/config.SetNetworkShareBaseUrl | public | Set network share baseurl |
| POST /command/config.SetGrafanaUrl | public | Set Grafana URL |
| POST /command/config.SetMediascannerState | public | Set media scanner state |
| POST /command/fuse.UnmountAll | public | Unmount all cached mounts |
| POST /command/config.SetFuseServerBaseurl | public | Set FUSE server baseurl |
| POST /command/subsystem.Start | public | Start |
| POST /command/subsystem.Stop | public | Stop |
| POST /command/scheduledjob.Start | public | Start manually |
| POST /command/scheduledjob.ChangeSchedule | public | Change schedule |
| POST /command/scheduledjob.Enable | public | Enable |
| POST /command/scheduledjob.Disable | public | Disable |
| POST /command/apikey.Create | public | Create API key |
| POST /command/apikey.Remove | public | Remove API key |
volume.Create¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Name | text | true | |
| Quota | integer | true | 1 GiB = 1024 MiB. 1 TiB = 1048576 MiB |
| Don't worry about this - you can change this later. |
volume.VerifyIntegrity¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | integer | true | |
| Start | checkbox | true |
volume.ChangeQuota¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | integer | true | |
| Quota | integer | true | 1 GiB = 1024 MiB. 1 TiB = 1048576 MiB |
volume.Rename¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | integer | true | |
| Name | text | true |
volume.ChangeDescription¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | integer | true | |
| Description | text | false |
volume.ChangeNotes¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | integer | true | |
| Notes | multiline | false |
volume.SetTopology¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | integer | true | |
| Enclosure | text | false | |
| Slot | integer | false |
volume.ChangeZone¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | integer | true | |
| Zone | text | true |
volume.SmartSetId¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | integer | true | |
| SmartId | text | false | Usually path to the Linux disk device |
volume.SetTechnology¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | integer | true | |
| Technology | VolumeTechnology | true | disk-hdd |
volume.SetSerialNumber¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | integer | true | |
| SerialNumber | text | false |
volume.SetManufacturingDate¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | integer | true | |
| ManufacturingDate | date | false |
volume.SetWarrantyEndDate¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | integer | true | |
| WarrantyEndDate | date | false |
volume.MountLocal¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | integer | true | |
| Path | text | true |
volume.MountS3¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | integer | true | |
| Bucket | text | true | |
| PathPrefix | text | true | If you don't want prefix, use "/" |
| RegionId | text | true | |
| AccessKeyId | text | true | |
| AccessKeySecret | text | true |
volume.MountGoogleDrive¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | integer | true | |
| FolderId | text | true | |
| ClientId | text | true | |
| ClientSecret | text | true | |
| AuthCode | text | false | This authorizes Varasto to access your Google Drive files |
volume.Unmount¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | text | true |
volume.MigrateData¶
| Field | Type | Required | Notes |
|---|---|---|---|
| From | integer | true | |
| To | custom/integer | true |
volume.RemoveQueuedReplications¶
| Field | Type | Required | Notes |
|---|---|---|---|
| From | integer | true |
volume.MarkDataLost¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | integer | true | |
| OnlyIfRedundancy | checkbox | true | Failsafe for you to reconsider if it losing last replica would come as a surprise. |
volume.Decommission¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | integer | true | |
| Reason | text | true |
directory.Create¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Parent | text | true | |
| Name | text | true |
directory.Rename¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | text | true | |
| Name | text | true |
directory.ChangeDescription¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | text | true | |
| Description | text | false |
directory.SetType¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | text | true | |
| Type | DirectoryType | true | Available values: generic,movies,series,games,podcasts |
directory.Move¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | text | true | |
| Directory | text | true |
directory.PullTmdbMetadata¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Directory | text | true | |
| ForeignKey | custom/string | true |
directory.ChangeSensitivity¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | text | true | |
| Sensitivity | integer | true |
directory.ChangeReplicationPolicy¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | text | true | |
| Policy | custom/string | false |
directory.Delete¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | text | true |
collection.Create¶
| Field | Type | Required | Notes |
|---|---|---|---|
| ParentDir | text | true | |
| Name | text | true |
collection.Move¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Collections | StringList | true | |
| Directory | text | true |
collection.Rate¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Collection | text | true | |
| Rating | integer | true |
collection.RefreshMetadataAutomatically¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Collections | StringList | true |
collection.PullTmdbMetadata¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Collection | text | true | |
| ForeignKey | custom/string | true | |
| ScrubName | checkbox | true | Renames your collection to the official name - if they're different |
collection.PullIgdbMetadata¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Collection | text | true | |
| ForeignKey | custom/string | true | |
| ScrubName | checkbox | true | Renames your collection to the official name - if they're different |
collection.TriggerMediaScan¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Collection | text | true | |
| AllowDestructive | checkbox | true | If video files have thumbnail with same file base name, move it under metadata as actual thumbnail of that file - even persists across renames. |
collection.ChangeSensitivity¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | text | true | |
| Sensitivity | integer | true |
collection.MoveFilesIntoAnotherCollection¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Source | text | true | |
| Files | StringList | true | |
| Destination | text | true | Collection ID |
collection.DeleteFiles¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Source | text | true | |
| Files | StringList | true |
collection.Rename¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Collection | text | true | |
| Name | text | true |
collection.Delete¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Collection | text | true | |
| Name | text | true |
collection.ChangeDescription¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Collection | text | true | |
| Description | text | false |
collection.Tag¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | text | true | |
| Tag | text | true |
collection.Untag¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | text | true | |
| Tag | text | true |
replicationpolicy.Create¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Name | text | true | |
| MinZones | integer | true |
replicationpolicy.Rename¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | text | true | |
| Name | text | true |
replicationpolicy.ChangeMinZones¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | text | true | |
| MinZones | integer | true |
replicationpolicy.ChangeDesiredVolumes¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | text | true | |
| Volume1 | custom/integer | false | |
| Volume2 | custom/integer | false | |
| Volume3 | custom/integer | false | |
| Volume4 | custom/integer | false |
node.SmartScan¶
| Field | Type | Required | Notes |
|---|---|---|---|
node.CheckForUpdates¶
| Field | Type | Required | Notes |
|---|---|---|---|
node.ChangeSmartBackend¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | text | true | |
| Backend | SmartBackend | true |
node.InstallTlsCert¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | text | true | |
| TlsCertificate | multiline | true | |
| TlsCertificatePrivateKey | multiline | false |
kek.GenerateOrImport¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Label | text | true | |
| Data | multiline | false | If you want to import existing key, paste it here. Otherwise, a key will be generated for you. |
database.ScanAbandoned¶
| Field | Type | Required | Notes |
|---|---|---|---|
database.DiscoverReconcilableReplicationPolicies¶
| Field | Type | Required | Notes |
|---|---|---|---|
database.ReconcileReplicationPolicy¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Collections | StringList | true | |
| Volume | custom/integer | true |
database.Backup¶
| Field | Type | Required | Notes |
|---|---|---|---|
database.BackupConfigure¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Bucket | text | true | |
| BucketRegion | text | true | |
| AccessKeyId | text | true | |
| AccessKeySecret | text | true | |
| EncryptionPublicKey | multiline | true | |
| AlertmanagerBaseUrl | text | false | Only used if you're using lambda-alertmanager |
| ConnectivityCheck | checkbox | true | Try to connect to S3 to validate connection details |
integrityverificationjob.Resume¶
| Field | Type | Required | Notes |
|---|---|---|---|
| JobId | text | true |
integrityverificationjob.Stop¶
| Field | Type | Required | Notes |
|---|---|---|---|
| JobId | text | true |
config.SetTheMovieDbApikey¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Apikey | text | false | |
| Validation | checkbox | true | Makes a test request against the API to validate the key |
config.SetIgdbApikey¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Apikey | text | false | |
| Validation | checkbox | true | Makes a test request against the API to validate the key |
config.SetNetworkShareBaseUrl¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Baseurl | text | false |
config.SetGrafanaUrl¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Url | text | false |
config.SetMediascannerState¶
| Field | Type | Required | Notes |
|---|---|---|---|
| State | text | false |
fuse.UnmountAll¶
| Field | Type | Required | Notes |
|---|---|---|---|
config.SetFuseServerBaseurl¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Baseurl | text | false |
subsystem.Start¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | SubsystemId | true |
subsystem.Stop¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | SubsystemId | true |
scheduledjob.Start¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | text | true |
scheduledjob.ChangeSchedule¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | text | true | |
| Schedule | text | true | https://godoc.org/github.com/robfig/cron |
scheduledjob.Enable¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | text | true |
scheduledjob.Disable¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | text | true |
apikey.Create¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Name | text | true | Describe where the key will be used. |
apikey.Remove¶
| Field | Type | Required | Notes |
|---|---|---|---|
| Id | text | true |