Storage

Generated storage operations.

GET/v1/storage/mountsRead storage mountsadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
get_storage_mounts

Responses

200Successapplication/json

Example
{
  "limits": {
    "key": 0
  },
  "mountSupported": true,
  "mounts": [
    {
      "actions": [
        "string"
      ],
      "backendRevision": 0,
      "cacheBytes": 0,
      "cacheFloor": 0,
      "controlRevision": 0,
      "desiredState": "string",
      "error": "string",
      "executable": "string",
      "executableDigest": "string",
      "executableVersion": "string",
      "id": "id_8h2k4q",
      "mountPath": "string",
      "name": "Fargo",
      "observedState": "string",
      "programIncluded": true,
      "removalPending": true
    }
  ],
  "revision": 0,
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • limitsobjectrequired
  • mountSupportedbooleanrequired
  • mountsarray of objectrequired
    • actionsarray of stringrequired
    • backendRevisionintegerrequired
    • cacheBytesintegerrequired
    • cacheFloorintegerrequired
    • controlRevisionintegerrequired
    • desiredStatestringrequired
    • errorstring
    • executablestringrequired
    • executableDigeststring
    • executableVersionstringrequired
    • idstringrequired
    • mountPathstringrequired
    • namestringrequired
    • observedStatestringrequired
    • programIncludedbooleanrequired
    • removalPendingbooleanrequired
  • revisionintegerrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busy

Example request

curl -X GET "http://127.0.0.1:32500/v1/storage/mounts" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
POST/v1/storage/mountsRun storage mountsadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
post_storage_mounts
Max body
64 KiB

Request body application/json · required

Example
{
  "action": "string",
  "cacheBytes": 0,
  "cacheFloor": 0,
  "config": "string",
  "executable": "string",
  "expectedRevision": 0,
  "name": "Fargo",
  "operationId": "id_8h2k4q",
  "remote": "string",
  "setup": {
    "accessKey": "string",
    "bucket": "string",
    "endpoint": "string",
    "prefix": "string",
    "region": "string",
    "secretKey": "string"
  }
}
Schema
  • actionstring
  • cacheBytesinteger
  • cacheFloorinteger
  • configstring
  • executablestring
  • expectedRevisioninteger
  • namestring
  • operationIdstringrequired
  • remotestring
  • setupobject
    • accessKeystringrequired
    • bucketstringrequired
    • endpointstringrequired
    • prefixstringrequired
    • regionstringrequired
    • secretKeystringrequired

Responses

200Successapplication/json

Example
{
  "accepted": true,
  "controlRevision": 0,
  "deleted": true,
  "mount": {
    "actions": [
      "string"
    ],
    "backendRevision": 0,
    "cacheBytes": 0,
    "cacheFloor": 0,
    "controlRevision": 0,
    "desiredState": "string",
    "error": "string",
    "executable": "string",
    "executableDigest": "string",
    "executableVersion": "string",
    "id": "id_8h2k4q",
    "mountPath": "string",
    "name": "Fargo",
    "observedState": "string",
    "programIncluded": true,
    "removalPending": true
  },
  "mountId": "id_8h2k4q",
  "operationId": "id_8h2k4q",
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • acceptedbooleanrequired
  • controlRevisionintegerrequired
  • deletedbooleanrequired
  • mountobject
    • actionsarray of stringrequired
    • backendRevisionintegerrequired
    • cacheBytesintegerrequired
    • cacheFloorintegerrequired
    • controlRevisionintegerrequired
    • desiredStatestringrequired
    • errorstring
    • executablestringrequired
    • executableDigeststring
    • executableVersionstringrequired
    • idstringrequired
    • mountPathstringrequired
    • namestringrequired
    • observedStatestringrequired
    • programIncludedbooleanrequired
    • removalPendingbooleanrequired
  • mountIdstringrequired
  • operationIdstringrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busywriter_capacity

Example request

curl -X POST "http://127.0.0.1:32500/v1/storage/mounts" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "action": "string",
  "cacheBytes": 0,
  "cacheFloor": 0,
  "config": "string",
  "executable": "string",
  "expectedRevision": 0,
  "name": "Fargo",
  "operationId": "id_8h2k4q",
  "remote": "string",
  "setup": {
    "accessKey": "string",
    "bucket": "string",
    "endpoint": "string",
    "prefix": "string",
    "region": "string",
    "secretKey": "string"
  }
}'
DELETE/v1/storage/mounts/{id}Remove storage mountsadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
delete_storage_mounts_id
Max body
64 KiB

Parameters

NameInTypeDescription
idrequiredpathstring

Request body application/json · required

Example
{
  "action": "string",
  "cacheBytes": 0,
  "cacheFloor": 0,
  "config": "string",
  "executable": "string",
  "expectedRevision": 0,
  "name": "Fargo",
  "operationId": "id_8h2k4q",
  "remote": "string",
  "setup": {
    "accessKey": "string",
    "bucket": "string",
    "endpoint": "string",
    "prefix": "string",
    "region": "string",
    "secretKey": "string"
  }
}
Schema
  • actionstring
  • cacheBytesinteger
  • cacheFloorinteger
  • configstring
  • executablestring
  • expectedRevisioninteger
  • namestring
  • operationIdstringrequired
  • remotestring
  • setupobject
    • accessKeystringrequired
    • bucketstringrequired
    • endpointstringrequired
    • prefixstringrequired
    • regionstringrequired
    • secretKeystringrequired

Responses

200Successapplication/json

Example
{
  "accepted": true,
  "controlRevision": 0,
  "deleted": true,
  "mount": {
    "actions": [
      "string"
    ],
    "backendRevision": 0,
    "cacheBytes": 0,
    "cacheFloor": 0,
    "controlRevision": 0,
    "desiredState": "string",
    "error": "string",
    "executable": "string",
    "executableDigest": "string",
    "executableVersion": "string",
    "id": "id_8h2k4q",
    "mountPath": "string",
    "name": "Fargo",
    "observedState": "string",
    "programIncluded": true,
    "removalPending": true
  },
  "mountId": "id_8h2k4q",
  "operationId": "id_8h2k4q",
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • acceptedbooleanrequired
  • controlRevisionintegerrequired
  • deletedbooleanrequired
  • mountobject
    • actionsarray of stringrequired
    • backendRevisionintegerrequired
    • cacheBytesintegerrequired
    • cacheFloorintegerrequired
    • controlRevisionintegerrequired
    • desiredStatestringrequired
    • errorstring
    • executablestringrequired
    • executableDigeststring
    • executableVersionstringrequired
    • idstringrequired
    • mountPathstringrequired
    • namestringrequired
    • observedStatestringrequired
    • programIncludedbooleanrequired
    • removalPendingbooleanrequired
  • mountIdstringrequired
  • operationIdstringrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busywriter_capacity

Example request

curl -X DELETE "http://127.0.0.1:32500/v1/storage/mounts/{id}" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "action": "string",
  "cacheBytes": 0,
  "cacheFloor": 0,
  "config": "string",
  "executable": "string",
  "expectedRevision": 0,
  "name": "Fargo",
  "operationId": "id_8h2k4q",
  "remote": "string",
  "setup": {
    "accessKey": "string",
    "bucket": "string",
    "endpoint": "string",
    "prefix": "string",
    "region": "string",
    "secretKey": "string"
  }
}'
POST/v1/storage/mounts/{id}/actionsRun storage mounts actionsadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
post_storage_mounts_id_actions
Max body
64 KiB

Parameters

NameInTypeDescription
idrequiredpathstring

Request body application/json · required

Example
{
  "action": "string",
  "cacheBytes": 0,
  "cacheFloor": 0,
  "config": "string",
  "executable": "string",
  "expectedRevision": 0,
  "name": "Fargo",
  "operationId": "id_8h2k4q",
  "remote": "string",
  "setup": {
    "accessKey": "string",
    "bucket": "string",
    "endpoint": "string",
    "prefix": "string",
    "region": "string",
    "secretKey": "string"
  }
}
Schema
  • actionstring
  • cacheBytesinteger
  • cacheFloorinteger
  • configstring
  • executablestring
  • expectedRevisioninteger
  • namestring
  • operationIdstringrequired
  • remotestring
  • setupobject
    • accessKeystringrequired
    • bucketstringrequired
    • endpointstringrequired
    • prefixstringrequired
    • regionstringrequired
    • secretKeystringrequired

Responses

200Successapplication/json

Example
{
  "accepted": true,
  "controlRevision": 0,
  "deleted": true,
  "mount": {
    "actions": [
      "string"
    ],
    "backendRevision": 0,
    "cacheBytes": 0,
    "cacheFloor": 0,
    "controlRevision": 0,
    "desiredState": "string",
    "error": "string",
    "executable": "string",
    "executableDigest": "string",
    "executableVersion": "string",
    "id": "id_8h2k4q",
    "mountPath": "string",
    "name": "Fargo",
    "observedState": "string",
    "programIncluded": true,
    "removalPending": true
  },
  "mountId": "id_8h2k4q",
  "operationId": "id_8h2k4q",
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • acceptedbooleanrequired
  • controlRevisionintegerrequired
  • deletedbooleanrequired
  • mountobject
    • actionsarray of stringrequired
    • backendRevisionintegerrequired
    • cacheBytesintegerrequired
    • cacheFloorintegerrequired
    • controlRevisionintegerrequired
    • desiredStatestringrequired
    • errorstring
    • executablestringrequired
    • executableDigeststring
    • executableVersionstringrequired
    • idstringrequired
    • mountPathstringrequired
    • namestringrequired
    • observedStatestringrequired
    • programIncludedbooleanrequired
    • removalPendingbooleanrequired
  • mountIdstringrequired
  • operationIdstringrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busywriter_capacity

Example request

curl -X POST "http://127.0.0.1:32500/v1/storage/mounts/{id}/actions" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "action": "string",
  "cacheBytes": 0,
  "cacheFloor": 0,
  "config": "string",
  "executable": "string",
  "expectedRevision": 0,
  "name": "Fargo",
  "operationId": "id_8h2k4q",
  "remote": "string",
  "setup": {
    "accessKey": "string",
    "bucket": "string",
    "endpoint": "string",
    "prefix": "string",
    "region": "string",
    "secretKey": "string"
  }
}'
GET/v1/storage/operations/{id}Read storage operationsadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
get_storage_operations_id

Parameters

NameInTypeDescription
idrequiredpathstring

Responses

200Successapplication/json

Example
{
  "accepted": true,
  "controlRevision": 0,
  "deleted": true,
  "mount": {
    "actions": [
      "string"
    ],
    "backendRevision": 0,
    "cacheBytes": 0,
    "cacheFloor": 0,
    "controlRevision": 0,
    "desiredState": "string",
    "error": "string",
    "executable": "string",
    "executableDigest": "string",
    "executableVersion": "string",
    "id": "id_8h2k4q",
    "mountPath": "string",
    "name": "Fargo",
    "observedState": "string",
    "programIncluded": true,
    "removalPending": true
  },
  "mountId": "id_8h2k4q",
  "operationId": "id_8h2k4q",
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • acceptedbooleanrequired
  • controlRevisionintegerrequired
  • deletedbooleanrequired
  • mountobject
    • actionsarray of stringrequired
    • backendRevisionintegerrequired
    • cacheBytesintegerrequired
    • cacheFloorintegerrequired
    • controlRevisionintegerrequired
    • desiredStatestringrequired
    • errorstring
    • executablestringrequired
    • executableDigeststring
    • executableVersionstringrequired
    • idstringrequired
    • mountPathstringrequired
    • namestringrequired
    • observedStatestringrequired
    • programIncludedbooleanrequired
    • removalPendingbooleanrequired
  • mountIdstringrequired
  • operationIdstringrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busy

Example request

curl -X GET "http://127.0.0.1:32500/v1/storage/operations/{id}" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
GET/v1/storage/rclone/bundledRead bundled rclone startup statusadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
get_storage_rclone_bundled

Responses

200Successapplication/json

Example
{
  "available": true,
  "errorCode": "string",
  "included": true,
  "minimumVersion": "string",
  "version": "string"
}
Schema
  • availablebooleanrequired
  • errorCodestringrequired
  • includedbooleanrequired
  • minimumVersionstringrequired
  • versionstringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busy

Example request

curl -X GET "http://127.0.0.1:32500/v1/storage/rclone/bundled" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
GET/v1/storage/source-operations/{id}Read storage source operationsadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
get_storage_source_operations_id

Parameters

NameInTypeDescription
idrequiredpathstring

Responses

200Successapplication/json

Example
{
  "receipt": {
    "accepted": true,
    "operationId": "id_8h2k4q",
    "readSettings": {
      "choiceApplicableFields": [
        "scanDepth"
      ],
      "choiceBaseline": {
        "advanced": {
          "cacheBytes": 0,
          "cacheFloorBytes": 0,
          "chapterImages": true,
          "checksums": true,
          "connectTimeoutSeconds": 0,
          "dirCacheSeconds": 0,
          "doubleCheckFolders": true,
          "fullRecheckDays": 0,
          "idleTimeoutSeconds": 0,
          "introsMode": "off",
          "loudness": true,
          "lowLevelRetries": 0,
          "readBufferBytes": 0,
          "retries": 0,
          "scanIntervalSeconds": 0,
          "scanOnStart": true,
          "seekPreviews": true,
          "watchForChanges": true,
          "waveforms": true
        },
        "advancedRevision": 1,
        "applicableFields": [
          "scanDepth"
        ],
        "changedFields": [
          "scanDepth"
        ],
        "configurationGeneration": "string",
        "currentAdvanced": {
          "cacheBytes": 0,
          "cacheFloorBytes": 0,
          "chapterImages": true,
          "checksums": true,
          "connectTimeoutSeconds": 0,
          "dirCacheSeconds": 0,
          "doubleCheckFolders": true,
          "fullRecheckDays": 0,
          "idleTimeoutSeconds": 0,
          "introsMode": "off",
          "loudness": true,
          "lowLevelRetries": 0,
          "readBufferBytes": 0,
          "retries": 0,
          "scanIntervalSeconds": 0,
          "scanOnStart": true,
          "seekPreviews": true,
          "watchForChanges": true,
          "waveforms": true
        },
        "definitionRevision": 1,
        "generation": "string",
        "name": "list",
        "readRevision": 1,
        "reading": {
          "bytesPerSecond": 0,
          "connections": 1,
          "requestsPerSecond": 1,
          "scanDepth": "file_list_only",
          "wholeFileReads": false
        },
        "sourceId": "id_8h2k4q"
      },
      "choiceDefinitions": [
        {
          "advanced": {},
          "definitionRevision": 1,
          "name": "list",
          "reading": {}
        }
      ],
      "configurationGeneration": "string",
      "generation": "string",
      "revision": 0,
      "saved": true,
      "sourceId": "id_8h2k4q",
      "values": {
        "allowAdvancedMediaAnalysis": true,
        "bytesPerSecond": 0,
        "connections": 1,
        "requestsPerSecond": 1,
        "scanDepth": "file_list_only",
        "wholeFileReads": true
      }
    },
    "removed": true,
    "source": {
      "credentialPresent": true,
      "errorCode": "string",
      "generation": 0,
      "id": "id_8h2k4q",
      "insecureLocal": true,
      "kind": "rclone",
      "mountId": "id_8h2k4q",
      "name": "Fargo",
      "origin": "string",
      "rangeSupport": "string",
      "rootPath": "string",
      "state": "string"
    }
  },
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • receiptobjectrequired
    • acceptedbooleanrequired
    • operationIdstringrequired
    • readSettingsobject
      • choiceApplicableFieldsarray of string1–23 items
      • choiceBaselineobject
        • advancedobjectrequired
          • cacheBytesintegerrequired

            0 disables the read cache; otherwise 64 MiB through 64 GiB.

          • cacheFloorBytesintegerrequired

            0 keeps the mount's current free-space floor; otherwise 1 GiB through 1 TiB.

          • chapterImagesbooleanrequired
          • checksumsbooleanrequired
          • connectTimeoutSecondsintegerrequired
          • dirCacheSecondsintegerrequired
          • doubleCheckFoldersbooleanrequired
          • fullRecheckDaysintegerrequiredone of 0, 7, 14, 30
          • idleTimeoutSecondsintegerrequired
          • introsModestringrequiredone of "off", "inherit", "sound", "picture"
          • loudnessbooleanrequired
          • lowLevelRetriesintegerrequired
          • readBufferBytesintegerrequired
          • retriesintegerrequired
          • scanIntervalSecondsintegerrequiredone of 0, 900, 3600, 21600, 86400, 604800
          • scanOnStartbooleanrequired
          • seekPreviewsbooleanrequired
          • watchForChangesbooleanrequired
          • waveformsbooleanrequired
        • advancedRevisionintegerrequired≥ 1
        • applicableFieldsarray of stringrequired0–23 items
        • changedFieldsarray of stringrequired0–23 items
        • configurationGenerationstringrequiredpattern ^[1-9][0-9]{0,18}$
        • currentAdvancedobjectrequired
          • cacheBytesintegerrequired

            0 disables the read cache; otherwise 64 MiB through 64 GiB.

          • cacheFloorBytesintegerrequired

            0 keeps the mount's current free-space floor; otherwise 1 GiB through 1 TiB.

          • chapterImagesbooleanrequired
          • checksumsbooleanrequired
          • connectTimeoutSecondsintegerrequired
          • dirCacheSecondsintegerrequired
          • doubleCheckFoldersbooleanrequired
          • fullRecheckDaysintegerrequiredone of 0, 7, 14, 30
          • idleTimeoutSecondsintegerrequired
          • introsModestringrequiredone of "off", "inherit", "sound", "picture"
          • loudnessbooleanrequired
          • lowLevelRetriesintegerrequired
          • readBufferBytesintegerrequired
          • retriesintegerrequired
          • scanIntervalSecondsintegerrequiredone of 0, 900, 3600, 21600, 86400, 604800
          • scanOnStartbooleanrequired
          • seekPreviewsbooleanrequired
          • watchForChangesbooleanrequired
          • waveformsbooleanrequired
        • definitionRevisionintegerrequired≥ 1
        • generationstringrequiredpattern ^[1-9][0-9]{0,18}$
        • namestringrequiredone of "list", "once", "everything", "ask"
        • readRevisionintegerrequired≥ 1
        • readingobjectrequired
          • bytesPerSecond0 | integerrequired
          • connectionsintegerrequired1–32
          • requestsPerSecondintegerrequired1–50
          • scanDepthstringrequiredone of "file_list_only", "basic", "complete"
          • wholeFileReadsfalserequired
        • sourceIdstringrequiredlength 1–160
      • choiceDefinitionsarray of object4–4 items
        • advancedobjectrequired
          • cacheBytesintegerrequired

            0 disables the read cache; otherwise 64 MiB through 64 GiB.

          • cacheFloorBytesintegerrequired

            0 keeps the mount's current free-space floor; otherwise 1 GiB through 1 TiB.

          • chapterImagesbooleanrequired
          • checksumsbooleanrequired
          • connectTimeoutSecondsintegerrequired
          • dirCacheSecondsintegerrequired
          • doubleCheckFoldersbooleanrequired
          • fullRecheckDaysintegerrequiredone of 0, 7, 14, 30
          • idleTimeoutSecondsintegerrequired
          • introsModestringrequiredone of "off", "inherit", "sound", "picture"
          • loudnessbooleanrequired
          • lowLevelRetriesintegerrequired
          • readBufferBytesintegerrequired
          • retriesintegerrequired
          • scanIntervalSecondsintegerrequiredone of 0, 900, 3600, 21600, 86400, 604800
          • scanOnStartbooleanrequired
          • seekPreviewsbooleanrequired
          • watchForChangesbooleanrequired
          • waveformsbooleanrequired
        • definitionRevisionintegerrequired≥ 1
        • namestringrequiredone of "list", "once", "everything", "ask"
        • readingobjectrequired
          • bytesPerSecond0 | integerrequired
          • connectionsintegerrequired1–32
          • requestsPerSecondintegerrequired1–50
          • scanDepthstringrequiredone of "file_list_only", "basic", "complete"
          • wholeFileReadsfalserequired
      • configurationGenerationstringpattern ^[1-9][0-9]{0,18}$
      • generationstringrequiredlength 1–∞
      • revisionintegerrequired≥ 0
      • savedbooleanrequired
      • sourceIdstringrequiredlength 1–∞
      • valuesobjectrequired
        • allowAdvancedMediaAnalysisboolean
        • bytesPerSecond0 | integerrequired
        • connectionsintegerrequired1–32
        • requestsPerSecondintegerrequired1–50
        • scanDepthstringrequiredone of "file_list_only", "basic", "complete"
        • wholeFileReadsbooleanrequired
    • removedbooleanrequired
    • sourceobjectrequired
      • credentialPresentbooleanrequired
      • errorCodestring
      • generationintegerrequired
      • idstringrequired
      • insecureLocalbooleanrequired
      • kindstringrequiredone of "rclone", "webdav", "sftp", "smb"
      • mountIdstring
      • namestringrequired
      • originstring
      • rangeSupportstringrequired
      • rootPathstringrequired
      • statestringrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busy

Example request

curl -X GET "http://127.0.0.1:32500/v1/storage/source-operations/{id}" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
GET/v1/storage/sourcesRead storage sourcesadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
get_storage_sources

Responses

200Successapplication/json

Example
{
  "mountSupported": true,
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  },
  "sources": [
    {
      "credentialPresent": true,
      "errorCode": "string",
      "generation": 0,
      "id": "id_8h2k4q",
      "insecureLocal": true,
      "kind": "rclone",
      "mountId": "id_8h2k4q",
      "name": "Fargo",
      "origin": "string",
      "rangeSupport": "string",
      "rootPath": "string",
      "state": "string"
    }
  ]
}
Schema
  • mountSupportedbooleanrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired
  • sourcesarray of objectrequired
    • credentialPresentbooleanrequired
    • errorCodestring
    • generationintegerrequired
    • idstringrequired
    • insecureLocalbooleanrequired
    • kindstringrequiredone of "rclone", "webdav", "sftp", "smb"
    • mountIdstring
    • namestringrequired
    • originstring
    • rangeSupportstringrequired
    • rootPathstringrequired
    • statestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busy

Example request

curl -X GET "http://127.0.0.1:32500/v1/storage/sources" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
GET/v1/storage/sources/{id}/foldersList one folder inside a saved remote source, folders onlyadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
get_storage_source_folders

Parameters

NameInTypeDescription
idrequiredpathstring
pathquerystring
cursorquerystring
limitqueryinteger | ""1–500
showHiddenquerystring

Responses

200Successapplication/json

Example
{
  "folders": {
    "entries": [
      {
        "hidden": true,
        "name": "Fargo",
        "path": "string",
        "relative": "string"
      }
    ],
    "generation": "string",
    "nextCursor": "eyJvIjoyMH0",
    "path": "string",
    "relative": "string",
    "sourceId": "id_8h2k4q",
    "truncated": true
  },
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • foldersobjectrequired
    • entriesarray of objectrequired
      • hiddenbooleanrequired
      • namestringrequired
      • pathstringrequired
      • relativestringrequired
    • generationstringrequired
    • nextCursorstringrequired
    • pathstringrequired
    • relativestringrequired
    • sourceIdstringrequired
    • truncatedbooleanrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesunauthorizednot_permittednot_foundinvalid_requestrevision_mismatchrequest_in_progresssource_credentials_requiredsource_unavailablesource_folders_unsupportedadministration_unavailableinternaltimeoutdatabase_busy

Example request

curl -X GET "http://127.0.0.1:32500/v1/storage/sources/{id}/folders" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
GET/v1/storage/sources/{id}/settings/advancedRead one remote source's scan, cache and analysis settingsadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
get_storage_source_advanced

Parameters

NameInTypeDescription
idrequiredpathstring

Responses

200Successapplication/json

Example
{
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  },
  "settings": {
    "cacheApplied": true,
    "cacheError": "source_changed",
    "cacheSupported": true,
    "cacheUsedBytes": 0,
    "generation": "string",
    "revision": 0,
    "saved": true,
    "scanIntervalObserved": 0,
    "sourceId": "id_8h2k4q",
    "values": {
      "cacheBytes": 0,
      "cacheFloorBytes": 0,
      "chapterImages": true,
      "checksums": true,
      "connectTimeoutSeconds": 0,
      "dirCacheSeconds": 0,
      "doubleCheckFolders": true,
      "fullRecheckDays": 0,
      "idleTimeoutSeconds": 0,
      "introsMode": "off",
      "loudness": true,
      "lowLevelRetries": 0,
      "readBufferBytes": 0,
      "retries": 0,
      "scanIntervalSeconds": 0,
      "scanOnStart": true,
      "seekPreviews": true,
      "watchForChanges": true,
      "waveforms": true
    }
  }
}
Schema
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired
  • settingsobjectrequired
    • cacheAppliedbooleanrequired

      Observed projection of the cache the mount has actually applied, not the desired configuration.

    • cacheErrorstringone of "source_changed", "mount_unavailable", "cache_refused", "cache_record_failed"
    • cacheSupportedbooleanrequired
    • cacheUsedBytesintegerrequired
    • generationstringrequired
    • revisionintegerrequired
    • savedbooleanrequired
    • scanIntervalObservedintegerrequired
    • sourceIdstringrequired
    • valuesobjectrequired
      • cacheBytesintegerrequired

        0 disables the read cache; otherwise 64 MiB through 64 GiB.

      • cacheFloorBytesintegerrequired

        0 keeps the mount's current free-space floor; otherwise 1 GiB through 1 TiB.

      • chapterImagesbooleanrequired
      • checksumsbooleanrequired
      • connectTimeoutSecondsinteger
      • dirCacheSecondsinteger
      • doubleCheckFoldersboolean
      • fullRecheckDaysintegerrequiredone of 0, 7, 14, 30
      • idleTimeoutSecondsinteger
      • introsModestringone of "off", "inherit", "sound", "picture"
      • loudnessbooleanrequired
      • lowLevelRetriesinteger
      • readBufferBytesinteger
      • retriesinteger
      • scanIntervalSecondsintegerrequiredone of 0, 900, 3600, 21600, 86400, 604800
      • scanOnStartbooleanrequired
      • seekPreviewsbooleanrequired
      • watchForChangesbooleanrequired
      • waveformsbooleanrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesunauthorizednot_permittednot_foundinvalid_requestrevision_mismatchrequest_in_progressadministration_unavailableinternaltimeoutdatabase_busy

Example request

curl -X GET "http://127.0.0.1:32500/v1/storage/sources/{id}/settings/advanced" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
PUT/v1/storage/sources/{id}/settings/advancedSave one remote source's scan, cache and analysis settingsadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
put_storage_source_advanced
Max body
8 KiB

Parameters

NameInTypeDescription
idrequiredpathstring
Idempotency-Keyheaderstring
Portico-Mutation-Rootheaderstring

Request body application/json · required

Example
{
  "expectedGeneration": "string",
  "expectedRevision": 0,
  "values": {
    "cacheBytes": 0,
    "cacheFloorBytes": 0,
    "chapterImages": true,
    "checksums": true,
    "connectTimeoutSeconds": 0,
    "dirCacheSeconds": 0,
    "doubleCheckFolders": true,
    "fullRecheckDays": 0,
    "idleTimeoutSeconds": 0,
    "introsMode": "off",
    "loudness": true,
    "lowLevelRetries": 0,
    "readBufferBytes": 0,
    "retries": 0,
    "scanIntervalSeconds": 0,
    "scanOnStart": true,
    "seekPreviews": true,
    "watchForChanges": true,
    "waveforms": true
  }
}
Schema
  • expectedGenerationstringrequired
  • expectedRevisionintegerrequired
  • valuesobjectrequired
    • cacheBytesintegerrequired

      0 disables the read cache; otherwise 64 MiB through 64 GiB.

    • cacheFloorBytesintegerrequired

      0 keeps the mount's current free-space floor; otherwise 1 GiB through 1 TiB.

    • chapterImagesbooleanrequired
    • checksumsbooleanrequired
    • connectTimeoutSecondsinteger
    • dirCacheSecondsinteger
    • doubleCheckFoldersboolean
    • fullRecheckDaysintegerrequiredone of 0, 7, 14, 30
    • idleTimeoutSecondsinteger
    • introsModestringone of "off", "inherit", "sound", "picture"
    • loudnessbooleanrequired
    • lowLevelRetriesinteger
    • readBufferBytesinteger
    • retriesinteger
    • scanIntervalSecondsintegerrequiredone of 0, 900, 3600, 21600, 86400, 604800
    • scanOnStartbooleanrequired
    • seekPreviewsbooleanrequired
    • watchForChangesbooleanrequired
    • waveformsbooleanrequired

Responses

200Successapplication/json

Example
{
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  },
  "settings": {
    "cacheApplied": true,
    "cacheError": "source_changed",
    "cacheSupported": true,
    "cacheUsedBytes": 0,
    "generation": "string",
    "revision": 0,
    "saved": true,
    "scanIntervalObserved": 0,
    "sourceId": "id_8h2k4q",
    "values": {
      "cacheBytes": 0,
      "cacheFloorBytes": 0,
      "chapterImages": true,
      "checksums": true,
      "connectTimeoutSeconds": 0,
      "dirCacheSeconds": 0,
      "doubleCheckFolders": true,
      "fullRecheckDays": 0,
      "idleTimeoutSeconds": 0,
      "introsMode": "off",
      "loudness": true,
      "lowLevelRetries": 0,
      "readBufferBytes": 0,
      "retries": 0,
      "scanIntervalSeconds": 0,
      "scanOnStart": true,
      "seekPreviews": true,
      "watchForChanges": true,
      "waveforms": true
    }
  }
}
Schema
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired
  • settingsobjectrequired
    • cacheAppliedbooleanrequired

      Observed projection of the cache the mount has actually applied, not the desired configuration.

    • cacheErrorstringone of "source_changed", "mount_unavailable", "cache_refused", "cache_record_failed"
    • cacheSupportedbooleanrequired
    • cacheUsedBytesintegerrequired
    • generationstringrequired
    • revisionintegerrequired
    • savedbooleanrequired
    • scanIntervalObservedintegerrequired
    • sourceIdstringrequired
    • valuesobjectrequired
      • cacheBytesintegerrequired

        0 disables the read cache; otherwise 64 MiB through 64 GiB.

      • cacheFloorBytesintegerrequired

        0 keeps the mount's current free-space floor; otherwise 1 GiB through 1 TiB.

      • chapterImagesbooleanrequired
      • checksumsbooleanrequired
      • connectTimeoutSecondsinteger
      • dirCacheSecondsinteger
      • doubleCheckFoldersboolean
      • fullRecheckDaysintegerrequiredone of 0, 7, 14, 30
      • idleTimeoutSecondsinteger
      • introsModestringone of "off", "inherit", "sound", "picture"
      • loudnessbooleanrequired
      • lowLevelRetriesinteger
      • readBufferBytesinteger
      • retriesinteger
      • scanIntervalSecondsintegerrequiredone of 0, 900, 3600, 21600, 86400, 604800
      • scanOnStartbooleanrequired
      • seekPreviewsbooleanrequired
      • watchForChangesbooleanrequired
      • waveformsbooleanrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesunauthorizednot_permittednot_foundinvalid_requestrevision_mismatchrequest_in_progressadministration_unavailableinternalstorage_executable_invalidstorage_executable_too_oldtimeoutrevision_requiredidempotency_conflictreceipt_expiredinvalid_mutation_keydatabase_busywriter_capacity

Example request

curl -X PUT "http://127.0.0.1:32500/v1/storage/sources/{id}/settings/advanced" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "expectedGeneration": "string",
  "expectedRevision": 0,
  "values": {
    "cacheBytes": 0,
    "cacheFloorBytes": 0,
    "chapterImages": true,
    "checksums": true,
    "connectTimeoutSeconds": 0,
    "dirCacheSeconds": 0,
    "doubleCheckFolders": true,
    "fullRecheckDays": 0,
    "idleTimeoutSeconds": 0,
    "introsMode": "off",
    "loudness": true,
    "lowLevelRetries": 0,
    "readBufferBytes": 0,
    "retries": 0,
    "scanIntervalSeconds": 0,
    "scanOnStart": true,
    "seekPreviews": true,
    "watchForChanges": true,
    "waveforms": true
  }
}'
PUT/v1/storage/sources/{id}/settings/programChange the rclone program that serves one mounted sourceadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
put_storage_source_program
Max body
8 KiB

