Admin Libraries

Generated admin libraries operations.

GET/v1/admin/librariesRead server librarylibrary
Audience
Integrations · Native API
Authorization
API key or personal access token with the library scope, or a signed-in session
OpenAPI operation ID
get_admin_libraries

Parameters

NameInTypeDescription
cursorquerystring
limitqueryinteger1–40

Responses

200Successapplication/json

Example
{
  "items": [
    {
      "actions": [
        "string"
      ],
      "attention": {
        "atLeast": true,
        "files": 0
      },
      "audience": {
        "accounts": 0,
        "everyone": true
      },
      "filesSkipped": 0,
      "id": "id_8h2k4q",
      "kind": "string",
      "lastScan": {
        "actions": [
          "string"
        ],
        "analyzed": 0,
        "createdAt": "2026-10-18T19:30:00Z",
        "error": "string",
        "errorCode": "string",
        "finishedAt": "2026-10-18T19:30:00Z",
        "id": "id_8h2k4q",
        "libraryId": "id_8h2k4q",
        "libraryKind": "string",
        "libraryName": "Fargo",
        "pauseReason": "string",
        "phase": "string",
        "processed": 0,
        "sourceId": "id_8h2k4q",
        "status": "string",
        "updatedAt": "2026-10-18T19:30:00Z",
        "warnings": 0
      },
      "name": "Fargo",
      "position": 0,
      "revision": 0,
      "source": {
        "availability": "string",
        "basis": "string",
        "message": "string",
        "observedAt": "2026-10-18T19:30:00Z",
        "path": "string"
      },
      "summary": {
        "counts": [
          {}
        ],
        "coverUrls": [
          "https://example.com/…"
        ],
        "empty": true,
        "emptyKnown": true,
        "firstScan": true,
        "latestArtwork": "string",
        "publicationCounts": [
          {}
        ]
      }
    }
  ],
  "nextCursor": "eyJvIjoyMH0",
  "revision": 0,
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • itemsarray of objectrequired
    • actionsarray of stringrequired
    • attentionobject
      • atLeastboolean
      • filesintegerrequired
    • audienceobject
      • accountsintegerrequired
      • everyonebooleanrequired
    • filesSkippedintegerrequired
    • idstringrequired
    • kindstringrequired
    • lastScanobject | any | nullrequired
      • actionsarray of stringrequired
      • analyzedintegerrequired
      • createdAtstringrequired
      • errorstring
      • errorCodestring
      • finishedAtstring | any | nullrequired
      • idstringrequired
      • libraryIdstringrequired
      • libraryKindstringrequired
      • libraryNamestringrequired
      • pauseReasonstringrequired
      • phasestringrequired
      • processedintegerrequired
      • sourceIdstringrequired
      • statusstringrequired
      • updatedAtstring | any | nullrequired
      • warningsintegerrequired
    • namestringrequired
    • positionintegerrequired
    • revisionintegerrequired
    • sourceobjectrequired
      • availabilitystringrequired
      • basisstringrequired
      • messagestring
      • observedAtstring
      • pathstringrequired
    • summaryobject
      • countsarray of objectrequired
        • atLeastbooleanrequired
        • countintegerrequired
        • kindstringrequired
      • coverUrlsarray of stringrequired
      • emptybooleanrequired
      • emptyKnownbooleanrequired
      • firstScanbooleanrequired
      • latestArtworkstringrequired
      • publicationCountsarray of object
        • atLeastbooleanrequired
        • countintegerrequired
        • kindstringrequired
  • nextCursorstringrequired
  • revisionintegerrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

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

Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busy

Example request

curl -X GET "http://127.0.0.1:32500/v1/admin/libraries" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
DELETE/v1/admin/libraries/{id}Remove a library: it disappears at once and is taken apart in the background; files on disk are not touched and each profile's state is kept in case its titles returnadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
remove_library
Max body
4 KiB

Parameters

NameInTypeDescription
idrequiredpathstring

Request body application/json · required

Example
{
  "confirmation": "string",
  "expectedRevision": 0
}
Schema
  • confirmationstringrequired
  • expectedRevisionintegerrequired

Responses

202Successapplication/json

Example
{
  "libraryId": "id_8h2k4q",
  "removing": true
}
Schema
  • libraryIdstringrequired
  • removingbooleanrequired

defaultRequest refused or unavailableapplication/json

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

Error codesrevision_mismatchconfirmation_mismatchadministration_unavailableunauthorizednot_permittednot_foundinvalid_requestinternaltimeoutrevision_requireddatabase_busywriter_capacity

Example request

curl -X DELETE "http://127.0.0.1:32500/v1/admin/libraries/{id}" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"confirmation":"string","expectedRevision":0}'
GET/v1/admin/libraries/{id}Read server librarylibrary
Audience
Clients · Native API
Authorization
API key or personal access token with the library scope, or a signed-in session
OpenAPI operation ID
get_admin_libraries_id

Parameters

NameInTypeDescription
idrequiredpathstring

Responses

200Successapplication/json

