Skip to content

Analytics API

Base URL: https://YOUR-SERVER/api. Send your API key in x-api-key where authentication is required. A key also needs the listed permission; your account's access rules still apply.

API guide · All endpoints · OpenAPI JSON

Retrieve library analytics

GET /api/analytics

Counts, sizes, dated history and processing outcomes for one selection and date range. Series that are not recorded for the selection are omitted or null, never filled in; estimated processing cost is an estimate, not a charge.

Authentication: API key. Permission: all.

Parameters

NameWhereRequiredDescription
rangequeryNo
scopequeryNo`all` (the whole server, administrators only), `account:<id>` or `library:<id>`
Parameter types, defaults and constraints

Field definitions: AnalyticsRange

[
  {
    "name": "range",
    "required": false,
    "in": "query",
    "schema": {
      "default": "year",
      "$ref": "#/components/schemas/AnalyticsRange"
    }
  },
  {
    "name": "scope",
    "required": false,
    "in": "query",
    "description": "`all` (the whole server, administrators only), `account:<id>` or `library:<id>`",
    "schema": {
      "default": "all",
      "type": "string"
    }
  }
]

Responses

Field definitions: AnalyticsReportResponseDto

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/AnalyticsReportResponseDto"
        }
      }
    },
    "description": ""
  }
}

List analytics scopes

GET /api/analytics/scopes

The selections the signed-in account may read analytics for: the whole server for administrators, then accounts and external libraries.

Authentication: API key. Permission: all.

Responses

Field definitions: AnalyticsScopesResponseDto

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/AnalyticsScopesResponseDto"
        }
      }
    },
    "description": ""
  }
}