Parameters

NameInTypeDescription
idrequiredpathstring
Idempotency-Keyheaderstring
Portico-Mutation-Rootheaderstring

Request body application/json · required

Example
{
  "executable": "string",
  "expectedRevision": 0,
  "operationId": "id_8h2k4q",
  "useIncluded": true
}
Schema
  • executablestring

    Absolute program path, required unless useIncluded is true.

  • expectedRevisionintegerrequired
  • operationIdstringrequired
  • useIncludedboolean

    true asks for the rclone included with Portico Server; executable must then be omitted.

Responses

200Successapplication/json

Example
{
  "program": {
    "executable": "string",
    "included": true,
    "revision": 0,
    "version": "string"
  },
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • programobjectrequired
    • executablestringrequired
    • includedbooleanrequired
    • revisionintegerrequired
    • versionstringrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesunauthorizednot_permittednot_foundinvalid_requestrevision_mismatchidempotency_key_reusedrequest_in_progressadministration_unavailablestorage_executable_invalidstorage_executable_too_oldinternaltimeoutrevision_requiredidempotency_conflictreceipt_expiredinvalid_mutation_keydatabase_busywriter_capacity

Example request

curl -X PUT "http://127.0.0.1:32500/v1/storage/sources/{id}/settings/program" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"executable":"string","expectedRevision":0,"operationId":"id_8h2k4q","useIncluded":true}'
GET/v1/storage/sources/{id}/settings/read-profileRead one source's normalized reading profile and current revisionsadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
get_storage_source_read_profile