Example
{
  "library": {
    "actions": [
      "string"
    ],
    "attention": {
      "atLeast": true,
      "files": 0
    },
    "audience": {
      "accounts": 0,
      "everyone": true
    },
    "filesSkipped": 0,
    "id": "id_8h2k4q",
    "kind": "string",
    "lastScan": {
      "actions": [
        "string"
      ],
      "analyzed": 0,
      "createdAt": "2026-10-18T19:30:00Z",
      "error": "string",
      "errorCode": "string",
      "finishedAt": "2026-10-18T19:30:00Z",
      "id": "id_8h2k4q",
      "libraryId": "id_8h2k4q",
      "libraryKind": "string",
      "libraryName": "Fargo",
      "pauseReason": "string",
      "phase": "string",
      "processed": 0,
      "sourceId": "id_8h2k4q",
      "status": "string",
      "updatedAt": "2026-10-18T19:30:00Z",
      "warnings": 0
    },
    "name": "Fargo",
    "position": 0,
    "revision": 0,
    "source": {
      "availability": "string",
      "basis": "string",
      "message": "string",
      "observedAt": "2026-10-18T19:30:00Z",
      "path": "string"
    },
    "summary": {
      "counts": [
        {
          "atLeast": true,
          "count": 0,
          "kind": "string"
        }
      ],
      "coverUrls": [
        "https://example.com/…"
      ],
      "empty": true,
      "emptyKnown": true,
      "firstScan": true,
      "latestArtwork": "string",
      "publicationCounts": [
        {
          "atLeast": true,
          "count": 0,
          "kind": "string"
        }
      ]
    }
  },
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • libraryobjectrequired
    • actionsarray of stringrequired
    • attentionobject
      • atLeastboolean
      • filesintegerrequired
    • audienceobject
      • accountsintegerrequired
      • everyonebooleanrequired
    • filesSkippedintegerrequired
    • idstringrequired
    • kindstringrequired
    • lastScanobject | any | nullrequired
      • actionsarray of stringrequired
      • analyzedintegerrequired
      • createdAtstringrequired
      • errorstring
      • errorCodestring
      • finishedAtstring | any | nullrequired
      • idstringrequired
      • libraryIdstringrequired
      • libraryKindstringrequired
      • libraryNamestringrequired
      • pauseReasonstringrequired
      • phasestringrequired
      • processedintegerrequired
      • sourceIdstringrequired
      • statusstringrequired
      • updatedAtstring | any | nullrequired
      • warningsintegerrequired
    • namestringrequired
    • positionintegerrequired
    • revisionintegerrequired
    • sourceobjectrequired
      • availabilitystringrequired
      • basisstringrequired
      • messagestring
      • observedAtstring
      • pathstringrequired
    • summaryobject
      • countsarray of objectrequired
        • atLeastbooleanrequired
        • countintegerrequired
        • kindstringrequired
      • coverUrlsarray of stringrequired
      • emptybooleanrequired
      • emptyKnownbooleanrequired
      • firstScanbooleanrequired
      • latestArtworkstringrequired
      • publicationCountsarray of object
        • atLeastbooleanrequired
        • countintegerrequired
        • kindstringrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

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

Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busy

Example request

curl -X GET "http://127.0.0.1:32500/v1/admin/libraries/{id}" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
PATCH/v1/admin/libraries/{id}Change server librarylibrary
Audience
Clients · Native API
Authorization
API key or personal access token with the library scope, or a signed-in session
OpenAPI operation ID
patch_admin_libraries_id
Max body
64 KiB

Parameters

NameInTypeDescription
idrequiredpathstring
Idempotency-Keyheaderstring
Portico-Mutation-Rootheaderstring

Request body application/json · required

Example
{
  "expectedRevision": 0,
  "name": "Fargo"
}
Schema
  • expectedRevisionintegerrequired
  • namestringrequired

Responses

200Successapplication/json

Example
{
  "library": {
    "actions": [
      "string"
    ],
    "attention": {
      "atLeast": true,
      "files": 0
    },
    "audience": {
      "accounts": 0,
      "everyone": true
    },
    "filesSkipped": 0,
    "id": "id_8h2k4q",
    "kind": "string",
    "lastScan": {
      "actions": [
        "string"
      ],
      "analyzed": 0,
      "createdAt": "2026-10-18T19:30:00Z",
      "error": "string",
      "errorCode": "string",
      "finishedAt": "2026-10-18T19:30:00Z",
      "id": "id_8h2k4q",
      "libraryId": "id_8h2k4q",
      "libraryKind": "string",
      "libraryName": "Fargo",
      "pauseReason": "string",
      "phase": "string",
      "processed": 0,
      "sourceId": "id_8h2k4q",
      "status": "string",
      "updatedAt": "2026-10-18T19:30:00Z",
      "warnings": 0
    },
    "name": "Fargo",
    "position": 0,
    "revision": 0,
    "source": {
      "availability": "string",
      "basis": "string",
      "message": "string",
      "observedAt": "2026-10-18T19:30:00Z",
      "path": "string"
    },
    "summary": {
      "counts": [
        {
          "atLeast": true,
          "count": 0,
          "kind": "string"
        }
      ],
      "coverUrls": [
        "https://example.com/…"
      ],
      "empty": true,
      "emptyKnown": true,
      "firstScan": true,
      "latestArtwork": "string",
      "publicationCounts": [
        {
          "atLeast": true,
          "count": 0,
          "kind": "string"
        }
      ]
    }
  },
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  }
}
Schema
  • libraryobjectrequired
    • actionsarray of stringrequired
    • attentionobject
      • atLeastboolean
      • filesintegerrequired
    • audienceobject
      • accountsintegerrequired
      • everyonebooleanrequired
    • filesSkippedintegerrequired
    • idstringrequired
    • kindstringrequired
    • lastScanobject | any | nullrequired
      • actionsarray of stringrequired
      • analyzedintegerrequired
      • createdAtstringrequired
      • errorstring
      • errorCodestring
      • finishedAtstring | any | nullrequired
      • idstringrequired
      • libraryIdstringrequired
      • libraryKindstringrequired
      • libraryNamestringrequired
      • pauseReasonstringrequired
      • phasestringrequired
      • processedintegerrequired
      • sourceIdstringrequired
      • statusstringrequired
      • updatedAtstring | any | nullrequired
      • warningsintegerrequired
    • namestringrequired
    • positionintegerrequired
    • revisionintegerrequired
    • sourceobjectrequired
      • availabilitystringrequired
      • basisstringrequired
      • messagestring
      • observedAtstring
      • pathstringrequired
    • summaryobject
      • countsarray of objectrequired
        • atLeastbooleanrequired
        • countintegerrequired
        • kindstringrequired
      • coverUrlsarray of stringrequired
      • emptybooleanrequired
      • emptyKnownbooleanrequired
      • firstScanbooleanrequired
      • latestArtworkstringrequired
      • publicationCountsarray of object
        • atLeastbooleanrequired
        • countintegerrequired
        • kindstringrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired

defaultRequest refused or unavailableapplication/json

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

Error codesinvalid_requestunauthorizednot_permittednot_foundinternalidempotency_conflictreceipt_expiredinvalid_mutation_keydatabase_busywriter_capacity

Example request

curl -X PATCH "http://127.0.0.1:32500/v1/admin/libraries/{id}" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"expectedRevision":0,"name":"Fargo"}'
GET/v1/admin/libraries/{id}/inventoryRead one page of library files, optionally locating one file by its asset idlibrary
Audience
Clients · Native API
Authorization
API key or personal access token with the library scope, or a signed-in session
OpenAPI operation ID
get_library_inventory

Parameters

NameInTypeDescription
idrequiredpathstring
sourceIdquerystring
assetIdquerystring
statequerystring
cursorquerystring
limitqueryinteger | ""0–40

Responses

200Successapplication/json

Example
{
  "items": [
    {
      "analysisError": "string",
      "analysisState": "string",
      "assetId": "id_8h2k4q",
      "id": "id_8h2k4q",
      "itemId": "id_8h2k4q",
      "missingSince": "string",
      "modifiedNs": 0,
      "relativePath": "string",
      "revision": "r12",
      "size": 0,
      "sourceId": "id_8h2k4q",
      "state": "string",
      "title": "Fargo",
      "unsupportedReason": "string"
    }
  ],
  "libraryId": "id_8h2k4q",
  "nextCursor": "eyJvIjoyMH0",
  "revision": 0,
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  },
  "sourceId": "id_8h2k4q"
}
Schema
  • itemsarray of objectrequired
    • analysisErrorstringrequired
    • analysisStatestringrequired
    • assetIdstringrequired
    • idstringrequired
    • itemIdstringrequired
    • missingSincestringrequired
    • modifiedNsintegerrequired
    • relativePathstringrequired
    • revisionstringrequired
    • sizeintegerrequired
    • sourceIdstringrequired
    • statestringrequired
    • titlestringrequired
    • unsupportedReasonstringrequired
  • libraryIdstringrequired
  • nextCursorstringrequired
  • revisionintegerrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired
  • sourceIdstringrequired

defaultRequest refused or unavailableapplication/json

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

Error codesunauthorizednot_permittedinvalid_requestnot_foundrevision_mismatchinternaltimeoutdatabase_busy

Example request

curl -X GET "http://127.0.0.1:32500/v1/admin/libraries/{id}/inventory" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
GET/v1/admin/libraries/{id}/inventory-configRead server library inventory configlibrary
Audience
Clients · Native API
Authorization
API key or personal access token with the library scope, or a signed-in session
OpenAPI operation ID
get_admin_libraries_id_inventory_config

Parameters

NameInTypeDescription
idrequiredpathstring

Responses

200Successapplication/json

Example
{
  "libraryId": "id_8h2k4q",
  "policy": {
    "operations": [
      "string"
    ],
    "revision": 0,
    "tier": "string",
    "trickplay": {
      "intervalMs": 1800000,
      "maxTiles": 0,
      "tileWidth": 0
    }
  },
  "revision": 0,
  "scope": {
    "serverId": "id_8h2k4q",
    "viewerFence": "string"
  },
  "sources": [
    {
      "classification": "string",
      "enabled": true,
      "followSymlinks": true,
      "generation": 0,
      "health": "string",
      "id": "id_8h2k4q",
      "identityConfirmed": true,
      "intervalMs": 1800000,
      "kind": "string",
      "lastCompleteAt": "2026-10-18T19:30:00Z",
      "lastProgressAt": "2026-10-18T19:30:00Z",
      "libraryId": "id_8h2k4q",
      "name": "Fargo",
      "nextScanAt": "2026-10-18T19:30:00Z",
      "path": "string",
      "resolvedPath": "string"
    }
  ]
}
Schema
  • libraryIdstringrequired
  • policyobjectrequired
    • operationsarray of stringrequired
    • revisionintegerrequired
    • tierstringrequired
    • trickplayobjectrequired
      • intervalMsintegerrequired≥ 0
      • maxTilesintegerrequired
      • tileWidthintegerrequired
  • revisionintegerrequired
  • scopeobjectrequired
    • serverIdstringrequired
    • viewerFencestringrequired
  • sourcesarray of objectrequired
    • classificationstringrequired
    • enabledbooleanrequired
    • followSymlinksbooleanrequired
    • generationintegerrequired
    • healthstringrequired
    • idstringrequired
    • identityConfirmedbooleanrequired
    • intervalMsintegerrequired≥ 0
    • kindstringrequired
    • lastCompleteAtstringrequired
    • lastProgressAtstringrequired
    • libraryIdstringrequired
    • namestringrequired
    • nextScanAtstringrequired
    • pathstringrequired
    • resolvedPathstringrequired

