Browse the docs

API reference

Scanning

Start, watch and cancel a scan.

Paths are relative to /api/v1 on your server.

POST/libraries/{id}/scan#

Start a scan

Authorisation
Bearer token or API key · Session cookie
Body
application/json · object
ParameterInTypeDescription
id requiredpathstring (uuid)
  • 202Success. application/json · object
  • 400VALIDATION_FAILED: the request did not match the schema; details.issues lists what. application/json · ErrorEnvelope
  • 401UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope
  • 403FORBIDDEN: the account lacks library:manage, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope
  • 404NOT_FOUND: no such thing, or not one the caller may see. application/json · ErrorEnvelope
  • 409SCAN_ALREADY_RUNNING: one is already running for this library application/json · ErrorEnvelope
  • 423STORAGE_UNAVAILABLE: the library’s storage cannot be reached application/json · ErrorEnvelope
DELETE/libraries/{id}/scan#

Cancel the running scan

Authorisation
Bearer token or API key · Session cookie
ParameterInTypeDescription
id requiredpathstring (uuid)
  • 204Done; no body.
  • 401UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope
  • 403FORBIDDEN: the account lacks library:manage, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope
  • 404NOT_FOUND: no such thing, or not one the caller may see. application/json · ErrorEnvelope
GET/libraries/{id}/scan-status#

Read scan status and the last report

Authorisation
Bearer token or API key · Session cookie
ParameterInTypeDescription
id requiredpathstring (uuid)
  • 200Success. application/json · ScanStatus
  • 401UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope
  • 403FORBIDDEN: the account lacks library:manage, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope
  • 404NOT_FOUND: no such thing, or not one the caller may see. application/json · ErrorEnvelope
POST/libraries/scan#

Scan every library

A scan, in one mode (quick unless said), of every enabled library the caller’s list shows — a private library is left out while it is locked. A library already queued or scanning is left to finish (alreadyRunning), and one on a storage that is away gets no scan (failed, STORAGE_UNAVAILABLE); neither stops the rest.

Authorisation
Bearer token or API key · Session cookie
Body
application/json · object
  • 202Success. application/json · object
  • 400VALIDATION_FAILED: the request did not match the schema; details.issues lists what. application/json · ErrorEnvelope
  • 401UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope
  • 403FORBIDDEN: the account lacks library:manage, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope
GET/scans/active#

List the scans running and waiting

Every library’s scan running now, the longest-running first, and those waiting for a free scanner in the order they will start. Each carries the newest counts the server has and the stage it last reported. A private library is left out while it is locked.

Authorisation
Bearer token or API key · Session cookie
  • 200Success. application/json · ScanActivity
  • 401UNAUTHENTICATED: no session, or the access token expired. application/json · ErrorEnvelope
  • 403FORBIDDEN: the account lacks library:manage, or the library, label, age or schedule scope refuses it. application/json · ErrorEnvelope