Parameters

NameInTypeDescription
idrequiredpathstring

Responses

200Successapplication/json

Example
{
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  },
  "settings": {
    "choiceApplicableFields": [
      "scanDepth"
    ],
    "choiceBaseline": {
      "advanced": {
        "cacheBytes": 0,
        "cacheFloorBytes": 0,
        "chapterImages": true,
        "checksums": true,
        "connectTimeoutSeconds": 0,
        "dirCacheSeconds": 0,
        "doubleCheckFolders": true,
        "fullRecheckDays": 0,
        "idleTimeoutSeconds": 0,
        "introsMode": "off",
        "loudness": true,
        "lowLevelRetries": 0,
        "readBufferBytes": 0,
        "retries": 0,
        "scanIntervalSeconds": 0,
        "scanOnStart": true,
        "seekPreviews": true,
        "watchForChanges": true,
        "waveforms": true
      },
      "advancedRevision": 1,
      "applicableFields": [
        "scanDepth"
      ],
      "changedFields": [
        "scanDepth"
      ],
      "configurationGeneration": "string",
      "currentAdvanced": {
        "cacheBytes": 0,
        "cacheFloorBytes": 0,
        "chapterImages": true,
        "checksums": true,
        "connectTimeoutSeconds": 0,
        "dirCacheSeconds": 0,
        "doubleCheckFolders": true,
        "fullRecheckDays": 0,
        "idleTimeoutSeconds": 0,
        "introsMode": "off",
        "loudness": true,
        "lowLevelRetries": 0,
        "readBufferBytes": 0,
        "retries": 0,
        "scanIntervalSeconds": 0,
        "scanOnStart": true,
        "seekPreviews": true,
        "watchForChanges": true,
        "waveforms": true
      },
      "definitionRevision": 1,
      "generation": "string",
      "name": "list",
      "readRevision": 1,
      "reading": {
        "bytesPerSecond": 0,
        "connections": 1,
        "requestsPerSecond": 1,
        "scanDepth": "file_list_only",
        "wholeFileReads": false
      },
      "sourceId": "id_8h2k4q"
    },
    "choiceDefinitions": [
      {
        "advanced": {
          "cacheBytes": 0,
          "cacheFloorBytes": 0,
          "chapterImages": true,
          "checksums": true,
          "connectTimeoutSeconds": 0,
          "dirCacheSeconds": 0,
          "doubleCheckFolders": true,
          "fullRecheckDays": 0,
          "idleTimeoutSeconds": 0,
          "introsMode": "off",
          "loudness": true,
          "lowLevelRetries": 0,
          "readBufferBytes": 0,
          "retries": 0,
          "scanIntervalSeconds": 0,
          "scanOnStart": true,
          "seekPreviews": true,
          "watchForChanges": true,
          "waveforms": true
        },
        "definitionRevision": 1,
        "name": "list",
        "reading": {
          "bytesPerSecond": 0,
          "connections": 1,
          "requestsPerSecond": 1,
          "scanDepth": "file_list_only",
          "wholeFileReads": false
        }
      }
    ],
    "configurationGeneration": "string",
    "generation": "string",
    "revision": 0,
    "saved": true,
    "sourceId": "id_8h2k4q",
    "values": {
      "allowAdvancedMediaAnalysis": true,
      "bytesPerSecond": 0,
      "connections": 1,
      "requestsPerSecond": 1,
      "scanDepth": "file_list_only",
      "wholeFileReads": true
    }
  }
}
Schema
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired
  • settingsobjectrequired
    • choiceApplicableFieldsarray of string1–23 items
    • choiceBaselineobject
      • advancedobjectrequired
        • cacheBytesintegerrequired

          0 disables the read cache; otherwise 64 MiB through 64 GiB.

        • cacheFloorBytesintegerrequired

          0 keeps the mount's current free-space floor; otherwise 1 GiB through 1 TiB.

        • chapterImagesbooleanrequired
        • checksumsbooleanrequired
        • connectTimeoutSecondsintegerrequired
        • dirCacheSecondsintegerrequired
        • doubleCheckFoldersbooleanrequired
        • fullRecheckDaysintegerrequiredone of 0, 7, 14, 30
        • idleTimeoutSecondsintegerrequired
        • introsModestringrequiredone of "off", "inherit", "sound", "picture"
        • loudnessbooleanrequired
        • lowLevelRetriesintegerrequired
        • readBufferBytesintegerrequired
        • retriesintegerrequired
        • scanIntervalSecondsintegerrequiredone of 0, 900, 3600, 21600, 86400, 604800
        • scanOnStartbooleanrequired
        • seekPreviewsbooleanrequired
        • watchForChangesbooleanrequired
        • waveformsbooleanrequired
      • advancedRevisionintegerrequired≥ 1
      • applicableFieldsarray of stringrequired0–23 items
      • changedFieldsarray of stringrequired0–23 items
      • configurationGenerationstringrequiredpattern ^[1-9][0-9]{0,18}$
      • currentAdvancedobjectrequired
        • cacheBytesintegerrequired

          0 disables the read cache; otherwise 64 MiB through 64 GiB.

        • cacheFloorBytesintegerrequired

          0 keeps the mount's current free-space floor; otherwise 1 GiB through 1 TiB.

        • chapterImagesbooleanrequired
        • checksumsbooleanrequired
        • connectTimeoutSecondsintegerrequired
        • dirCacheSecondsintegerrequired
        • doubleCheckFoldersbooleanrequired
        • fullRecheckDaysintegerrequiredone of 0, 7, 14, 30
        • idleTimeoutSecondsintegerrequired
        • introsModestringrequiredone of "off", "inherit", "sound", "picture"
        • loudnessbooleanrequired
        • lowLevelRetriesintegerrequired
        • readBufferBytesintegerrequired
        • retriesintegerrequired
        • scanIntervalSecondsintegerrequiredone of 0, 900, 3600, 21600, 86400, 604800
        • scanOnStartbooleanrequired
        • seekPreviewsbooleanrequired
        • watchForChangesbooleanrequired
        • waveformsbooleanrequired
      • definitionRevisionintegerrequired≥ 1
      • generationstringrequiredpattern ^[1-9][0-9]{0,18}$
      • namestringrequiredone of "list", "once", "everything", "ask"
      • readRevisionintegerrequired≥ 1
      • readingobjectrequired
        • bytesPerSecond0 | integerrequired
        • connectionsintegerrequired1–32
        • requestsPerSecondintegerrequired1–50
        • scanDepthstringrequiredone of "file_list_only", "basic", "complete"
        • wholeFileReadsfalserequired
      • sourceIdstringrequiredlength 1–160
    • choiceDefinitionsarray of object4–4 items
      • advancedobjectrequired
        • cacheBytesintegerrequired

          0 disables the read cache; otherwise 64 MiB through 64 GiB.

        • cacheFloorBytesintegerrequired

          0 keeps the mount's current free-space floor; otherwise 1 GiB through 1 TiB.

        • chapterImagesbooleanrequired
        • checksumsbooleanrequired
        • connectTimeoutSecondsintegerrequired
        • dirCacheSecondsintegerrequired
        • doubleCheckFoldersbooleanrequired
        • fullRecheckDaysintegerrequiredone of 0, 7, 14, 30
        • idleTimeoutSecondsintegerrequired
        • introsModestringrequiredone of "off", "inherit", "sound", "picture"
        • loudnessbooleanrequired
        • lowLevelRetriesintegerrequired
        • readBufferBytesintegerrequired
        • retriesintegerrequired
        • scanIntervalSecondsintegerrequiredone of 0, 900, 3600, 21600, 86400, 604800
        • scanOnStartbooleanrequired
        • seekPreviewsbooleanrequired
        • watchForChangesbooleanrequired
        • waveformsbooleanrequired
      • definitionRevisionintegerrequired≥ 1
      • namestringrequiredone of "list", "once", "everything", "ask"
      • readingobjectrequired
        • bytesPerSecond0 | integerrequired
        • connectionsintegerrequired1–32
        • requestsPerSecondintegerrequired1–50
        • scanDepthstringrequiredone of "file_list_only", "basic", "complete"
        • wholeFileReadsfalserequired
    • configurationGenerationstringpattern ^[1-9][0-9]{0,18}$
    • generationstringrequiredlength 1–∞
    • revisionintegerrequired≥ 0
    • savedbooleanrequired
    • sourceIdstringrequiredlength 1–∞
    • valuesobjectrequired
      • allowAdvancedMediaAnalysisboolean
      • bytesPerSecond0 | integerrequired
      • connectionsintegerrequired1–32
      • requestsPerSecondintegerrequired1–50
      • scanDepthstringrequiredone of "file_list_only", "basic", "complete"
      • wholeFileReadsbooleanrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesunauthorizednot_permittednot_foundinvalid_requestrevision_mismatchidempotency_key_reusedrequest_in_progressadministration_unavailableinternaltimeoutdatabase_busy