defaultRequest refused or unavailableapplication/json

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

Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busy

Example request

curl -X GET "http://127.0.0.1:32500/v1/admin/libraries/{id}/inventory-config" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
POST/v1/admin/libraries/{id}/inventory/{object}/{action}Run server library inventorylibrary
Audience
Clients · Native API
Authorization
API key or personal access token with the library scope, or a signed-in session
OpenAPI operation ID
post_admin_libraries_id_inventory_object_action
Max body
64 KiB

Parameters

NameInTypeDescription
idrequiredpathstring
objectrequiredpathstring
actionrequiredpathstring

Request body application/json · required

Example
{
  "itemId": "id_8h2k4q",
  "revision": "r12"
}
Schema
  • itemIdstringrequired
  • revisionstringrequired

Responses

200Successapplication/json

Example
{
  "itemId": "id_8h2k4q"
}
Schema
  • itemIdstringrequired

204Success

defaultRequest refused or unavailableapplication/json

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

Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busywriter_capacity

Example request

curl -X POST "http://127.0.0.1:32500/v1/admin/libraries/{id}/inventory/{object}/{action}" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"itemId":"id_8h2k4q","revision":"r12"}'
POST/v1/admin/libraries/{id}/inventory/{object}/separate-folderMake a file's folder its own album or booklibrary
Audience
Clients · Native API
Authorization
API key or personal access token with the library scope, or a signed-in session
OpenAPI operation ID
post_admin_libraries_id_inventory_object_separate_folder
Max body
64 KiB

Parameters

NameInTypeDescription
idrequiredpathstring
objectrequiredpathstring

Request body application/json · required

Example
{
  "revision": "r12"
}
Schema
  • revisionstringrequired

Responses

200Successapplication/json

Example
{
  "itemId": "id_8h2k4q"
}
Schema
  • itemIdstringrequired

defaultRequest refused or unavailableapplication/json

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

Error codesinvalid_requestunauthorizednot_permittednot_foundrevision_mismatchrequest_in_progressinternaldatabase_busywriter_capacity

Example request

curl -X POST "http://127.0.0.1:32500/v1/admin/libraries/{id}/inventory/{object}/separate-folder" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"revision":"r12"}'
PUT/v1/admin/libraries/{id}/scan-policySave server library scan policylibrary
Audience
Clients · Native API
Authorization
API key or personal access token with the library scope, or a signed-in session
OpenAPI operation ID
put_admin_libraries_id_scan_policy
Max body
64 KiB

Parameters

NameInTypeDescription
idrequiredpathstring
Idempotency-Keyheaderstring
Portico-Mutation-Rootheaderstring

Request body application/json · required

Example
{
  "expectedRevision": 0,
  "operations": [
    "string"
  ],
  "tier": "string"
}
Schema
  • expectedRevisionintegerrequired
  • operationsarray of stringrequired
  • tierstringrequired

Responses

200Successapplication/json

Example
{
  "operations": [
    "string"
  ],
  "revision": 0,
  "tier": "string",
  "trickplay": {
    "intervalMs": 1800000,
    "maxTiles": 0,
    "tileWidth": 0
  }
}
Schema
  • operationsarray of stringrequired
  • revisionintegerrequired
  • tierstringrequired
  • trickplayobjectrequired
    • intervalMsintegerrequired≥ 0
    • maxTilesintegerrequired
    • tileWidthintegerrequired

defaultRequest refused or unavailableapplication/json

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

Error codesinvalid_requestunauthorizednot_permittednot_foundinternalidempotency_conflictreceipt_expiredinvalid_mutation_keydatabase_busywriter_capacity

Example request

curl -X PUT "http://127.0.0.1:32500/v1/admin/libraries/{id}/scan-policy" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"expectedRevision":0,"operations":["string"],"tier":"string"}'
GET/v1/admin/libraries/{id}/scans/{job}/issuesList files and folders skipped during a scanlibrary
Audience
Clients · Native API
Authorization
API key or personal access token with the library scope, or a signed-in session
OpenAPI operation ID
get_scan_issues

Parameters

NameInTypeDescription
idrequiredpathstring
jobrequiredpathstring
afterquerystring
limitqueryinteger | ""1–128

Responses

200Successapplication/json

Example
{
  "count": 0,
  "hasMore": true,
  "items": [
    {
      "category": "string",
      "line": 0,
      "messageKey": "string",
      "path": "string",
      "reason": "string",
      "sequence": 0,
      "warning": true
    }
  ],
  "jobId": "id_8h2k4q",
  "nextSequence": 0
}
Schema
  • countintegerrequired
  • hasMorebooleanrequired
  • itemsarray of objectrequired
    • categorystringrequired
    • lineintegerrequired
    • messageKeystringrequired
    • pathstringrequired
    • reasonstringrequired
    • sequenceintegerrequired
    • warningbooleanrequired
  • jobIdstringrequired
  • nextSequenceintegerrequired

defaultRequest refused or unavailableapplication/json

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

Error codesunauthorizednot_permittednot_foundinvalid_requestrevision_mismatchidempotency_key_reusedinternaltimeoutdatabase_busy

Example request

curl -X GET "http://127.0.0.1:32500/v1/admin/libraries/{id}/scans/{job}/issues" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
GET/v1/admin/libraries/{id}/settingsRead a library's scanning and metadata settingslibrary
Audience
Clients · Native API
Authorization
API key or personal access token with the library scope, or a signed-in session
OpenAPI operation ID
get_library_settings

Parameters

NameInTypeDescription
idrequiredpathstring

Responses

200Successapplication/json

