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
{
"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"
}
}- 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
{
"error": {
"code": "string",
"message": "string"
}
}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
{
"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"
}
}- actionstring
- cacheBytesinteger
- cacheFloorinteger
- configstring
- executablestring
- expectedRevisioninteger
- namestring
- operationIdstringrequired
- remotestring
setupobject
- accessKeystringrequired
- bucketstringrequired
- endpointstringrequired
- prefixstringrequired
- regionstringrequired
- secretKeystringrequired
Responses
200Successapplication/json
{
"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"
}
}- 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
{
"error": {
"code": "string",
"message": "string"
}
}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
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Request body application/json · required
{
"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"
}
}- actionstring
- cacheBytesinteger
- cacheFloorinteger
- configstring
- executablestring
- expectedRevisioninteger
- namestring
- operationIdstringrequired
- remotestring
setupobject
- accessKeystringrequired
- bucketstringrequired
- endpointstringrequired
- prefixstringrequired
- regionstringrequired
- secretKeystringrequired
Responses
200Successapplication/json
{
"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"
}
}- 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
{
"error": {
"code": "string",
"message": "string"
}
}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
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Request body application/json · required
{
"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"
}
}- actionstring
- cacheBytesinteger
- cacheFloorinteger
- configstring
- executablestring
- expectedRevisioninteger
- namestring
- operationIdstringrequired
- remotestring
setupobject
- accessKeystringrequired
- bucketstringrequired
- endpointstringrequired
- prefixstringrequired
- regionstringrequired
- secretKeystringrequired
Responses
200Successapplication/json
{
"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"
}
}- 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
{
"error": {
"code": "string",
"message": "string"
}
}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
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Responses
200Successapplication/json
{
"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"
}
}- 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
{
"error": {
"code": "string",
"message": "string"
}
}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
{
"available": true,
"errorCode": "string",
"included": true,
"minimumVersion": "string",
"version": "string"
}- availablebooleanrequired
- errorCodestringrequired
- includedbooleanrequired
- minimumVersionstringrequired
- versionstringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}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
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Responses
200Successapplication/json
{
"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"
}
}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
{
"error": {
"code": "string",
"message": "string"
}
}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
{
"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"
}
]
}- 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
{
"error": {
"code": "string",
"message": "string"
}
}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
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | |
path | query | string | |
cursor | query | string | |
limit | query | integer | ""1–500 | |
showHidden | query | string |
Responses
200Successapplication/json
{
"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"
}
}foldersobjectrequired
entriesarray of objectrequired
- hiddenbooleanrequired
- namestringrequired
- pathstringrequired
- relativestringrequired
- generationstringrequired
- nextCursorstringrequired
- pathstringrequired
- relativestringrequired
- sourceIdstringrequired
- truncatedbooleanrequired
scopeobjectrequired
- serverIdstringrequired
- viewerFencestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}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
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Responses
200Successapplication/json
{
"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
}
}
}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
{
"error": {
"code": "string",
"message": "string"
}
}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
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | |
Idempotency-Key | header | string | |
Portico-Mutation-Root | header | string |
Request body application/json · required
{
"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
}
}- 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
{
"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
}
}
}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
{
"error": {
"code": "string",
"message": "string"
}
}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
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | |
Idempotency-Key | header | string | |
Portico-Mutation-Root | header | string |
Request body application/json · required
{
"executable": "string",
"expectedRevision": 0,
"operationId": "id_8h2k4q",
"useIncluded": true
}- 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
{
"program": {
"executable": "string",
"included": true,
"revision": 0,
"version": "string"
},
"scope": {
"serverId": "id_8h2k4q",
"viewerFence": "string"
}
}programobjectrequired
- executablestringrequired
- includedbooleanrequired
- revisionintegerrequired
- versionstringrequired
scopeobjectrequired
- serverIdstringrequired
- viewerFencestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}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
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Responses
200Successapplication/json
{
"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
}
}
}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
{
"error": {
"code": "string",
"message": "string"
}
}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
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | |
Idempotency-Key | header | string | |
Portico-Mutation-Root | header | string |
Request body application/json · required
{
"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
}
}- 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
{
"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"
}
}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
{
"error": {
"code": "string",
"message": "string"
}
}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
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Responses
200Successapplication/json
{
"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"
}
}- 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
{
"error": {
"code": "string",
"message": "string"
}
}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
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Responses
200Successapplication/json
{
"result": {
"errorCode": "credentials_required",
"generation": "string",
"rangeSupport": "string",
"reachable": true,
"sourceId": "id_8h2k4q"
},
"scope": {
"serverId": "id_8h2k4q",
"viewerFence": "string"
}
}resultobjectrequired
- errorCodestringone of "credentials_required", "offline", "quota_exceeded", "rate_limited"
- generationstringrequired
- rangeSupportstring
- reachablebooleanrequired
- sourceIdstringrequired
scopeobjectrequired
- serverIdstringrequired
- viewerFencestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}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
{
"config": "string",
"name": "Fargo",
"operationId": "id_8h2k4q",
"remote": "string"
}- configstringrequired
- namestringrequired
- operationIdstringrequired
- remotestringrequired
Responses
200Successapplication/json
{
"receipt": {
"accepted": true,
"generation": 0,
"operationId": "id_8h2k4q",
"removed": true,
"sourceId": "id_8h2k4q"
},
"scope": {
"serverId": "id_8h2k4q",
"viewerFence": "string"
}
}receiptobjectrequired
- acceptedbooleanrequired
- generationintegerrequired
- operationIdstringrequired
- removedboolean
- sourceIdstringrequired
scopeobjectrequired
- serverIdstringrequired
- viewerFencestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}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
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Request body application/json · required
{
"expectedGeneration": 0,
"operationId": "id_8h2k4q"
}- expectedGenerationintegerrequired
- operationIdstringrequired
Responses
200Successapplication/json
{
"receipt": {
"accepted": true,
"generation": 0,
"operationId": "id_8h2k4q",
"removed": true,
"sourceId": "id_8h2k4q"
},
"scope": {
"serverId": "id_8h2k4q",
"viewerFence": "string"
}
}receiptobjectrequired
- acceptedbooleanrequired
- generationintegerrequired
- operationIdstringrequired
- removedboolean
- sourceIdstringrequired
scopeobjectrequired
- serverIdstringrequired
- viewerFencestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}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
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Request body application/json · required
{
"config": "string",
"expectedGeneration": 0,
"name": "Fargo",
"operationId": "id_8h2k4q",
"remote": "string"
}- configstringrequired
- expectedGenerationintegerrequired
- namestringrequired
- operationIdstringrequired
- remotestringrequired
Responses
200Successapplication/json
{
"receipt": {
"accepted": true,
"generation": 0,
"operationId": "id_8h2k4q",
"removed": true,
"sourceId": "id_8h2k4q"
},
"scope": {
"serverId": "id_8h2k4q",
"viewerFence": "string"
}
}receiptobjectrequired
- acceptedbooleanrequired
- generationintegerrequired
- operationIdstringrequired
- removedboolean
- sourceIdstringrequired
scopeobjectrequired
- serverIdstringrequired
- viewerFencestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}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
{
"path": "string",
"remotes": [
{
"kind": "string",
"name": "Fargo",
"reason": "string",
"supported": true
}
],
"scope": {
"serverId": "id_8h2k4q",
"viewerFence": "string"
},
"truncated": true
}- pathstringrequired
remotesarray of objectrequired
- kindstringrequired
- namestringrequired
- reasonstringrequired
- supportedbooleanrequired
scopeobjectrequired
- serverIdstringrequired
- viewerFencestringrequired
- truncatedbooleanrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}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
{
"name": "Fargo",
"operationId": "id_8h2k4q",
"remote": "string"
}- namestringrequired
- operationIdstringrequired
- remotestringrequired
Responses
200Successapplication/json
{
"receipt": {
"accepted": true,
"generation": 0,
"operationId": "id_8h2k4q",
"removed": true,
"sourceId": "id_8h2k4q"
},
"scope": {
"serverId": "id_8h2k4q",
"viewerFence": "string"
}
}receiptobjectrequired
- acceptedbooleanrequired
- generationintegerrequired
- operationIdstringrequired
- removedboolean
- sourceIdstringrequired
scopeobjectrequired
- serverIdstringrequired
- viewerFencestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}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
{
"state": "string"
}- statestringrequired
Responses
200Successapplication/json
{
"cancelled": true,
"scope": {
"serverId": "id_8h2k4q",
"viewerFence": "string"
}
}- cancelledbooleanrequired
scopeobjectrequired
- serverIdstringrequired
- viewerFencestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}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
{
"redirectUrl": "https://example.com/…",
"state": "string"
}- redirectUrlstringrequired
- statestringrequired
Responses
200Successapplication/json
{
"phase": "pending",
"scope": {
"serverId": "id_8h2k4q",
"viewerFence": "string"
}
}- phasestringrequiredone of "pending", "ready", "expired", "denied"
scopeobjectrequired
- serverIdstringrequired
- viewerFencestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}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
{
"clientId": "id_8h2k4q",
"clientSecret": "string"
}- clientIdstringrequired
- clientSecretstringrequired
Responses
200Successapplication/json
{
"authorizationUrl": "https://example.com/…",
"scope": {
"serverId": "id_8h2k4q",
"viewerFence": "string"
},
"state": "string"
}- authorizationUrlstringrequired
scopeobjectrequired
- serverIdstringrequired
- viewerFencestringrequired
- statestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}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
{
"state": "string"
}- statestringrequired
Responses
200Successapplication/json
{
"phase": "pending",
"scope": {
"serverId": "id_8h2k4q",
"viewerFence": "string"
},
"token": "string"
}- phasestringrequiredone of "pending", "ready", "expired", "denied"
scopeobjectrequired
- serverIdstringrequired
- viewerFencestringrequired
- tokenstring
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}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
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Responses
200Successapplication/json
{
"receipt": {
"accepted": true,
"generation": 0,
"operationId": "id_8h2k4q",
"removed": true,
"sourceId": "id_8h2k4q"
},
"scope": {
"serverId": "id_8h2k4q",
"viewerFence": "string"
}
}receiptobjectrequired
- acceptedbooleanrequired
- generationintegerrequired
- operationIdstringrequired
- removedboolean
- sourceIdstringrequired
scopeobjectrequired
- serverIdstringrequired
- viewerFencestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}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
{
"providers": [
"string"
],
"scope": {
"serverId": "id_8h2k4q",
"viewerFence": "string"
}
}- providersarray of stringrequired
scopeobjectrequired
- serverIdstringrequired
- viewerFencestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}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
{
"config": "string",
"remote": "string"
}- configstringrequired
- remotestringrequired
Responses
200Successapplication/json
{
"result": {
"version": "string"
},
"scope": {
"serverId": "id_8h2k4q",
"viewerFence": "string"
}
}resultobjectrequired
- versionstringrequired
scopeobjectrequired
- serverIdstringrequired
- viewerFencestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}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
{
"expectedGeneration": 0,
"insecureLocal": true,
"keepConnection": true,
"keepPassword": true,
"name": "Fargo",
"operationId": "id_8h2k4q",
"password": "string",
"root": "string",
"username": "Fargo"
}- expectedGenerationinteger
- insecureLocalbooleanrequired
- keepConnectionboolean
- keepPasswordboolean
- namestringrequired
- operationIdstringrequired
- passwordstringrequired
- rootstringrequired
- usernamestringrequired
Responses
200Successapplication/json
{
"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"
}
}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
{
"error": {
"code": "string",
"message": "string"
}
}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
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Request body application/json · required
{
"expectedGeneration": 0,
"insecureLocal": true,
"keepConnection": true,
"keepPassword": true,
"name": "Fargo",
"operationId": "id_8h2k4q",
"password": "string",
"root": "string",
"username": "Fargo"
}- expectedGenerationinteger
- insecureLocalbooleanrequired
- keepConnectionboolean
- keepPasswordboolean
- namestringrequired
- operationIdstringrequired
- passwordstringrequired
- rootstringrequired
- usernamestringrequired
Responses
200Successapplication/json
{
"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"
}
}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
{
"error": {
"code": "string",
"message": "string"
}
}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
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Request body application/json · required
{
"expectedGeneration": 0,
"insecureLocal": true,
"keepConnection": true,
"keepPassword": true,
"name": "Fargo",
"operationId": "id_8h2k4q",
"password": "string",
"root": "string",
"username": "Fargo"
}- expectedGenerationinteger
- insecureLocalbooleanrequired
- keepConnectionboolean
- keepPasswordboolean
- namestringrequired
- operationIdstringrequired
- passwordstringrequired
- rootstringrequired
- usernamestringrequired
Responses
200Successapplication/json
{
"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"
}
}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
{
"error": {
"code": "string",
"message": "string"
}
}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
{
"insecureLocal": true,
"name": "Fargo",
"password": "string",
"root": "string",
"username": "Fargo"
}- insecureLocalbooleanrequired
- namestringrequired
- passwordstringrequired
- rootstringrequired
- usernamestringrequired
Responses
200Successapplication/json
{
"result": {
"origin": "string",
"rangeSupport": "string"
},
"scope": {
"serverId": "id_8h2k4q",
"viewerFence": "string"
}
}resultobjectrequired
- originstringrequired
- rangeSupportstringrequired
scopeobjectrequired
- serverIdstringrequired
- viewerFencestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}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"}'No operations match that filter.