Example request

curl -X GET "http://127.0.0.1:32500/v1/storage/sources/{id}/settings/read-profile" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
PUT/v1/storage/sources/{id}/settings/read-profileSave one source's reading limits with current revisions and a durable receiptadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
put_storage_source_read_profile
Max body
4 KiB

Parameters

NameInTypeDescription
idrequiredpathstring
Idempotency-Keyheaderstring
Portico-Mutation-Rootheaderstring

Request body application/json · required

Example
{
  "expectedGeneration": "string",
  "expectedRevision": 0,
  "operationId": "id_8h2k4q",
  "startChoice": {
    "definitionRevision": 1,
    "expectedAdvancedRevision": 0,
    "expectedConfigurationGeneration": "string",
    "name": "list"
  },
  "values": {
    "allowAdvancedMediaAnalysis": true,
    "bytesPerSecond": 0,
    "connections": 1,
    "requestsPerSecond": 1,
    "scanDepth": "file_list_only",
    "wholeFileReads": true
  }
}
Schema
  • expectedGenerationstringrequiredlength 1–∞
  • expectedRevisionintegerrequired≥ 0
  • operationIdstringrequiredpattern ^([0-9]{13})-[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
  • startChoiceobject
    • definitionRevisionintegerrequired≥ 1
    • expectedAdvancedRevisionintegerrequired≥ 0
    • expectedConfigurationGenerationstringrequiredpattern ^[1-9][0-9]{0,18}$
    • namestringrequiredone of "list", "once", "everything", "ask"
  • valuesobjectrequired
    • allowAdvancedMediaAnalysisboolean
    • bytesPerSecond0 | integerrequired
    • connectionsintegerrequired1–32
    • requestsPerSecondintegerrequired1–50
    • scanDepthstringrequiredone of "file_list_only", "basic", "complete"
    • wholeFileReadsbooleanrequired

Responses

200Successapplication/json

Example
{
  "receipt": {
    "accepted": true,
    "operationId": "id_8h2k4q",
    "readSettings": {
      "choiceApplicableFields": [
        "scanDepth"
      ],
      "choiceBaseline": {
        "advanced": {
          "cacheBytes": 0,
          "cacheFloorBytes": 0,
          "chapterImages": true,
          "checksums": true,
          "connectTimeoutSeconds": 0,
          "dirCacheSeconds": 0,
          "doubleCheckFolders": true,
          "fullRecheckDays": 0,
          "idleTimeoutSeconds": 0,
          "introsMode": "off",
          "loudness": true,
          "lowLevelRetries": 0,
          "readBufferBytes": 0,
          "retries": 0,
          "scanIntervalSeconds": 0,
          "scanOnStart": true,
          "seekPreviews": true,
          "watchForChanges": true,
          "waveforms": true
        },
        "advancedRevision": 1,
        "applicableFields": [
          "scanDepth"
        ],
        "changedFields": [
          "scanDepth"
        ],
        "configurationGeneration": "string",
        "currentAdvanced": {
          "cacheBytes": 0,
          "cacheFloorBytes": 0,
          "chapterImages": true,
          "checksums": true,
          "connectTimeoutSeconds": 0,
          "dirCacheSeconds": 0,
          "doubleCheckFolders": true,
          "fullRecheckDays": 0,
          "idleTimeoutSeconds": 0,
          "introsMode": "off",
          "loudness": true,
          "lowLevelRetries": 0,
          "readBufferBytes": 0,
          "retries": 0,
          "scanIntervalSeconds": 0,
          "scanOnStart": true,
          "seekPreviews": true,
          "watchForChanges": true,
          "waveforms": true
        },
        "definitionRevision": 1,
        "generation": "string",
        "name": "list",
        "readRevision": 1,
        "reading": {
          "bytesPerSecond": 0,
          "connections": 1,
          "requestsPerSecond": 1,
          "scanDepth": "file_list_only",
          "wholeFileReads": false
        },
        "sourceId": "id_8h2k4q"
      },
      "choiceDefinitions": [
        {
          "advanced": {},
          "definitionRevision": 1,
          "name": "list",
          "reading": {}
        }
      ],
      "configurationGeneration": "string",
      "generation": "string",
      "revision": 0,
      "saved": true,
      "sourceId": "id_8h2k4q",
      "values": {
        "allowAdvancedMediaAnalysis": true,
        "bytesPerSecond": 0,
        "connections": 1,
        "requestsPerSecond": 1,
        "scanDepth": "file_list_only",
        "wholeFileReads": true
      }
    },
    "removed": true,
    "source": {
      "credentialPresent": true,
      "errorCode": "string",
      "generation": 0,
      "id": "id_8h2k4q",
      "insecureLocal": true,
      "kind": "rclone",
      "mountId": "id_8h2k4q",
      "name": "Fargo",
      "origin": "string",
      "rangeSupport": "string",
      "rootPath": "string",
      "state": "string"
    }
  },
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • receiptobjectrequired
    • acceptedbooleanrequired
    • operationIdstringrequired
    • readSettingsobject
      • choiceApplicableFieldsarray of string1–23 items
      • choiceBaselineobject
        • advancedobjectrequired
          • cacheBytesintegerrequired

            0 disables the read cache; otherwise 64 MiB through 64 GiB.

          • cacheFloorBytesintegerrequired

            0 keeps the mount's current free-space floor; otherwise 1 GiB through 1 TiB.

          • chapterImagesbooleanrequired
          • checksumsbooleanrequired
          • connectTimeoutSecondsintegerrequired
          • dirCacheSecondsintegerrequired
          • doubleCheckFoldersbooleanrequired
          • fullRecheckDaysintegerrequiredone of 0, 7, 14, 30
          • idleTimeoutSecondsintegerrequired
          • introsModestringrequiredone of "off", "inherit", "sound", "picture"
          • loudnessbooleanrequired
          • lowLevelRetriesintegerrequired
          • readBufferBytesintegerrequired
          • retriesintegerrequired
          • scanIntervalSecondsintegerrequiredone of 0, 900, 3600, 21600, 86400, 604800
          • scanOnStartbooleanrequired
          • seekPreviewsbooleanrequired
          • watchForChangesbooleanrequired
          • waveformsbooleanrequired
        • advancedRevisionintegerrequired≥ 1
        • applicableFieldsarray of stringrequired0–23 items
        • changedFieldsarray of stringrequired0–23 items
        • configurationGenerationstringrequiredpattern ^[1-9][0-9]{0,18}$
        • currentAdvancedobjectrequired
          • cacheBytesintegerrequired

            0 disables the read cache; otherwise 64 MiB through 64 GiB.

          • cacheFloorBytesintegerrequired

            0 keeps the mount's current free-space floor; otherwise 1 GiB through 1 TiB.

          • chapterImagesbooleanrequired
          • checksumsbooleanrequired
          • connectTimeoutSecondsintegerrequired
          • dirCacheSecondsintegerrequired
          • doubleCheckFoldersbooleanrequired
          • fullRecheckDaysintegerrequiredone of 0, 7, 14, 30
          • idleTimeoutSecondsintegerrequired
          • introsModestringrequiredone of "off", "inherit", "sound", "picture"
          • loudnessbooleanrequired
          • lowLevelRetriesintegerrequired
          • readBufferBytesintegerrequired
          • retriesintegerrequired
          • scanIntervalSecondsintegerrequiredone of 0, 900, 3600, 21600, 86400, 604800
          • scanOnStartbooleanrequired
          • seekPreviewsbooleanrequired
          • watchForChangesbooleanrequired
          • waveformsbooleanrequired
        • definitionRevisionintegerrequired≥ 1
        • generationstringrequiredpattern ^[1-9][0-9]{0,18}$
        • namestringrequiredone of "list", "once", "everything", "ask"
        • readRevisionintegerrequired≥ 1
        • readingobjectrequired
          • bytesPerSecond0 | integerrequired
          • connectionsintegerrequired1–32
          • requestsPerSecondintegerrequired1–50
          • scanDepthstringrequiredone of "file_list_only", "basic", "complete"
          • wholeFileReadsfalserequired
        • sourceIdstringrequiredlength 1–160
      • choiceDefinitionsarray of object4–4 items
        • advancedobjectrequired
          • cacheBytesintegerrequired

            0 disables the read cache; otherwise 64 MiB through 64 GiB.

          • cacheFloorBytesintegerrequired

            0 keeps the mount's current free-space floor; otherwise 1 GiB through 1 TiB.

          • chapterImagesbooleanrequired
          • checksumsbooleanrequired
          • connectTimeoutSecondsintegerrequired
          • dirCacheSecondsintegerrequired
          • doubleCheckFoldersbooleanrequired
          • fullRecheckDaysintegerrequiredone of 0, 7, 14, 30
          • idleTimeoutSecondsintegerrequired
          • introsModestringrequiredone of "off", "inherit", "sound", "picture"
          • loudnessbooleanrequired
          • lowLevelRetriesintegerrequired
          • readBufferBytesintegerrequired
          • retriesintegerrequired
          • scanIntervalSecondsintegerrequiredone of 0, 900, 3600, 21600, 86400, 604800
          • scanOnStartbooleanrequired
          • seekPreviewsbooleanrequired
          • watchForChangesbooleanrequired
          • waveformsbooleanrequired
        • definitionRevisionintegerrequired≥ 1
        • namestringrequiredone of "list", "once", "everything", "ask"
        • readingobjectrequired
          • bytesPerSecond0 | integerrequired
          • connectionsintegerrequired1–32
          • requestsPerSecondintegerrequired1–50
          • scanDepthstringrequiredone of "file_list_only", "basic", "complete"
          • wholeFileReadsfalserequired
      • configurationGenerationstringpattern ^[1-9][0-9]{0,18}$
      • generationstringrequiredlength 1–∞
      • revisionintegerrequired≥ 0
      • savedbooleanrequired
      • sourceIdstringrequiredlength 1–∞
      • valuesobjectrequired
        • allowAdvancedMediaAnalysisboolean
        • bytesPerSecond0 | integerrequired
        • connectionsintegerrequired1–32
        • requestsPerSecondintegerrequired1–50
        • scanDepthstringrequiredone of "file_list_only", "basic", "complete"
        • wholeFileReadsbooleanrequired
    • removedbooleanrequired
    • sourceobjectrequired
      • credentialPresentbooleanrequired
      • errorCodestring
      • generationintegerrequired
      • idstringrequired
      • insecureLocalbooleanrequired
      • kindstringrequiredone of "rclone", "webdav", "sftp", "smb"
      • mountIdstring
      • namestringrequired
      • originstring
      • rangeSupportstringrequired
      • rootPathstringrequired
      • statestringrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesunauthorizednot_permittednot_foundinvalid_requestrevision_mismatchidempotency_key_reusedrequest_in_progressadministration_unavailableinternaltimeoutrevision_requiredidempotency_conflictreceipt_expiredinvalid_mutation_keydatabase_busywriter_capacity

Example request

curl -X PUT "http://127.0.0.1:32500/v1/storage/sources/{id}/settings/read-profile" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "expectedGeneration": "string",
  "expectedRevision": 0,
  "operationId": "id_8h2k4q",
  "startChoice": {
    "definitionRevision": 1,
    "expectedAdvancedRevision": 0,
    "expectedConfigurationGeneration": "string",
    "name": "list"
  },
  "values": {
    "allowAdvancedMediaAnalysis": true,
    "bytesPerSecond": 0,
    "connections": 1,
    "requestsPerSecond": 1,
    "scanDepth": "file_list_only",
    "wholeFileReads": true
  }
}'
GET/v1/storage/sources/{id}/statusRead one remote source's present state and the libraries that use itadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
get_storage_source_status

Parameters

NameInTypeDescription
idrequiredpathstring

Responses

200Successapplication/json

Example
{
  "assignmentFenceSupported": true,
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  },
  "status": {
    "analysisReads": 0,
    "backgroundSpeed": "string",
    "cacheUsedBytes": 0,
    "connectionsInUse": 0,
    "errorCode": "string",
    "generation": "string",
    "health": "cancelled",
    "lastCheckedAt": "2026-10-18T19:30:00Z",
    "lastCompleteAt": "2026-10-18T19:30:00Z",
    "lastConnectedAt": "2026-10-18T19:30:00Z",
    "lastErrorAt": "2026-10-18T19:30:00Z",
    "lastErrorCode": "credentials_required",
    "libraries": [
      {
        "folders": 0,
        "kind": "string",
        "lastCompleteAt": "2026-10-18T19:30:00Z",
        "libraryId": "id_8h2k4q",
        "name": "Fargo"
      }
    ],
    "librariesTruncated": true,
    "playbackReads": 0,
    "program": "string",
    "programIncluded": true,
    "programRevision": 0,
    "programVersion": "string",
    "rangeSupport": "string",
    "remote": "string",
    "scan": {
      "analyzed": 0,
      "completedAt": "2026-10-18T19:30:00Z",
      "discovered": 0,
      "finishedAt": "2026-10-18T19:30:00Z",
      "mode": "first-import",
      "phase": "analysis_enqueue",
      "processed": 0,
      "queuedAt": "2026-10-18T19:30:00Z",
      "runPolicyRevision": 0,
      "sourceGeneration": 0,
      "state": "paused",
      "warnings": 0
    },
    "scanIntervalSeconds": 0,
    "serveOperationsInUse": 0,
    "sourceId": "id_8h2k4q",
    "state": "string"
  }
}
Schema
  • assignmentFenceSupportedbooleanrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired
  • statusobjectrequired
    • analysisReadsintegerrequired
    • backgroundSpeedstring
    • cacheUsedBytesintegerrequired
    • connectionsInUseintegerrequired
    • errorCodestring
    • generationstringrequired
    • healthstringone of "cancelled", "degraded", "healthy", "inventory_running", "offline", "ready", "removing", "root_changed"
    • lastCheckedAtstringrequired
    • lastCompleteAtstring (date-time)
    • lastConnectedAtstring (date-time)
    • lastErrorAtstring (date-time)
    • lastErrorCodestringone of "credentials_required", "offline", "quota_exceeded", "rate_limited"
    • librariesarray of objectrequired
      • foldersintegerrequired
      • kindstringrequired
      • lastCompleteAtstring (date-time)
      • libraryIdstringrequired
      • namestringrequired
    • librariesTruncatedbooleanrequired
    • playbackReadsintegerrequired
    • programstring
    • programIncludedboolean
    • programRevisioninteger
    • programVersionstring
    • rangeSupportstringrequired
    • remotestring
    • scanobject
      • analyzedintegerrequired0–1099511627776
      • completedAtstring (date-time)
      • discoveredintegerrequired0–1099511627776
      • finishedAtstring (date-time)
      • modestringone of "first-import", "full", "incremental", "integrity"
      • phasestringone of "analysis_enqueue", "basic_pending", "basic_running", "extras", "inventory", "legacy_inventory", "reconciling", "sidecars", "verifying"
      • processedintegerrequired0–1099511627776
      • queuedAtstring (date-time)
      • runPolicyRevisionintegerrequired0–1099511627776
      • sourceGenerationintegerrequired0–1099511627776
      • statestringrequiredone of "paused", "queued", "running"
      • warningsintegerrequired0–1099511627776
    • scanIntervalSecondsintegerrequired
    • serveOperationsInUseinteger
    • sourceIdstringrequired
    • statestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesunauthorizednot_permittednot_foundinvalid_requestadministration_unavailablesource_folders_unsupportedinternaltimeoutdatabase_busy