Example
{
  "actions": [
    "string"
  ],
  "analysisMatrix": {
    "costClasses": [
      {
        "description": "string",
        "id": "id_8h2k4q",
        "name": "Fargo",
        "order": 0
      }
    ],
    "operations": [
      {
        "costClass": "string",
        "defaultEnabled": true,
        "description": "string",
        "id": "id_8h2k4q",
        "mediaKinds": [
          "string"
        ],
        "name": "Fargo",
        "network": true,
        "producesArtifacts": true,
        "requires": [
          "string"
        ]
      }
    ]
  },
  "audience": {
    "accounts": 0,
    "everyone": true
  },
  "availableProviders": [
    {
      "attributionNote": "string",
      "id": "id_8h2k4q",
      "mediaKinds": [
        "string"
      ],
      "name": "Fargo",
      "supportsApiKey": true,
      "supportsLocale": true
    }
  ],
  "defaults": {
    "acoustidEnabled": true,
    "allowMediaDeletion": true,
    "analysis": [
      "probe"
    ],
    "continueWatching": {
      "includeSeasonPremieres": true,
      "maximumItems": 1800000,
      "videoCompletion": "string",
      "videoPlayedThreshold": 0,
      "weeks": 0
    },
    "episodeNumbering": "season",
    "findExtras": true,
    "groupCollections": true,
    "localTags": "prefer",
    "lyricsSource": "files",
    "monitorChanges": true,
    "navigation": {
      "chapterThumbnailMode": "string",
      "trickplayIntervalMs": 1800000,
      "trickplayMaxTiles": 0,
      "trickplayTileWidth": 0,
      "videoPreviewEnabled": true,
      "videoPreviewMs": 1800000
    },
    "providers": [
      {
        "apiKey": "string",
        "apiKeySet": true,
        "language": "en",
        "mediaKind": "string",
        "provider": "string",
        "region": "string"
      }
    ],
    "refreshMode": "replace_unlocked",
    "scanDepth": "file_list_only",
    "segmentDetection": "server",
    "sortIgnoreArticles": true,
    "titleSource": "tags"
  },
  "digest": "string",
  "eligibleControls": [
    "string"
  ],
  "enumerations": {
    "key": [
      "string"
    ]
  },
  "libraryId": "id_8h2k4q",
  "libraryKind": "string",
  "libraryName": "Fargo",
  "revision": 0,
  "settings": {
    "acoustidEnabled": true,
    "allowMediaDeletion": true,
    "analysis": [
      "probe"
    ],
    "continueWatching": {
      "includeSeasonPremieres": true,
      "maximumItems": 1800000,
      "videoCompletion": "string",
      "videoPlayedThreshold": 0,
      "weeks": 0
    },
    "episodeNumbering": "season",
    "findExtras": true,
    "groupCollections": true,
    "localTags": "prefer",
    "lyricsSource": "files",
    "monitorChanges": true,
    "navigation": {
      "chapterThumbnailMode": "string",
      "trickplayIntervalMs": 1800000,
      "trickplayMaxTiles": 0,
      "trickplayTileWidth": 0,
      "videoPreviewEnabled": true,
      "videoPreviewMs": 1800000
    },
    "providers": [
      {
        "apiKey": "string",
        "apiKeySet": true,
        "language": "en",
        "mediaKind": "string",
        "provider": "string",
        "region": "string"
      }
    ],
    "refreshMode": "replace_unlocked",
    "scanDepth": "file_list_only",
    "segmentDetection": "server",
    "sortIgnoreArticles": true,
    "titleSource": "tags"
  },
  "sources": [
    {
      "classification": "string",
      "enabled": true,
      "followSymlinks": true,
      "generation": 0,
      "health": "string",
      "id": "id_8h2k4q",
      "identityConfirmed": true,
      "intervalMs": 1800000,
      "kind": "string",
      "lastCompleteAt": "2026-10-18T19:30:00Z",
      "lastProgressAt": "2026-10-18T19:30:00Z",
      "libraryId": "id_8h2k4q",
      "name": "Fargo",
      "nextScanAt": "2026-10-18T19:30:00Z",
      "path": "string",
      "resolvedPath": "string"
    }
  ]
}
Schema
  • actionsarray of stringrequired
  • analysisMatrixobjectrequired
    • costClassesarray of objectrequired
      • descriptionstringrequired
      • idstringrequired
      • namestringrequired
      • orderintegerrequired
    • operationsarray of objectrequired
      • costClassstringrequired
      • defaultEnabledbooleanrequired
      • descriptionstringrequired
      • idstringrequired
      • mediaKindsarray of stringrequired
      • namestringrequired
      • networkbooleanrequired
      • producesArtifactsbooleanrequired
      • requiresarray of stringrequired
  • audienceobjectrequired
    • accountsintegerrequired
    • everyonebooleanrequired
  • availableProvidersarray of objectrequired
    • attributionNotestringrequired
    • idstringrequired
    • mediaKindsarray of stringrequired
    • namestringrequired
    • supportsApiKeybooleanrequired
    • supportsLocalebooleanrequired
  • defaultsobjectrequired
    • acoustidEnabledbooleanrequired
    • allowMediaDeletionbooleanrequired
    • analysisarray of stringrequired0–9 items
    • continueWatchingobjectrequired
      • includeSeasonPremieresboolean | any | nullrequired
      • maximumItemsintegerrequired
      • videoCompletionstringrequired
      • videoPlayedThresholdintegerrequired
      • weeksintegerrequired
    • episodeNumberingstringrequiredone of "season", "absolute"
    • findExtrasbooleanrequired
    • groupCollectionsbooleanrequired
    • localTagsstringrequiredone of "prefer", "supplement", "off"
    • lyricsSourcestringrequiredone of "files", "lrclib"
    • monitorChangesbooleanrequired
    • navigationobjectrequired
      • chapterThumbnailModestringrequired
      • trickplayIntervalMsintegerrequired
      • trickplayMaxTilesintegerrequired
      • trickplayTileWidthintegerrequired
      • videoPreviewEnabledbooleanrequired
      • videoPreviewMsintegerrequired
    • providersarray of objectrequired
      • apiKeystringrequired
      • apiKeySetbooleanrequired
      • languagestringrequired
      • mediaKindstringrequired
      • providerstringrequired
      • regionstringrequired
    • refreshModestringrequiredone of "replace_unlocked", "fill_missing"
    • scanDepthstringrequiredone of "file_list_only", "basic", "complete", "custom"
    • segmentDetectionstringrequiredone of "server", "off", "standard", "thorough"
    • sortIgnoreArticlesbooleanrequired
    • titleSourcestringrequiredone of "tags", "names"
  • digeststringrequired
  • eligibleControlsarray of stringrequired
  • enumerationsobjectrequired
  • libraryIdstringrequired
  • libraryKindstringrequired
  • libraryNamestringrequired
  • revisionintegerrequired
  • settingsobjectrequired
    • acoustidEnabledbooleanrequired
    • allowMediaDeletionbooleanrequired
    • analysisarray of stringrequired0–9 items
    • continueWatchingobjectrequired
      • includeSeasonPremieresboolean | any | nullrequired
      • maximumItemsintegerrequired
      • videoCompletionstringrequired
      • videoPlayedThresholdintegerrequired
      • weeksintegerrequired
    • episodeNumberingstringrequiredone of "season", "absolute"
    • findExtrasbooleanrequired
    • groupCollectionsbooleanrequired
    • localTagsstringrequiredone of "prefer", "supplement", "off"
    • lyricsSourcestringrequiredone of "files", "lrclib"
    • monitorChangesbooleanrequired
    • navigationobjectrequired
      • chapterThumbnailModestringrequired
      • trickplayIntervalMsintegerrequired
      • trickplayMaxTilesintegerrequired
      • trickplayTileWidthintegerrequired
      • videoPreviewEnabledbooleanrequired
      • videoPreviewMsintegerrequired
    • providersarray of objectrequired
      • apiKeystringrequired
      • apiKeySetbooleanrequired
      • languagestringrequired
      • mediaKindstringrequired
      • providerstringrequired
      • regionstringrequired
    • refreshModestringrequiredone of "replace_unlocked", "fill_missing"
    • scanDepthstringrequiredone of "file_list_only", "basic", "complete", "custom"
    • segmentDetectionstringrequiredone of "server", "off", "standard", "thorough"
    • sortIgnoreArticlesbooleanrequired
    • titleSourcestringrequiredone of "tags", "names"
  • sourcesarray of objectrequired
    • classificationstringrequired
    • enabledbooleanrequired
    • followSymlinksbooleanrequired
    • generationintegerrequired
    • healthstringrequired
    • idstringrequired
    • identityConfirmedbooleanrequired
    • intervalMsintegerrequired≥ 0
    • kindstringrequired
    • lastCompleteAtstringrequired
    • lastProgressAtstringrequired
    • libraryIdstringrequired
    • namestringrequired
    • nextScanAtstringrequired
    • pathstringrequired
    • resolvedPathstringrequired

defaultRequest refused or unavailableapplication/json

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

Error codesunauthorizednot_permittednot_foundinvalid_requestrevision_mismatchidempotency_key_reusedinternaltimeoutdatabase_busy

Example request

curl -X GET "http://127.0.0.1:32500/v1/admin/libraries/{id}/settings" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
PUT/v1/admin/libraries/{id}/settingsSave a library's scanning and metadata settingslibrary
Audience
Clients · Native API
Authorization
API key or personal access token with the library scope, or a signed-in session
OpenAPI operation ID
put_library_settings
Max body
64 KiB

Parameters

NameInTypeDescription
idrequiredpathstring
Idempotency-Keyheaderstring
Portico-Mutation-Rootheaderstring

Request body application/json · required

Example
{
  "expectedRevision": 0,
  "operationId": "id_8h2k4q",
  "settings": {
    "acoustidEnabled": true,
    "allowMediaDeletion": true,
    "analysis": [
      "probe"
    ],
    "continueWatching": {
      "includeSeasonPremieres": true,
      "maximumItems": 1800000,
      "videoCompletion": "string",
      "videoPlayedThreshold": 0,
      "weeks": 0
    },
    "episodeNumbering": "season",
    "findExtras": true,
    "groupCollections": true,
    "localTags": "prefer",
    "lyricsSource": "files",
    "monitorChanges": true,
    "navigation": {
      "chapterThumbnailMode": "string",
      "trickplayIntervalMs": 1800000,
      "trickplayMaxTiles": 0,
      "trickplayTileWidth": 0,
      "videoPreviewEnabled": true,
      "videoPreviewMs": 1800000
    },
    "providers": [
      {
        "apiKey": "string",
        "apiKeySet": true,
        "language": "en",
        "mediaKind": "string",
        "provider": "string",
        "region": "string"
      }
    ],
    "refreshMode": "replace_unlocked",
    "scanDepth": "file_list_only",
    "segmentDetection": "server",
    "sortIgnoreArticles": true,
    "titleSource": "tags"
  }
}
Schema
  • expectedRevisionintegerrequired
  • operationIdstringrequired
  • settingsobjectrequired
    • acoustidEnabledbooleanrequired
    • allowMediaDeletionbooleanrequired
    • analysisarray of stringrequired0–9 items
    • continueWatchingobjectrequired
      • includeSeasonPremieresboolean | any | nullrequired
      • maximumItemsintegerrequired
      • videoCompletionstringrequired
      • videoPlayedThresholdintegerrequired
      • weeksintegerrequired
    • episodeNumberingstringrequiredone of "season", "absolute"
    • findExtrasbooleanrequired
    • groupCollectionsbooleanrequired
    • localTagsstringrequiredone of "prefer", "supplement", "off"
    • lyricsSourcestringrequiredone of "files", "lrclib"
    • monitorChangesbooleanrequired
    • navigationobjectrequired
      • chapterThumbnailModestringrequired
      • trickplayIntervalMsintegerrequired
      • trickplayMaxTilesintegerrequired
      • trickplayTileWidthintegerrequired
      • videoPreviewEnabledbooleanrequired
      • videoPreviewMsintegerrequired
    • providersarray of objectrequired
      • apiKeystringrequired
      • apiKeySetbooleanrequired
      • languagestringrequired
      • mediaKindstringrequired
      • providerstringrequired
      • regionstringrequired
    • refreshModestringrequiredone of "replace_unlocked", "fill_missing"
    • scanDepthstringrequiredone of "file_list_only", "basic", "complete", "custom"
    • segmentDetectionstringrequiredone of "server", "off", "standard", "thorough"
    • sortIgnoreArticlesbooleanrequired
    • titleSourcestringrequiredone of "tags", "names"

Responses

200Successapplication/json

Example
{
  "actions": [
    "string"
  ],
  "analysisMatrix": {
    "costClasses": [
      {
        "description": "string",
        "id": "id_8h2k4q",
        "name": "Fargo",
        "order": 0
      }
    ],
    "operations": [
      {
        "costClass": "string",
        "defaultEnabled": true,
        "description": "string",
        "id": "id_8h2k4q",
        "mediaKinds": [
          "string"
        ],
        "name": "Fargo",
        "network": true,
        "producesArtifacts": true,
        "requires": [
          "string"
        ]
      }
    ]
  },
  "audience": {
    "accounts": 0,
    "everyone": true
  },
  "availableProviders": [
    {
      "attributionNote": "string",
      "id": "id_8h2k4q",
      "mediaKinds": [
        "string"
      ],
      "name": "Fargo",
      "supportsApiKey": true,
      "supportsLocale": true
    }
  ],
  "defaults": {
    "acoustidEnabled": true,
    "allowMediaDeletion": true,
    "analysis": [
      "probe"
    ],
    "continueWatching": {
      "includeSeasonPremieres": true,
      "maximumItems": 1800000,
      "videoCompletion": "string",
      "videoPlayedThreshold": 0,
      "weeks": 0
    },
    "episodeNumbering": "season",
    "findExtras": true,
    "groupCollections": true,
    "localTags": "prefer",
    "lyricsSource": "files",
    "monitorChanges": true,
    "navigation": {
      "chapterThumbnailMode": "string",
      "trickplayIntervalMs": 1800000,
      "trickplayMaxTiles": 0,
      "trickplayTileWidth": 0,
      "videoPreviewEnabled": true,
      "videoPreviewMs": 1800000
    },
    "providers": [
      {
        "apiKey": "string",
        "apiKeySet": true,
        "language": "en",
        "mediaKind": "string",
        "provider": "string",
        "region": "string"
      }
    ],
    "refreshMode": "replace_unlocked",
    "scanDepth": "file_list_only",
    "segmentDetection": "server",
    "sortIgnoreArticles": true,
    "titleSource": "tags"
  },
  "digest": "string",
  "eligibleControls": [
    "string"
  ],
  "enumerations": {
    "key": [
      "string"
    ]
  },
  "libraryId": "id_8h2k4q",
  "libraryKind": "string",
  "libraryName": "Fargo",
  "revision": 0,
  "settings": {
    "acoustidEnabled": true,
    "allowMediaDeletion": true,
    "analysis": [
      "probe"
    ],
    "continueWatching": {
      "includeSeasonPremieres": true,
      "maximumItems": 1800000,
      "videoCompletion": "string",
      "videoPlayedThreshold": 0,
      "weeks": 0
    },
    "episodeNumbering": "season",
    "findExtras": true,
    "groupCollections": true,
    "localTags": "prefer",
    "lyricsSource": "files",
    "monitorChanges": true,
    "navigation": {
      "chapterThumbnailMode": "string",
      "trickplayIntervalMs": 1800000,
      "trickplayMaxTiles": 0,
      "trickplayTileWidth": 0,
      "videoPreviewEnabled": true,
      "videoPreviewMs": 1800000
    },
    "providers": [
      {
        "apiKey": "string",
        "apiKeySet": true,
        "language": "en",
        "mediaKind": "string",
        "provider": "string",
        "region": "string"
      }
    ],
    "refreshMode": "replace_unlocked",
    "scanDepth": "file_list_only",
    "segmentDetection": "server",
    "sortIgnoreArticles": true,
    "titleSource": "tags"
  },
  "sources": [
    {
      "classification": "string",
      "enabled": true,
      "followSymlinks": true,
      "generation": 0,
      "health": "string",
      "id": "id_8h2k4q",
      "identityConfirmed": true,
      "intervalMs": 1800000,
      "kind": "string",
      "lastCompleteAt": "2026-10-18T19:30:00Z",
      "lastProgressAt": "2026-10-18T19:30:00Z",
      "libraryId": "id_8h2k4q",
      "name": "Fargo",
      "nextScanAt": "2026-10-18T19:30:00Z",
      "path": "string",
      "resolvedPath": "string"
    }
  ]
}
Schema
  • actionsarray of stringrequired
  • analysisMatrixobjectrequired
    • costClassesarray of objectrequired
      • descriptionstringrequired
      • idstringrequired
      • namestringrequired
      • orderintegerrequired
    • operationsarray of objectrequired
      • costClassstringrequired
      • defaultEnabledbooleanrequired
      • descriptionstringrequired
      • idstringrequired
      • mediaKindsarray of stringrequired
      • namestringrequired
      • networkbooleanrequired
      • producesArtifactsbooleanrequired
      • requiresarray of stringrequired
  • audienceobjectrequired
    • accountsintegerrequired
    • everyonebooleanrequired
  • availableProvidersarray of objectrequired
    • attributionNotestringrequired
    • idstringrequired
    • mediaKindsarray of stringrequired
    • namestringrequired
    • supportsApiKeybooleanrequired
    • supportsLocalebooleanrequired
  • defaultsobjectrequired
    • acoustidEnabledbooleanrequired
    • allowMediaDeletionbooleanrequired
    • analysisarray of stringrequired0–9 items
    • continueWatchingobjectrequired
      • includeSeasonPremieresboolean | any | nullrequired
      • maximumItemsintegerrequired
      • videoCompletionstringrequired
      • videoPlayedThresholdintegerrequired
      • weeksintegerrequired
    • episodeNumberingstringrequiredone of "season", "absolute"
    • findExtrasbooleanrequired
    • groupCollectionsbooleanrequired
    • localTagsstringrequiredone of "prefer", "supplement", "off"
    • lyricsSourcestringrequiredone of "files", "lrclib"
    • monitorChangesbooleanrequired
    • navigationobjectrequired
      • chapterThumbnailModestringrequired
      • trickplayIntervalMsintegerrequired
      • trickplayMaxTilesintegerrequired
      • trickplayTileWidthintegerrequired
      • videoPreviewEnabledbooleanrequired
      • videoPreviewMsintegerrequired
    • providersarray of objectrequired
      • apiKeystringrequired
      • apiKeySetbooleanrequired
      • languagestringrequired
      • mediaKindstringrequired
      • providerstringrequired
      • regionstringrequired
    • refreshModestringrequiredone of "replace_unlocked", "fill_missing"
    • scanDepthstringrequiredone of "file_list_only", "basic", "complete", "custom"
    • segmentDetectionstringrequiredone of "server", "off", "standard", "thorough"
    • sortIgnoreArticlesbooleanrequired
    • titleSourcestringrequiredone of "tags", "names"
  • digeststringrequired
  • eligibleControlsarray of stringrequired
  • enumerationsobjectrequired
  • libraryIdstringrequired
  • libraryKindstringrequired
  • libraryNamestringrequired
  • revisionintegerrequired
  • settingsobjectrequired
    • acoustidEnabledbooleanrequired
    • allowMediaDeletionbooleanrequired
    • analysisarray of stringrequired0–9 items
    • continueWatchingobjectrequired
      • includeSeasonPremieresboolean | any | nullrequired
      • maximumItemsintegerrequired
      • videoCompletionstringrequired
      • videoPlayedThresholdintegerrequired
      • weeksintegerrequired
    • episodeNumberingstringrequiredone of "season", "absolute"
    • findExtrasbooleanrequired
    • groupCollectionsbooleanrequired
    • localTagsstringrequiredone of "prefer", "supplement", "off"
    • lyricsSourcestringrequiredone of "files", "lrclib"
    • monitorChangesbooleanrequired
    • navigationobjectrequired
      • chapterThumbnailModestringrequired
      • trickplayIntervalMsintegerrequired
      • trickplayMaxTilesintegerrequired
      • trickplayTileWidthintegerrequired
      • videoPreviewEnabledbooleanrequired
      • videoPreviewMsintegerrequired
    • providersarray of objectrequired
      • apiKeystringrequired
      • apiKeySetbooleanrequired
      • languagestringrequired
      • mediaKindstringrequired
      • providerstringrequired
      • regionstringrequired
    • refreshModestringrequiredone of "replace_unlocked", "fill_missing"
    • scanDepthstringrequiredone of "file_list_only", "basic", "complete", "custom"
    • segmentDetectionstringrequiredone of "server", "off", "standard", "thorough"
    • sortIgnoreArticlesbooleanrequired
    • titleSourcestringrequiredone of "tags", "names"
  • sourcesarray of objectrequired
    • classificationstringrequired
    • enabledbooleanrequired
    • followSymlinksbooleanrequired
    • generationintegerrequired
    • healthstringrequired
    • idstringrequired
    • identityConfirmedbooleanrequired
    • intervalMsintegerrequired≥ 0
    • kindstringrequired
    • lastCompleteAtstringrequired
    • lastProgressAtstringrequired
    • libraryIdstringrequired
    • namestringrequired
    • nextScanAtstringrequired
    • pathstringrequired
    • resolvedPathstringrequired