Example request

curl -X GET "http://127.0.0.1:32500/v1/storage/sources/{id}/status" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
POST/v1/storage/sources/{id}/testTest a saved source's connection without changing itadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
test_storage_source

Parameters

NameInTypeDescription
idrequiredpathstring

Responses

200Successapplication/json

Example
{
  "result": {
    "errorCode": "credentials_required",
    "generation": "string",
    "rangeSupport": "string",
    "reachable": true,
    "sourceId": "id_8h2k4q"
  },
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • resultobjectrequired
    • errorCodestringone of "credentials_required", "offline", "quota_exceeded", "rate_limited"
    • generationstringrequired
    • rangeSupportstring
    • reachablebooleanrequired
    • sourceIdstringrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesunauthorizednot_permittednot_foundinvalid_requestrequest_in_progresssource_credentials_requiredadministration_unavailableinternaltimeoutdatabase_busywriter_capacity

Example request

curl -X POST "http://127.0.0.1:32500/v1/storage/sources/{id}/test" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
POST/v1/storage/sources/rcloneSave an imported rclone source using the bundled programadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
create_storage_source_rclone
Max body
64 KiB

Request body application/json · required

Example
{
  "config": "string",
  "name": "Fargo",
  "operationId": "id_8h2k4q",
  "remote": "string"
}
Schema
  • configstringrequired
  • namestringrequired
  • operationIdstringrequired
  • remotestringrequired

Responses

200Successapplication/json

Example
{
  "receipt": {
    "accepted": true,
    "generation": 0,
    "operationId": "id_8h2k4q",
    "removed": true,
    "sourceId": "id_8h2k4q"
  },
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • receiptobjectrequired
    • acceptedbooleanrequired
    • generationintegerrequired
    • operationIdstringrequired
    • removedboolean
    • sourceIdstringrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesunauthorizednot_permittedinvalid_requestsource_credentials_requiredadministration_unavailablestorage_command_conflictstorage_operation_expiredstorage_command_capacitystorage_allocation_recovery_requiredrequest_in_progressinternaltimeoutdatabase_busywriter_capacity

Example request

curl -X POST "http://127.0.0.1:32500/v1/storage/sources/rclone" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"config":"string","name":"Fargo","operationId":"id_8h2k4q","remote":"string"}'
DELETE/v1/storage/sources/rclone/{id}Remove an unused imported source at its expected generationadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
remove_storage_source_rclone
Max body
4 KiB

Parameters

NameInTypeDescription
idrequiredpathstring

Request body application/json · required

Example
{
  "expectedGeneration": 0,
  "operationId": "id_8h2k4q"
}
Schema
  • expectedGenerationintegerrequired
  • operationIdstringrequired

Responses

200Successapplication/json

Example
{
  "receipt": {
    "accepted": true,
    "generation": 0,
    "operationId": "id_8h2k4q",
    "removed": true,
    "sourceId": "id_8h2k4q"
  },
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • receiptobjectrequired
    • acceptedbooleanrequired
    • generationintegerrequired
    • operationIdstringrequired
    • removedboolean
    • sourceIdstringrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesunauthorizednot_permittedinvalid_requestadministration_unavailablerequest_in_progressstorage_command_conflictstorage_operation_expiredstorage_command_capacityinternaltimeoutdatabase_busywriter_capacity

Example request

curl -X DELETE "http://127.0.0.1:32500/v1/storage/sources/rclone/{id}" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"expectedGeneration":0,"operationId":"id_8h2k4q"}'
PUT/v1/storage/sources/rclone/{id}Replace an imported source connection at its expected generationadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
update_storage_source_rclone
Max body
64 KiB

Parameters

NameInTypeDescription
idrequiredpathstring

Request body application/json · required

Example
{
  "config": "string",
  "expectedGeneration": 0,
  "name": "Fargo",
  "operationId": "id_8h2k4q",
  "remote": "string"
}
Schema
  • configstringrequired
  • expectedGenerationintegerrequired
  • namestringrequired
  • operationIdstringrequired
  • remotestringrequired

Responses

200Successapplication/json

Example
{
  "receipt": {
    "accepted": true,
    "generation": 0,
    "operationId": "id_8h2k4q",
    "removed": true,
    "sourceId": "id_8h2k4q"
  },
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • receiptobjectrequired
    • acceptedbooleanrequired
    • generationintegerrequired
    • operationIdstringrequired
    • removedboolean
    • sourceIdstringrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesunauthorizednot_permittedinvalid_requestsource_credentials_requiredadministration_unavailablestorage_command_conflictstorage_operation_expiredstorage_command_capacityrequest_in_progressinternaltimeoutdatabase_busywriter_capacity

Example request

curl -X PUT "http://127.0.0.1:32500/v1/storage/sources/rclone/{id}" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"config":"string","expectedGeneration":0,"name":"Fargo","operationId":"id_8h2k4q","remote":"string"}'
GET/v1/storage/sources/rclone/configRead the server account's own rclone remotes by name and typeadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
get_storage_source_rclone_config

Responses

200Successapplication/json

Example
{
  "path": "string",
  "remotes": [
    {
      "kind": "string",
      "name": "Fargo",
      "reason": "string",
      "supported": true
    }
  ],
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  },
  "truncated": true
}
Schema
  • pathstringrequired
  • remotesarray of objectrequired
    • kindstringrequired
    • namestringrequired
    • reasonstringrequired
    • supportedbooleanrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired
  • truncatedbooleanrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesunauthorizednot_permittedinvalid_requestadministration_unavailableinternaltimeoutdatabase_busy

Example request

curl -X GET "http://127.0.0.1:32500/v1/storage/sources/rclone/config" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
POST/v1/storage/sources/rclone/configSave an imported source from the server account's own rclone configurationadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
create_storage_source_rclone_config
Max body
4 KiB

Request body application/json · required

Example
{
  "name": "Fargo",
  "operationId": "id_8h2k4q",
  "remote": "string"
}
Schema
  • namestringrequired
  • operationIdstringrequired
  • remotestringrequired

Responses

200Successapplication/json

Example
{
  "receipt": {
    "accepted": true,
    "generation": 0,
    "operationId": "id_8h2k4q",
    "removed": true,
    "sourceId": "id_8h2k4q"
  },
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • receiptobjectrequired
    • acceptedbooleanrequired
    • generationintegerrequired
    • operationIdstringrequired
    • removedboolean
    • sourceIdstringrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesunauthorizednot_permittedinvalid_requestnot_foundsource_credentials_requiredadministration_unavailablestorage_command_conflictstorage_operation_expiredstorage_command_capacitystorage_allocation_recovery_requiredinternaltimeoutdatabase_busywriter_capacity

Example request

curl -X POST "http://127.0.0.1:32500/v1/storage/sources/rclone/config" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Fargo","operationId":"id_8h2k4q","remote":"string"}'
POST/v1/storage/sources/rclone/drive/oauth/cancelEnd the owner's Google sign-in sessionadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
post_storage_source_drive_oauth_cancel
Max body
8 KiB

Request body application/json · required

Example
{
  "state": "string"
}
Schema
  • statestringrequired

Responses

200Successapplication/json

Example
{
  "cancelled": true,
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • cancelledbooleanrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesunauthorizednot_permittedinvalid_requestadministration_unavailableinternaltimeoutdatabase_busywriter_capacity

Example request

curl -X POST "http://127.0.0.1:32500/v1/storage/sources/rclone/drive/oauth/cancel" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"state":"string"}'
POST/v1/storage/sources/rclone/drive/oauth/pasteTake the code from the address Google ended onadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
post_storage_source_drive_oauth_paste
Max body
8 KiB

Request body application/json · required

Example
{
  "redirectUrl": "https://example.com/…",
  "state": "string"
}
Schema
  • redirectUrlstringrequired
  • statestringrequired

Responses

200Successapplication/json

Example
{
  "phase": "pending",
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • phasestringrequiredone of "pending", "ready", "expired", "denied"
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesunauthorizednot_permittedinvalid_requestsource_credentials_requiredadministration_unavailableinternaltimeoutdatabase_busywriter_capacity

Example request

curl -X POST "http://127.0.0.1:32500/v1/storage/sources/rclone/drive/oauth/paste" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"redirectUrl":"https://example.com/…","state":"string"}'
POST/v1/storage/sources/rclone/drive/oauth/startStart the owner's own Google OAuth sign-in for a Drive sourceadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
post_storage_source_drive_oauth_start
Max body
8 KiB

Request body application/json · required

Example
{
  "clientId": "id_8h2k4q",
  "clientSecret": "string"
}
Schema
  • clientIdstringrequired
  • clientSecretstringrequired

Responses

200Successapplication/json

Example
{
  "authorizationUrl": "https://example.com/…",
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  },
  "state": "string"
}
Schema
  • authorizationUrlstringrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired
  • statestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesunauthorizednot_permittedinvalid_requestadministration_unavailableinternaltimeoutdatabase_busywriter_capacity

Example request

curl -X POST "http://127.0.0.1:32500/v1/storage/sources/rclone/drive/oauth/start" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"clientId":"id_8h2k4q","clientSecret":"string"}'
POST/v1/storage/sources/rclone/drive/oauth/statusRead the owner's Google sign-in and exchange its one codeadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
post_storage_source_drive_oauth_status
Max body
8 KiB

Request body application/json · required

Example
{
  "state": "string"
}
Schema
  • statestringrequired

Responses

200Successapplication/json

Example
{
  "phase": "pending",
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  },
  "token": "string"
}
Schema
  • phasestringrequiredone of "pending", "ready", "expired", "denied"
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired
  • tokenstring

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesunauthorizednot_permittedinvalid_requestsource_credentials_requiredadministration_unavailableinternaltimeoutdatabase_busywriter_capacity

Example request

curl -X POST "http://127.0.0.1:32500/v1/storage/sources/rclone/drive/oauth/status" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"state":"string"}'
GET/v1/storage/sources/rclone/operations/{id}Recover an imported rclone source save receiptadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
get_storage_source_rclone_operation

Parameters

NameInTypeDescription
idrequiredpathstring

Responses

200Successapplication/json