defaultRequest refused or unavailableapplication/json

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

Error codesunauthorizednot_permittednot_foundinvalid_requestrevision_mismatchidempotency_key_reusedinternaltimeoutrevision_requiredidempotency_conflictreceipt_expiredinvalid_mutation_keydatabase_busywriter_capacity

Example request

curl -X PUT "http://127.0.0.1:32500/v1/admin/libraries/{id}/settings" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "expectedRevision": 0,
  "operationId": "id_8h2k4q",
  "settings": {
    "acoustidEnabled": true,
    "allowMediaDeletion": true,
    "analysis": [
      "probe"
    ],
    "continueWatching": {
      "includeSeasonPremieres": true,
      "maximumItems": 1800000,
      "videoCompletion": "string",
      "videoPlayedThreshold": 0,
      "weeks": 0
    },
    "episodeNumbering": "season",
    "findExtras": true,
    "groupCollections": true,
    "localTags": "prefer",
    "lyricsSource": "files",
    "monitorChanges": true,
    "navigation": {
      "chapterThumbnailMode": "string",
      "trickplayIntervalMs": 1800000,
      "trickplayMaxTiles": 0,
      "trickplayTileWidth": 0,
      "videoPreviewEnabled": true,
      "videoPreviewMs": 1800000
    },
    "providers": [
      {
        "apiKey": "string",
        "apiKeySet": true,
        "language": "en",
        "mediaKind": "string",
        "provider": "string",
        "region": "string"
      }
    ],
    "refreshMode": "replace_unlocked",
    "scanDepth": "file_list_only",
    "segmentDetection": "server",
    "sortIgnoreArticles": true,
    "titleSource": "tags"
  }
}'
PUT/v1/admin/libraries/{id}/shows/{show}/settingsSave server library show settingslibrary
Audience
Clients · Native API
Authorization
API key or personal access token with the library scope, or a signed-in session
OpenAPI operation ID
put_admin_libraries_id_shows_show_settings
Max body
64 KiB

Parameters

NameInTypeDescription
idrequiredpathstring
showrequiredpathstring
Idempotency-Keyheaderstring
Portico-Mutation-Rootheaderstring

Request body application/json · required

Example
{
  "absoluteNumbering": true,
  "hideSeasons": true,
  "newestFirst": true,
  "ranges": true,
  "revision": 0
}
Schema
  • absoluteNumberingbooleanrequired
  • hideSeasonsbooleanrequired
  • newestFirstbooleanrequired
  • rangesbooleanrequired
  • revisionintegerrequired

Responses

200Successapplication/json

Example
{
  "absoluteNumbering": true,
  "hideSeasons": true,
  "newestFirst": true,
  "ranges": true,
  "revision": 0
}
Schema
  • absoluteNumberingbooleanrequired
  • hideSeasonsbooleanrequired
  • newestFirstbooleanrequired
  • rangesbooleanrequired
  • revisionintegerrequired

defaultRequest refused or unavailableapplication/json

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

Error codesinvalid_requestunauthorizednot_permittednot_foundinternalidempotency_conflictreceipt_expiredinvalid_mutation_keydatabase_busywriter_capacity

Example request

curl -X PUT "http://127.0.0.1:32500/v1/admin/libraries/{id}/shows/{show}/settings" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"absoluteNumbering":true,"hideSeasons":true,"newestFirst":true,"ranges":true,"revision":0}'
GET/v1/admin/libraries/{id}/sonic-analysisRead current library sound analysis 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_admin_libraries_id_sonic_analysis

Parameters

NameInTypeDescription
idrequiredpathstring

Responses

200Successapplication/json

Example
{
  "available": true,
  "defaultEnabled": true,
  "done": 0,
  "enabled": true,
  "estimatedRemainingSeconds": 0,
  "libraryId": "id_8h2k4q",
  "model": {
    "id": "id_8h2k4q",
    "sha256": "string",
    "version": "string"
  },
  "observedAtMs": 1800000,
  "pausedUntilMs": 1800000,
  "policyAllows": true,
  "policyRevision": 0,
  "reasonCode": "inference_failed",
  "revision": 0,
  "state": "disabled",
  "total": 0
}
Schema
  • availablebooleanrequired
  • defaultEnabledbooleanrequired
  • doneintegerrequired
  • enabledbooleanrequired
  • estimatedRemainingSecondsinteger
  • libraryIdstringrequired
  • modelobject
    • idstringrequired
    • sha256stringrequired
    • versionstringrequired
  • observedAtMsintegerrequired
  • pausedUntilMsinteger
  • policyAllowsbooleanrequired
  • policyRevisionintegerrequired
  • reasonCodestringone of "inference_failed", "inference_not_verified", "runtime_or_model_missing", "scan_policy_disallows"
  • revisionintegerrequired
  • statestringrequiredone of "disabled", "unavailable", "complete", "paused", "analyzing"
  • totalintegerrequired

defaultRequest refused or unavailableapplication/json

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

Error codesinvalid_requestinvalid_analysisunauthorizednot_permittednot_foundrevision_requiredlibrary_configuration_conflictanalysis_conflictanalysis_unavailableinternaldatabase_busy

Example request