Example
{
  "receipt": {
    "accepted": true,
    "generation": 0,
    "operationId": "id_8h2k4q",
    "removed": true,
    "sourceId": "id_8h2k4q"
  },
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • receiptobjectrequired
    • acceptedbooleanrequired
    • generationintegerrequired
    • operationIdstringrequired
    • removedboolean
    • sourceIdstringrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesunauthorizednot_permittednot_foundinvalid_requestadministration_unavailablestorage_command_conflictstorage_operation_expiredinternaltimeoutdatabase_busy

Example request

curl -X GET "http://127.0.0.1:32500/v1/storage/sources/rclone/operations/{id}" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
GET/v1/storage/sources/rclone/providersRead supported imported rclone configuration backend typesadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
get_storage_source_rclone_providers

Responses

200Successapplication/json

Example
{
  "providers": [
    "string"
  ],
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • providersarray of stringrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesunauthorizednot_permittedinvalid_requestadministration_unavailableinternaltimeoutdatabase_busy

Example request

curl -X GET "http://127.0.0.1:32500/v1/storage/sources/rclone/providers" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
POST/v1/storage/sources/rclone/testTest an unsaved imported rclone source configurationadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
test_storage_source_rclone
Max body
64 KiB

Request body application/json · required

Example
{
  "config": "string",
  "remote": "string"
}
Schema
  • configstringrequired
  • remotestringrequired

Responses

200Successapplication/json

Example
{
  "result": {
    "version": "string"
  },
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • resultobjectrequired
    • versionstringrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesunauthorizednot_permittedinvalid_requestsource_credentials_requiredadministration_unavailablerequest_in_progressinternaltimeoutdatabase_busywriter_capacity

Example request

curl -X POST "http://127.0.0.1:32500/v1/storage/sources/rclone/test" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"config":"string","remote":"string"}'
POST/v1/storage/sources/webdavRun storage sources webdavadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
post_storage_sources_webdav
Max body
64 KiB

Request body application/json · required

Example
{
  "expectedGeneration": 0,
  "insecureLocal": true,
  "keepConnection": true,
  "keepPassword": true,
  "name": "Fargo",
  "operationId": "id_8h2k4q",
  "password": "string",
  "root": "string",
  "username": "Fargo"
}
Schema
  • expectedGenerationinteger
  • insecureLocalbooleanrequired
  • keepConnectionboolean
  • keepPasswordboolean
  • namestringrequired
  • operationIdstringrequired
  • passwordstringrequired
  • rootstringrequired
  • usernamestringrequired

Responses

200Successapplication/json

Example
{
  "receipt": {
    "accepted": true,
    "operationId": "id_8h2k4q",
    "readSettings": {
      "choiceApplicableFields": [
        "scanDepth"
      ],
      "choiceBaseline": {
        "advanced": {
          "cacheBytes": 0,
          "cacheFloorBytes": 0,
          "chapterImages": true,
          "checksums": true,
          "connectTimeoutSeconds": 0,
          "dirCacheSeconds": 0,
          "doubleCheckFolders": true,
          "fullRecheckDays": 0,
          "idleTimeoutSeconds": 0,
          "introsMode": "off",
          "loudness": true,
          "lowLevelRetries": 0,
          "readBufferBytes": 0,
          "retries": 0,
          "scanIntervalSeconds": 0,
          "scanOnStart": true,
          "seekPreviews": true,
          "watchForChanges": true,
          "waveforms": true
        },
        "advancedRevision": 1,
        "applicableFields": [
          "scanDepth"
        ],
        "changedFields": [
          "scanDepth"
        ],
        "configurationGeneration": "string",
        "currentAdvanced": {
          "cacheBytes": 0,
          "cacheFloorBytes": 0,
          "chapterImages": true,
          "checksums": true,
          "connectTimeoutSeconds": 0,
          "dirCacheSeconds": 0,
          "doubleCheckFolders": true,
          "fullRecheckDays": 0,
          "idleTimeoutSeconds": 0,
          "introsMode": "off",
          "loudness": true,
          "lowLevelRetries": 0,
          "readBufferBytes": 0,
          "retries": 0,
          "scanIntervalSeconds": 0,
          "scanOnStart": true,
          "seekPreviews": true,
          "watchForChanges": true,
          "waveforms": true
        },
        "definitionRevision": 1,
        "generation": "string",
        "name": "list",
        "readRevision": 1,
        "reading": {
          "bytesPerSecond": 0,
          "connections": 1,
          "requestsPerSecond": 1,
          "scanDepth": "file_list_only",
          "wholeFileReads": false
        },
        "sourceId": "id_8h2k4q"
      },
      "choiceDefinitions": [
        {
          "advanced": {},
          "definitionRevision": 1,
          "name": "list",
          "reading": {}
        }
      ],
      "configurationGeneration": "string",
      "generation": "string",
      "revision": 0,
      "saved": true,
      "sourceId": "id_8h2k4q",
      "values": {
        "allowAdvancedMediaAnalysis": true,
        "bytesPerSecond": 0,
        "connections": 1,
        "requestsPerSecond": 1,
        "scanDepth": "file_list_only",
        "wholeFileReads": true
      }
    },
    "removed": true,
    "source": {
      "credentialPresent": true,
      "errorCode": "string",
      "generation": 0,
      "id": "id_8h2k4q",
      "insecureLocal": true,
      "kind": "rclone",
      "mountId": "id_8h2k4q",
      "name": "Fargo",
      "origin": "string",
      "rangeSupport": "string",
      "rootPath": "string",
      "state": "string"
    }
  },
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • receiptobjectrequired
    • acceptedbooleanrequired
    • operationIdstringrequired
    • readSettingsobject
      • choiceApplicableFieldsarray of string1–23 items
      • choiceBaselineobject
        • advancedobjectrequired
          • cacheBytesintegerrequired

            0 disables the read cache; otherwise 64 MiB through 64 GiB.

          • cacheFloorBytesintegerrequired

            0 keeps the mount's current free-space floor; otherwise 1 GiB through 1 TiB.

          • chapterImagesbooleanrequired
          • checksumsbooleanrequired
          • connectTimeoutSecondsintegerrequired
          • dirCacheSecondsintegerrequired
          • doubleCheckFoldersbooleanrequired
          • fullRecheckDaysintegerrequiredone of 0, 7, 14, 30
          • idleTimeoutSecondsintegerrequired
          • introsModestringrequiredone of "off", "inherit", "sound", "picture"
          • loudnessbooleanrequired
          • lowLevelRetriesintegerrequired
          • readBufferBytesintegerrequired
          • retriesintegerrequired
          • scanIntervalSecondsintegerrequiredone of 0, 900, 3600, 21600, 86400, 604800
          • scanOnStartbooleanrequired
          • seekPreviewsbooleanrequired
          • watchForChangesbooleanrequired
          • waveformsbooleanrequired
        • advancedRevisionintegerrequired≥ 1
        • applicableFieldsarray of stringrequired0–23 items
        • changedFieldsarray of stringrequired0–23 items
        • configurationGenerationstringrequiredpattern ^[1-9][0-9]{0,18}$
        • currentAdvancedobjectrequired
          • cacheBytesintegerrequired

            0 disables the read cache; otherwise 64 MiB through 64 GiB.

          • cacheFloorBytesintegerrequired

            0 keeps the mount's current free-space floor; otherwise 1 GiB through 1 TiB.

          • chapterImagesbooleanrequired
          • checksumsbooleanrequired
          • connectTimeoutSecondsintegerrequired
          • dirCacheSecondsintegerrequired
          • doubleCheckFoldersbooleanrequired
          • fullRecheckDaysintegerrequiredone of 0, 7, 14, 30
          • idleTimeoutSecondsintegerrequired
          • introsModestringrequiredone of "off", "inherit", "sound", "picture"
          • loudnessbooleanrequired
          • lowLevelRetriesintegerrequired
          • readBufferBytesintegerrequired
          • retriesintegerrequired
          • scanIntervalSecondsintegerrequiredone of 0, 900, 3600, 21600, 86400, 604800
          • scanOnStartbooleanrequired
          • seekPreviewsbooleanrequired
          • watchForChangesbooleanrequired
          • waveformsbooleanrequired
        • definitionRevisionintegerrequired≥ 1
        • generationstringrequiredpattern ^[1-9][0-9]{0,18}$
        • namestringrequiredone of "list", "once", "everything", "ask"
        • readRevisionintegerrequired≥ 1
        • readingobjectrequired
          • bytesPerSecond0 | integerrequired
          • connectionsintegerrequired1–32
          • requestsPerSecondintegerrequired1–50
          • scanDepthstringrequiredone of "file_list_only", "basic", "complete"
          • wholeFileReadsfalserequired
        • sourceIdstringrequiredlength 1–160
      • choiceDefinitionsarray of object4–4 items
        • advancedobjectrequired
          • cacheBytesintegerrequired

            0 disables the read cache; otherwise 64 MiB through 64 GiB.

          • cacheFloorBytesintegerrequired

            0 keeps the mount's current free-space floor; otherwise 1 GiB through 1 TiB.

          • chapterImagesbooleanrequired
          • checksumsbooleanrequired
          • connectTimeoutSecondsintegerrequired
          • dirCacheSecondsintegerrequired
          • doubleCheckFoldersbooleanrequired
          • fullRecheckDaysintegerrequiredone of 0, 7, 14, 30
          • idleTimeoutSecondsintegerrequired
          • introsModestringrequiredone of "off", "inherit", "sound", "picture"
          • loudnessbooleanrequired
          • lowLevelRetriesintegerrequired
          • readBufferBytesintegerrequired
          • retriesintegerrequired
          • scanIntervalSecondsintegerrequiredone of 0, 900, 3600, 21600, 86400, 604800
          • scanOnStartbooleanrequired
          • seekPreviewsbooleanrequired
          • watchForChangesbooleanrequired
          • waveformsbooleanrequired
        • definitionRevisionintegerrequired≥ 1
        • namestringrequiredone of "list", "once", "everything", "ask"
        • readingobjectrequired
          • bytesPerSecond0 | integerrequired
          • connectionsintegerrequired1–32
          • requestsPerSecondintegerrequired1–50
          • scanDepthstringrequiredone of "file_list_only", "basic", "complete"
          • wholeFileReadsfalserequired
      • configurationGenerationstringpattern ^[1-9][0-9]{0,18}$
      • generationstringrequiredlength 1–∞
      • revisionintegerrequired≥ 0
      • savedbooleanrequired
      • sourceIdstringrequiredlength 1–∞
      • valuesobjectrequired
        • allowAdvancedMediaAnalysisboolean
        • bytesPerSecond0 | integerrequired
        • connectionsintegerrequired1–32
        • requestsPerSecondintegerrequired1–50
        • scanDepthstringrequiredone of "file_list_only", "basic", "complete"
        • wholeFileReadsbooleanrequired
    • removedbooleanrequired
    • sourceobjectrequired
      • credentialPresentbooleanrequired
      • errorCodestring
      • generationintegerrequired
      • idstringrequired
      • insecureLocalbooleanrequired
      • kindstringrequiredone of "rclone", "webdav", "sftp", "smb"
      • mountIdstring
      • namestringrequired
      • originstring
      • rangeSupportstringrequired
      • rootPathstringrequired
      • statestringrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busywriter_capacity

Example request

curl -X POST "http://127.0.0.1:32500/v1/storage/sources/webdav" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "expectedGeneration": 0,
  "insecureLocal": true,
  "keepConnection": true,
  "keepPassword": true,
  "name": "Fargo",
  "operationId": "id_8h2k4q",
  "password": "string",
  "root": "string",
  "username": "Fargo"
}'
DELETE/v1/storage/sources/webdav/{id}Remove storage sources webdavadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
delete_storage_sources_webdav_id
Max body
64 KiB

Parameters

NameInTypeDescription
idrequiredpathstring

Request body application/json · required

Example
{
  "expectedGeneration": 0,
  "insecureLocal": true,
  "keepConnection": true,
  "keepPassword": true,
  "name": "Fargo",
  "operationId": "id_8h2k4q",
  "password": "string",
  "root": "string",
  "username": "Fargo"
}
Schema
  • expectedGenerationinteger
  • insecureLocalbooleanrequired
  • keepConnectionboolean
  • keepPasswordboolean
  • namestringrequired
  • operationIdstringrequired
  • passwordstringrequired
  • rootstringrequired
  • usernamestringrequired

Responses

200Successapplication/json

Example
{
  "receipt": {
    "accepted": true,
    "operationId": "id_8h2k4q",
    "readSettings": {
      "choiceApplicableFields": [
        "scanDepth"
      ],
      "choiceBaseline": {
        "advanced": {
          "cacheBytes": 0,
          "cacheFloorBytes": 0,
          "chapterImages": true,
          "checksums": true,
          "connectTimeoutSeconds": 0,
          "dirCacheSeconds": 0,
          "doubleCheckFolders": true,
          "fullRecheckDays": 0,
          "idleTimeoutSeconds": 0,
          "introsMode": "off",
          "loudness": true,
          "lowLevelRetries": 0,
          "readBufferBytes": 0,
          "retries": 0,
          "scanIntervalSeconds": 0,
          "scanOnStart": true,
          "seekPreviews": true,
          "watchForChanges": true,
          "waveforms": true
        },
        "advancedRevision": 1,
        "applicableFields": [
          "scanDepth"
        ],
        "changedFields": [
          "scanDepth"
        ],
        "configurationGeneration": "string",
        "currentAdvanced": {
          "cacheBytes": 0,
          "cacheFloorBytes": 0,
          "chapterImages": true,
          "checksums": true,
          "connectTimeoutSeconds": 0,
          "dirCacheSeconds": 0,
          "doubleCheckFolders": true,
          "fullRecheckDays": 0,
          "idleTimeoutSeconds": 0,
          "introsMode": "off",
          "loudness": true,
          "lowLevelRetries": 0,
          "readBufferBytes": 0,
          "retries": 0,
          "scanIntervalSeconds": 0,
          "scanOnStart": true,
          "seekPreviews": true,
          "watchForChanges": true,
          "waveforms": true
        },
        "definitionRevision": 1,
        "generation": "string",
        "name": "list",
        "readRevision": 1,
        "reading": {
          "bytesPerSecond": 0,
          "connections": 1,
          "requestsPerSecond": 1,
          "scanDepth": "file_list_only",
          "wholeFileReads": false
        },
        "sourceId": "id_8h2k4q"
      },
      "choiceDefinitions": [
        {
          "advanced": {},
          "definitionRevision": 1,
          "name": "list",
          "reading": {}
        }
      ],
      "configurationGeneration": "string",
      "generation": "string",
      "revision": 0,
      "saved": true,
      "sourceId": "id_8h2k4q",
      "values": {
        "allowAdvancedMediaAnalysis": true,
        "bytesPerSecond": 0,
        "connections": 1,
        "requestsPerSecond": 1,
        "scanDepth": "file_list_only",
        "wholeFileReads": true
      }
    },
    "removed": true,
    "source": {
      "credentialPresent": true,
      "errorCode": "string",
      "generation": 0,
      "id": "id_8h2k4q",
      "insecureLocal": true,
      "kind": "rclone",
      "mountId": "id_8h2k4q",
      "name": "Fargo",
      "origin": "string",
      "rangeSupport": "string",
      "rootPath": "string",
      "state": "string"
    }
  },
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • receiptobjectrequired
    • acceptedbooleanrequired
    • operationIdstringrequired
    • readSettingsobject
      • choiceApplicableFieldsarray of string1–23 items
      • choiceBaselineobject
        • advancedobjectrequired
          • cacheBytesintegerrequired

            0 disables the read cache; otherwise 64 MiB through 64 GiB.

          • cacheFloorBytesintegerrequired

            0 keeps the mount's current free-space floor; otherwise 1 GiB through 1 TiB.

          • chapterImagesbooleanrequired
          • checksumsbooleanrequired
          • connectTimeoutSecondsintegerrequired
          • dirCacheSecondsintegerrequired
          • doubleCheckFoldersbooleanrequired
          • fullRecheckDaysintegerrequiredone of 0, 7, 14, 30
          • idleTimeoutSecondsintegerrequired
          • introsModestringrequiredone of "off", "inherit", "sound", "picture"
          • loudnessbooleanrequired
          • lowLevelRetriesintegerrequired
          • readBufferBytesintegerrequired
          • retriesintegerrequired
          • scanIntervalSecondsintegerrequiredone of 0, 900, 3600, 21600, 86400, 604800
          • scanOnStartbooleanrequired
          • seekPreviewsbooleanrequired
          • watchForChangesbooleanrequired
          • waveformsbooleanrequired
        • advancedRevisionintegerrequired≥ 1
        • applicableFieldsarray of stringrequired0–23 items
        • changedFieldsarray of stringrequired0–23 items
        • configurationGenerationstringrequiredpattern ^[1-9][0-9]{0,18}$
        • currentAdvancedobjectrequired
          • cacheBytesintegerrequired

            0 disables the read cache; otherwise 64 MiB through 64 GiB.

          • cacheFloorBytesintegerrequired

            0 keeps the mount's current free-space floor; otherwise 1 GiB through 1 TiB.

          • chapterImagesbooleanrequired
          • checksumsbooleanrequired
          • connectTimeoutSecondsintegerrequired
          • dirCacheSecondsintegerrequired
          • doubleCheckFoldersbooleanrequired
          • fullRecheckDaysintegerrequiredone of 0, 7, 14, 30
          • idleTimeoutSecondsintegerrequired
          • introsModestringrequiredone of "off", "inherit", "sound", "picture"
          • loudnessbooleanrequired
          • lowLevelRetriesintegerrequired
          • readBufferBytesintegerrequired
          • retriesintegerrequired
          • scanIntervalSecondsintegerrequiredone of 0, 900, 3600, 21600, 86400, 604800
          • scanOnStartbooleanrequired
          • seekPreviewsbooleanrequired
          • watchForChangesbooleanrequired
          • waveformsbooleanrequired
        • definitionRevisionintegerrequired≥ 1
        • generationstringrequiredpattern ^[1-9][0-9]{0,18}$
        • namestringrequiredone of "list", "once", "everything", "ask"
        • readRevisionintegerrequired≥ 1
        • readingobjectrequired
          • bytesPerSecond0 | integerrequired
          • connectionsintegerrequired1–32
          • requestsPerSecondintegerrequired1–50
          • scanDepthstringrequiredone of "file_list_only", "basic", "complete"
          • wholeFileReadsfalserequired
        • sourceIdstringrequiredlength 1–160
      • choiceDefinitionsarray of object4–4 items
        • advancedobjectrequired
          • cacheBytesintegerrequired

            0 disables the read cache; otherwise 64 MiB through 64 GiB.

          • cacheFloorBytesintegerrequired

            0 keeps the mount's current free-space floor; otherwise 1 GiB through 1 TiB.

          • chapterImagesbooleanrequired
          • checksumsbooleanrequired
          • connectTimeoutSecondsintegerrequired
          • dirCacheSecondsintegerrequired
          • doubleCheckFoldersbooleanrequired
          • fullRecheckDaysintegerrequiredone of 0, 7, 14, 30
          • idleTimeoutSecondsintegerrequired
          • introsModestringrequiredone of "off", "inherit", "sound", "picture"
          • loudnessbooleanrequired
          • lowLevelRetriesintegerrequired
          • readBufferBytesintegerrequired
          • retriesintegerrequired
          • scanIntervalSecondsintegerrequiredone of 0, 900, 3600, 21600, 86400, 604800
          • scanOnStartbooleanrequired
          • seekPreviewsbooleanrequired
          • watchForChangesbooleanrequired
          • waveformsbooleanrequired
        • definitionRevisionintegerrequired≥ 1
        • namestringrequiredone of "list", "once", "everything", "ask"
        • readingobjectrequired
          • bytesPerSecond0 | integerrequired
          • connectionsintegerrequired1–32
          • requestsPerSecondintegerrequired1–50
          • scanDepthstringrequiredone of "file_list_only", "basic", "complete"
          • wholeFileReadsfalserequired
      • configurationGenerationstringpattern ^[1-9][0-9]{0,18}$
      • generationstringrequiredlength 1–∞
      • revisionintegerrequired≥ 0
      • savedbooleanrequired
      • sourceIdstringrequiredlength 1–∞
      • valuesobjectrequired
        • allowAdvancedMediaAnalysisboolean
        • bytesPerSecond0 | integerrequired
        • connectionsintegerrequired1–32
        • requestsPerSecondintegerrequired1–50
        • scanDepthstringrequiredone of "file_list_only", "basic", "complete"
        • wholeFileReadsbooleanrequired
    • removedbooleanrequired
    • sourceobjectrequired
      • credentialPresentbooleanrequired
      • errorCodestring
      • generationintegerrequired
      • idstringrequired
      • insecureLocalbooleanrequired
      • kindstringrequiredone of "rclone", "webdav", "sftp", "smb"
      • mountIdstring
      • namestringrequired
      • originstring
      • rangeSupportstringrequired
      • rootPathstringrequired
      • statestringrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busywriter_capacity

Example request

curl -X DELETE "http://127.0.0.1:32500/v1/storage/sources/webdav/{id}" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "expectedGeneration": 0,
  "insecureLocal": true,
  "keepConnection": true,
  "keepPassword": true,
  "name": "Fargo",
  "operationId": "id_8h2k4q",
  "password": "string",
  "root": "string",
  "username": "Fargo"
}'
PUT/v1/storage/sources/webdav/{id}Save storage sources webdavadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
put_storage_sources_webdav_id
Max body
64 KiB

Parameters

NameInTypeDescription
idrequiredpathstring

Request body application/json · required

Example
{
  "expectedGeneration": 0,
  "insecureLocal": true,
  "keepConnection": true,
  "keepPassword": true,
  "name": "Fargo",
  "operationId": "id_8h2k4q",
  "password": "string",
  "root": "string",
  "username": "Fargo"
}
Schema
  • expectedGenerationinteger
  • insecureLocalbooleanrequired
  • keepConnectionboolean
  • keepPasswordboolean
  • namestringrequired
  • operationIdstringrequired
  • passwordstringrequired
  • rootstringrequired
  • usernamestringrequired

Responses

200Successapplication/json

Example
{
  "receipt": {
    "accepted": true,
    "operationId": "id_8h2k4q",
    "readSettings": {
      "choiceApplicableFields": [
        "scanDepth"
      ],
      "choiceBaseline": {
        "advanced": {
          "cacheBytes": 0,
          "cacheFloorBytes": 0,
          "chapterImages": true,
          "checksums": true,
          "connectTimeoutSeconds": 0,
          "dirCacheSeconds": 0,
          "doubleCheckFolders": true,
          "fullRecheckDays": 0,
          "idleTimeoutSeconds": 0,
          "introsMode": "off",
          "loudness": true,
          "lowLevelRetries": 0,
          "readBufferBytes": 0,
          "retries": 0,
          "scanIntervalSeconds": 0,
          "scanOnStart": true,
          "seekPreviews": true,
          "watchForChanges": true,
          "waveforms": true
        },
        "advancedRevision": 1,
        "applicableFields": [
          "scanDepth"
        ],
        "changedFields": [
          "scanDepth"
        ],
        "configurationGeneration": "string",
        "currentAdvanced": {
          "cacheBytes": 0,
          "cacheFloorBytes": 0,
          "chapterImages": true,
          "checksums": true,
          "connectTimeoutSeconds": 0,
          "dirCacheSeconds": 0,
          "doubleCheckFolders": true,
          "fullRecheckDays": 0,
          "idleTimeoutSeconds": 0,
          "introsMode": "off",
          "loudness": true,
          "lowLevelRetries": 0,
          "readBufferBytes": 0,
          "retries": 0,
          "scanIntervalSeconds": 0,
          "scanOnStart": true,
          "seekPreviews": true,
          "watchForChanges": true,
          "waveforms": true
        },
        "definitionRevision": 1,
        "generation": "string",
        "name": "list",
        "readRevision": 1,
        "reading": {
          "bytesPerSecond": 0,
          "connections": 1,
          "requestsPerSecond": 1,
          "scanDepth": "file_list_only",
          "wholeFileReads": false
        },
        "sourceId": "id_8h2k4q"
      },
      "choiceDefinitions": [
        {
          "advanced": {},
          "definitionRevision": 1,
          "name": "list",
          "reading": {}
        }
      ],
      "configurationGeneration": "string",
      "generation": "string",
      "revision": 0,
      "saved": true,
      "sourceId": "id_8h2k4q",
      "values": {
        "allowAdvancedMediaAnalysis": true,
        "bytesPerSecond": 0,
        "connections": 1,
        "requestsPerSecond": 1,
        "scanDepth": "file_list_only",
        "wholeFileReads": true
      }
    },
    "removed": true,
    "source": {
      "credentialPresent": true,
      "errorCode": "string",
      "generation": 0,
      "id": "id_8h2k4q",
      "insecureLocal": true,
      "kind": "rclone",
      "mountId": "id_8h2k4q",
      "name": "Fargo",
      "origin": "string",
      "rangeSupport": "string",
      "rootPath": "string",
      "state": "string"
    }
  },
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • receiptobjectrequired
    • acceptedbooleanrequired
    • operationIdstringrequired
    • readSettingsobject
      • choiceApplicableFieldsarray of string1–23 items
      • choiceBaselineobject
        • advancedobjectrequired
          • cacheBytesintegerrequired

            0 disables the read cache; otherwise 64 MiB through 64 GiB.

          • cacheFloorBytesintegerrequired

            0 keeps the mount's current free-space floor; otherwise 1 GiB through 1 TiB.

          • chapterImagesbooleanrequired
          • checksumsbooleanrequired
          • connectTimeoutSecondsintegerrequired
          • dirCacheSecondsintegerrequired
          • doubleCheckFoldersbooleanrequired
          • fullRecheckDaysintegerrequiredone of 0, 7, 14, 30
          • idleTimeoutSecondsintegerrequired
          • introsModestringrequiredone of "off", "inherit", "sound", "picture"
          • loudnessbooleanrequired
          • lowLevelRetriesintegerrequired
          • readBufferBytesintegerrequired
          • retriesintegerrequired
          • scanIntervalSecondsintegerrequiredone of 0, 900, 3600, 21600, 86400, 604800
          • scanOnStartbooleanrequired
          • seekPreviewsbooleanrequired
          • watchForChangesbooleanrequired
          • waveformsbooleanrequired
        • advancedRevisionintegerrequired≥ 1
        • applicableFieldsarray of stringrequired0–23 items
        • changedFieldsarray of stringrequired0–23 items
        • configurationGenerationstringrequiredpattern ^[1-9][0-9]{0,18}$
        • currentAdvancedobjectrequired
          • cacheBytesintegerrequired

            0 disables the read cache; otherwise 64 MiB through 64 GiB.

          • cacheFloorBytesintegerrequired

            0 keeps the mount's current free-space floor; otherwise 1 GiB through 1 TiB.

          • chapterImagesbooleanrequired
          • checksumsbooleanrequired
          • connectTimeoutSecondsintegerrequired
          • dirCacheSecondsintegerrequired
          • doubleCheckFoldersbooleanrequired
          • fullRecheckDaysintegerrequiredone of 0, 7, 14, 30
          • idleTimeoutSecondsintegerrequired
          • introsModestringrequiredone of "off", "inherit", "sound", "picture"
          • loudnessbooleanrequired
          • lowLevelRetriesintegerrequired
          • readBufferBytesintegerrequired
          • retriesintegerrequired
          • scanIntervalSecondsintegerrequiredone of 0, 900, 3600, 21600, 86400, 604800
          • scanOnStartbooleanrequired
          • seekPreviewsbooleanrequired
          • watchForChangesbooleanrequired
          • waveformsbooleanrequired
        • definitionRevisionintegerrequired≥ 1
        • generationstringrequiredpattern ^[1-9][0-9]{0,18}$
        • namestringrequiredone of "list", "once", "everything", "ask"
        • readRevisionintegerrequired≥ 1
        • readingobjectrequired
          • bytesPerSecond0 | integerrequired
          • connectionsintegerrequired1–32
          • requestsPerSecondintegerrequired1–50
          • scanDepthstringrequiredone of "file_list_only", "basic", "complete"
          • wholeFileReadsfalserequired
        • sourceIdstringrequiredlength 1–160
      • choiceDefinitionsarray of object4–4 items
        • advancedobjectrequired
          • cacheBytesintegerrequired

            0 disables the read cache; otherwise 64 MiB through 64 GiB.

          • cacheFloorBytesintegerrequired

            0 keeps the mount's current free-space floor; otherwise 1 GiB through 1 TiB.

          • chapterImagesbooleanrequired
          • checksumsbooleanrequired
          • connectTimeoutSecondsintegerrequired
          • dirCacheSecondsintegerrequired
          • doubleCheckFoldersbooleanrequired
          • fullRecheckDaysintegerrequiredone of 0, 7, 14, 30
          • idleTimeoutSecondsintegerrequired
          • introsModestringrequiredone of "off", "inherit", "sound", "picture"
          • loudnessbooleanrequired
          • lowLevelRetriesintegerrequired
          • readBufferBytesintegerrequired
          • retriesintegerrequired
          • scanIntervalSecondsintegerrequiredone of 0, 900, 3600, 21600, 86400, 604800
          • scanOnStartbooleanrequired
          • seekPreviewsbooleanrequired
          • watchForChangesbooleanrequired
          • waveformsbooleanrequired
        • definitionRevisionintegerrequired≥ 1
        • namestringrequiredone of "list", "once", "everything", "ask"
        • readingobjectrequired
          • bytesPerSecond0 | integerrequired
          • connectionsintegerrequired1–32
          • requestsPerSecondintegerrequired1–50
          • scanDepthstringrequiredone of "file_list_only", "basic", "complete"
          • wholeFileReadsfalserequired
      • configurationGenerationstringpattern ^[1-9][0-9]{0,18}$
      • generationstringrequiredlength 1–∞
      • revisionintegerrequired≥ 0
      • savedbooleanrequired
      • sourceIdstringrequiredlength 1–∞
      • valuesobjectrequired
        • allowAdvancedMediaAnalysisboolean
        • bytesPerSecond0 | integerrequired
        • connectionsintegerrequired1–32
        • requestsPerSecondintegerrequired1–50
        • scanDepthstringrequiredone of "file_list_only", "basic", "complete"
        • wholeFileReadsbooleanrequired
    • removedbooleanrequired
    • sourceobjectrequired
      • credentialPresentbooleanrequired
      • errorCodestring
      • generationintegerrequired
      • idstringrequired
      • insecureLocalbooleanrequired
      • kindstringrequiredone of "rclone", "webdav", "sftp", "smb"
      • mountIdstring
      • namestringrequired
      • originstring
      • rangeSupportstringrequired
      • rootPathstringrequired
      • statestringrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busywriter_capacity

Example request

curl -X PUT "http://127.0.0.1:32500/v1/storage/sources/webdav/{id}" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "expectedGeneration": 0,
  "insecureLocal": true,
  "keepConnection": true,
  "keepPassword": true,
  "name": "Fargo",
  "operationId": "id_8h2k4q",
  "password": "string",
  "root": "string",
  "username": "Fargo"
}'
POST/v1/storage/sources/webdav/testTest a new WebDAV connection and bounded ranges without saving a sourceadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
test_storage_source_webdav
Max body
64 KiB

Request body application/json · required

Example
{
  "insecureLocal": true,
  "name": "Fargo",
  "password": "string",
  "root": "string",
  "username": "Fargo"
}
Schema
  • insecureLocalbooleanrequired
  • namestringrequired
  • passwordstringrequired
  • rootstringrequired
  • usernamestringrequired

Responses

200Successapplication/json

Example
{
  "result": {
    "origin": "string",
    "rangeSupport": "string"
  },
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • resultobjectrequired
    • originstringrequired
    • rangeSupportstringrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • errorobjectrequired
    • codestringrequired
    • messagestringrequired

Error codesunauthorizednot_permittedinvalid_requestsource_credentials_requiredadministration_unavailableinternaltimeoutdatabase_busywriter_capacity

Example request

curl -X POST "http://127.0.0.1:32500/v1/storage/sources/webdav/test" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"insecureLocal":true,"name":"Fargo","password":"string","root":"string","username":"Fargo"}'