curl -X GET "http://127.0.0.1:32500/v1/admin/libraries/{id}/sonic-analysis" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
PUT/v1/admin/libraries/{id}/sonic-analysisSave library sound analysis with its current revisionadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
put_admin_libraries_id_sonic_analysis
Max body
4 KiB

Parameters

NameInTypeDescription
idrequiredpathstring
Idempotency-Keyheaderstring
Portico-Mutation-Rootheaderstring

Request body application/json · required

Example
{
  "enabled": true,
  "expectedRevision": 0
}
Schema
  • enabledbooleanrequired
  • expectedRevisionintegerrequired

Responses

200Successapplication/json

Example
{
  "available": true,
  "defaultEnabled": true,
  "done": 0,
  "enabled": true,
  "estimatedRemainingSeconds": 0,
  "libraryId": "id_8h2k4q",
  "model": {
    "id": "id_8h2k4q",
    "sha256": "string",
    "version": "string"
  },
  "observedAtMs": 1800000,
  "pausedUntilMs": 1800000,
  "policyAllows": true,
  "policyRevision": 0,
  "reasonCode": "inference_failed",
  "revision": 0,
  "state": "disabled",
  "total": 0
}
Schema
  • availablebooleanrequired
  • defaultEnabledbooleanrequired
  • doneintegerrequired
  • enabledbooleanrequired
  • estimatedRemainingSecondsinteger
  • libraryIdstringrequired
  • modelobject
    • idstringrequired
    • sha256stringrequired
    • versionstringrequired
  • observedAtMsintegerrequired
  • pausedUntilMsinteger
  • policyAllowsbooleanrequired
  • policyRevisionintegerrequired
  • reasonCodestringone of "inference_failed", "inference_not_verified", "runtime_or_model_missing", "scan_policy_disallows"
  • revisionintegerrequired
  • statestringrequiredone of "disabled", "unavailable", "complete", "paused", "analyzing"
  • totalintegerrequired

defaultRequest refused or unavailableapplication/json

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

Error codesinvalid_requestinvalid_analysisunauthorizednot_permittednot_foundrevision_requiredlibrary_configuration_conflictanalysis_conflictanalysis_unavailableinternalidempotency_conflictreceipt_expiredinvalid_mutation_keydatabase_busywriter_capacity

Example request

curl -X PUT "http://127.0.0.1:32500/v1/admin/libraries/{id}/sonic-analysis" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"enabled":true,"expectedRevision":0}'
POST/v1/admin/libraries/{id}/sonic-analysis/retryRetry the installed sound analysis engineadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
post_admin_libraries_id_sonic_analysis_retry
Max body
1 KiB

Parameters

NameInTypeDescription
idrequiredpathstring

Request body application/json · required

Example
{}
Schema

object

Responses

200Successapplication/json

Example
{
  "available": true,
  "defaultEnabled": true,
  "done": 0,
  "enabled": true,
  "estimatedRemainingSeconds": 0,
  "libraryId": "id_8h2k4q",
  "model": {
    "id": "id_8h2k4q",
    "sha256": "string",
    "version": "string"
  },
  "observedAtMs": 1800000,
  "pausedUntilMs": 1800000,
  "policyAllows": true,
  "policyRevision": 0,
  "reasonCode": "inference_failed",
  "revision": 0,
  "state": "disabled",
  "total": 0
}
Schema
  • availablebooleanrequired
  • defaultEnabledbooleanrequired
  • doneintegerrequired
  • enabledbooleanrequired
  • estimatedRemainingSecondsinteger
  • libraryIdstringrequired
  • modelobject
    • idstringrequired
    • sha256stringrequired
    • versionstringrequired
  • observedAtMsintegerrequired
  • pausedUntilMsinteger
  • policyAllowsbooleanrequired
  • policyRevisionintegerrequired
  • reasonCodestringone of "inference_failed", "inference_not_verified", "runtime_or_model_missing", "scan_policy_disallows"
  • revisionintegerrequired
  • statestringrequiredone of "disabled", "unavailable", "complete", "paused", "analyzing"
  • totalintegerrequired

defaultRequest refused or unavailableapplication/json

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

Error codesinvalid_requestinvalid_analysisunauthorizednot_permittednot_foundrevision_requiredlibrary_configuration_conflictanalysis_conflictanalysis_unavailableinternaldatabase_busywriter_capacity

Example request

curl -X POST "http://127.0.0.1:32500/v1/admin/libraries/{id}/sonic-analysis/retry" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
POST/v1/admin/libraries/{id}/sourcesRun server library sourceslibrary
Audience
Clients · Native API
Authorization
API key or personal access token with the library scope, or a signed-in session
OpenAPI operation ID
post_admin_libraries_id_sources
Max body
64 KiB

Parameters

NameInTypeDescription
idrequiredpathstring

Request body application/json · required

Example
{
  "acceptReplacement": true,
  "classification": "string",
  "expectedRemoteSource": {
    "generation": 1,
    "sourceId": "id_8h2k4q"
  },
  "expectedRevision": 0,
  "followSymlinks": true,
  "intervalMs": 1800000,
  "name": "Fargo",
  "path": "string",
  "scanAfter": true
}
Schema
  • acceptReplacementbooleanrequired
  • classificationstringrequired
  • expectedRemoteSourceobject
    • generationintegerrequired≥ 1
    • sourceIdstringrequiredlength 1–256
  • expectedRevisionintegerrequired
  • followSymlinksbooleanrequired
  • intervalMsintegerrequired≥ 0
  • namestringrequired
  • pathstringrequired
  • scanAfterboolean

Responses

200Successapplication/json

Example
{
  "classification": "string",
  "enabled": true,
  "followSymlinks": true,
  "generation": 0,
  "health": "string",
  "id": "id_8h2k4q",
  "identityConfirmed": true,
  "intervalMs": 1800000,
  "kind": "string",
  "lastCompleteAt": "2026-10-18T19:30:00Z",
  "lastProgressAt": "2026-10-18T19:30:00Z",
  "libraryId": "id_8h2k4q",
  "name": "Fargo",
  "nextScanAt": "2026-10-18T19:30:00Z",
  "path": "string",
  "resolvedPath": "string"
}
Schema
  • classificationstringrequired
  • enabledbooleanrequired
  • followSymlinksbooleanrequired
  • generationintegerrequired
  • healthstringrequired
  • idstringrequired
  • identityConfirmedbooleanrequired
  • intervalMsintegerrequired≥ 0
  • kindstringrequired
  • lastCompleteAtstringrequired
  • lastProgressAtstringrequired
  • libraryIdstringrequired
  • namestringrequired
  • nextScanAtstringrequired
  • pathstringrequired
  • resolvedPathstringrequired

defaultRequest refused or unavailableapplication/json

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

Error codessource_changedinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busywriter_capacity

Example request

curl -X POST "http://127.0.0.1:32500/v1/admin/libraries/{id}/sources" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "acceptReplacement": true,
  "classification": "string",
  "expectedRemoteSource": {
    "generation": 1,
    "sourceId": "id_8h2k4q"
  },
  "expectedRevision": 0,
  "followSymlinks": true,
  "intervalMs": 1800000,
  "name": "Fargo",
  "path": "string",
  "scanAfter": true
}'
DELETE/v1/admin/libraries/{id}/sources/{source}Remove server library sourceslibrary
Audience
Clients · Native API
Authorization
API key or personal access token with the library scope, or a signed-in session
OpenAPI operation ID
delete_admin_libraries_id_sources_source
Max body
64 KiB

Parameters

NameInTypeDescription
idrequiredpathstring
sourcerequiredpathstring

Request body application/json · required

Example
{
  "expectedRevision": 0
}
Schema
  • expectedRevisionintegerrequired

Responses

204Success

defaultRequest refused or unavailableapplication/json

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

Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busywriter_capacity

Example request

curl -X DELETE "http://127.0.0.1:32500/v1/admin/libraries/{id}/sources/{source}" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"expectedRevision":0}'
PATCH/v1/admin/libraries/{id}/sources/{source}Change server library sourceslibrary
Audience
Clients · Native API
Authorization
API key or personal access token with the library scope, or a signed-in session
OpenAPI operation ID
patch_admin_libraries_id_sources_source
Max body
64 KiB

Parameters

NameInTypeDescription
idrequiredpathstring
sourcerequiredpathstring

Request body application/json · required

Example
{
  "acceptReplacement": true,
  "classification": "string",
  "expectedRemoteSource": {
    "generation": 1,
    "sourceId": "id_8h2k4q"
  },
  "expectedRevision": 0,
  "followSymlinks": true,
  "intervalMs": 1800000,
  "name": "Fargo",
  "path": "string",
  "scanAfter": true
}
Schema
  • acceptReplacementbooleanrequired
  • classificationstringrequired
  • expectedRemoteSourceobject
    • generationintegerrequired≥ 1
    • sourceIdstringrequiredlength 1–256
  • expectedRevisionintegerrequired
  • followSymlinksbooleanrequired
  • intervalMsintegerrequired≥ 0
  • namestringrequired
  • pathstringrequired
  • scanAfterboolean

Responses

200Successapplication/json

Example
{
  "classification": "string",
  "enabled": true,
  "followSymlinks": true,
  "generation": 0,
  "health": "string",
  "id": "id_8h2k4q",
  "identityConfirmed": true,
  "intervalMs": 1800000,
  "kind": "string",
  "lastCompleteAt": "2026-10-18T19:30:00Z",
  "lastProgressAt": "2026-10-18T19:30:00Z",
  "libraryId": "id_8h2k4q",
  "name": "Fargo",
  "nextScanAt": "2026-10-18T19:30:00Z",
  "path": "string",
  "resolvedPath": "string"
}
Schema
  • classificationstringrequired
  • enabledbooleanrequired
  • followSymlinksbooleanrequired
  • generationintegerrequired
  • healthstringrequired
  • idstringrequired
  • identityConfirmedbooleanrequired
  • intervalMsintegerrequired≥ 0
  • kindstringrequired
  • lastCompleteAtstringrequired
  • lastProgressAtstringrequired
  • libraryIdstringrequired
  • namestringrequired
  • nextScanAtstringrequired
  • pathstringrequired
  • resolvedPathstringrequired

defaultRequest refused or unavailableapplication/json

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

Error codessource_changedinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busywriter_capacity

Example request

curl -X PATCH "http://127.0.0.1:32500/v1/admin/libraries/{id}/sources/{source}" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "acceptReplacement": true,
  "classification": "string",
  "expectedRemoteSource": {
    "generation": 1,
    "sourceId": "id_8h2k4q"
  },
  "expectedRevision": 0,
  "followSymlinks": true,
  "intervalMs": 1800000,
  "name": "Fargo",
  "path": "string",
  "scanAfter": true
}'
GET/v1/admin/libraries/{id}/sources/{source}/changesRead retained inventory changes and cursor expirylibrary
Audience
Clients · Native API
Authorization
API key or personal access token with the library scope, or a signed-in session
OpenAPI operation ID
get_inventory_changes

Parameters

NameInTypeDescription
idrequiredpathstring
sourcerequiredpathstring
afterquerystring

Responses

200Successapplication/json

Example
{
  "hasMore": true,
  "items": [
    {
      "assetId": "id_8h2k4q",
      "createdAt": "2026-10-18T19:30:00Z",
      "jobId": "id_8h2k4q",
      "kind": "string",
      "objectId": "id_8h2k4q",
      "revision": "r12",
      "sequence": 0,
      "sourceId": "id_8h2k4q"
    }
  ],
  "nextSequence": 0,
  "oldestSequence": 0,
  "resetRequired": true,
  "sourceId": "id_8h2k4q"
}
Schema
  • hasMorebooleanrequired
  • itemsarray of objectrequired
    • assetIdstringrequired
    • createdAtstringrequired
    • jobIdstringrequired
    • kindstringrequired
    • objectIdstringrequired
    • revisionstringrequired
    • sequenceintegerrequired
    • sourceIdstringrequired
  • nextSequenceintegerrequired
  • oldestSequenceintegerrequired
  • resetRequiredbooleanrequired
  • sourceIdstringrequired

defaultRequest refused or unavailableapplication/json

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

Error codesunauthorizednot_permittednot_foundinvalid_requestrevision_mismatchidempotency_key_reusedinternaltimeoutdatabase_busy

Example request

curl -X GET "http://127.0.0.1:32500/v1/admin/libraries/{id}/sources/{source}/changes" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
POST/v1/admin/libraries/{id}/sources/{source}/checkRun server library sources checklibrary
Audience
Clients · Native API
Authorization
API key or personal access token with the library scope, or a signed-in session
OpenAPI operation ID
post_admin_libraries_id_sources_source_check

Parameters

NameInTypeDescription
idrequiredpathstring
sourcerequiredpathstring

Responses

200Successapplication/json

Example
{
  "classification": "string",
  "enabled": true,
  "followSymlinks": true,
  "generation": 0,
  "health": "string",
  "id": "id_8h2k4q",
  "identityConfirmed": true,
  "intervalMs": 1800000,
  "kind": "string",
  "lastCompleteAt": "2026-10-18T19:30:00Z",
  "lastProgressAt": "2026-10-18T19:30:00Z",
  "libraryId": "id_8h2k4q",
  "name": "Fargo",
  "nextScanAt": "2026-10-18T19:30:00Z",
  "path": "string",
  "resolvedPath": "string"
}
Schema
  • classificationstringrequired
  • enabledbooleanrequired
  • followSymlinksbooleanrequired
  • generationintegerrequired
  • healthstringrequired
  • idstringrequired
  • identityConfirmedbooleanrequired
  • intervalMsintegerrequired≥ 0
  • kindstringrequired
  • lastCompleteAtstringrequired
  • lastProgressAtstringrequired
  • libraryIdstringrequired
  • namestringrequired
  • nextScanAtstringrequired
  • pathstringrequired
  • resolvedPathstringrequired

defaultRequest refused or unavailableapplication/json

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

Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busywriter_capacity

Example request

curl -X POST "http://127.0.0.1:32500/v1/admin/libraries/{id}/sources/{source}/check" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
POST/v1/admin/libraries/{id}/sources/{source}/scansRun server library sources scanslibrary
Audience
Clients · Native API
Authorization
API key or personal access token with the library scope, or a signed-in session
OpenAPI operation ID
post_admin_libraries_id_sources_source_scans

Parameters

NameInTypeDescription
idrequiredpathstring
sourcerequiredpathstring
modequerystring

Responses

202Successapplication/json

Example
{
  "analyzed": 0,
  "error": "string",
  "id": "id_8h2k4q",
  "jobs": [
    "string"
  ],
  "phase": "string",
  "processed": 0,
  "scanMode": "string",
  "sourceId": "id_8h2k4q",
  "status": "string",
  "warnings": 0
}
Schema
  • analyzedintegerrequired
  • errorstring
  • idstringrequired
  • jobsarray of string
  • phasestring
  • processedintegerrequired
  • scanModestring
  • sourceIdstring
  • statusstringrequired
  • warningsintegerrequired

defaultRequest refused or unavailableapplication/json

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

Error codesinvalid_requestunauthorizednot_permittednot_foundinternaldatabase_busywriter_capacity

Example request

curl -X POST "http://127.0.0.1:32500/v1/admin/libraries/{id}/sources/{source}/scans" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
PUT/v1/admin/libraries/orderSave server library orderlibrary
Audience
Clients · Native API
Authorization
API key or personal access token with the library scope, or a signed-in session
OpenAPI operation ID
put_admin_libraries_order
Max body
64 KiB

Parameters

NameInTypeDescription
Idempotency-Keyheaderstring
Portico-Mutation-Rootheaderstring

Request body application/json · required

Example
{
  "libraryIds": [
    "string"
  ]
}
Schema
  • libraryIdsarray of stringrequired

Responses

200Successapplication/json

Example
{
  "libraryIds": [
    "string"
  ]
}
Schema
  • libraryIdsarray of stringrequired

defaultRequest refused or unavailableapplication/json

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

Error codesinvalid_requestunauthorizednot_permittednot_foundinternalidempotency_conflictreceipt_expiredinvalid_mutation_keydatabase_busywriter_capacity

Example request

curl -X PUT "http://127.0.0.1:32500/v1/admin/libraries/order" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"libraryIds":["string"]}'