---
title: "Get headline totals (print count, success rate, filament, print time and cost) and prints by status over time."
method: GET
path: "/api/Analytics/overview"
tags: ["Analytics"]
---

# Get headline totals (print count, success rate, filament, print time and cost) and prints by status over time.

`GET /api/Analytics/overview`

## Request

- Base URL: `https://api.3dprintlog.com`
- URL: `https://api.3dprintlog.com/api/Analytics/overview`
- Auth: one of:
  - OAuth 2 (authorization code, authorization URL `https://3dprintlog.auth0.com/authorize`, token URL `https://3dprintlog.auth0.com/oauth/token`)
  - API key in header `X-Api-Key`
  - API key in query parameter `api_key`

Covers the authenticated user's own prints only. Every analytics endpoint takes the same
filter: a half-open `fromDate`/`toDate` range (omit both for all time), an IANA
`timeZone` for bucketing (default UTC), optional `printerIds`,
`filamentIds`, `projectIds` and `statuses`, a `granularity`
(Auto, Day, Week or Month) and `comparePrevious` to add the preceding window of the
same length. Ids the caller does not own match nothing.

## Query parameters

- `FromDate` string, date-time
- `ToDate` string, date-time
- `TimeZone` string
- `PrinterIds` integer[]
- `FilamentIds` string[]
- `ProjectIds` string[]
- `Statuses` PrintLogApiModelsPrintPrintStatus[]
- `Granularity` 0 | 1 | 2 | 3: Sent as an integer: `0` = Auto, `1` = Day, `2` = Week, `3` = Month.
- `ComparePrevious` boolean
- `HasRange` boolean

## Response `200`

The overview figures for the filtered window.

- PrintLogApiModelsDTOsAnalyticsOverviewResponse
  - `from` string, date-time, nullable
  - `to` string, date-time, nullable
  - `timeZone` string, nullable
  - `granularity` string, nullable
  - `tiles` PrintLogApiModelsDTOsAnalyticsOverviewTiles
    - `printCount` PrintLogApiModelsDTOsAnalyticsMetric: A scalar metric. Previous is null unless comparePrevious was requested.
      - `value` number, double, nullable
      - `previous` number, double, nullable
      - `coverage` PrintLogApiModelsDTOsAnalyticsCoverage: Population is named explicitly ("prints", "spools", "printers") because a count of excluded spools is not a count of excluded prints.
        - `population` string, nullable
        - `counted` integer
        - `total` integer
        - `undatedCount` integer
        - `exclusions` PrintLogApiModelsDTOsAnalyticsCoverageExclusion[], nullable
          - `reason` string, nullable
          - `count` integer
    - `successRatePercent` PrintLogApiModelsDTOsAnalyticsMetric: A scalar metric. Previous is null unless comparePrevious was requested.
      - `value` number, double, nullable
      - `previous` number, double, nullable
      - `coverage` PrintLogApiModelsDTOsAnalyticsCoverage: Population is named explicitly ("prints", "spools", "printers") because a count of excluded spools is not a count of excluded prints.
        - `population` string, nullable
        - `counted` integer
        - `total` integer
        - `undatedCount` integer
        - `exclusions` PrintLogApiModelsDTOsAnalyticsCoverageExclusion[], nullable
          - `reason` string, nullable
          - `count` integer
    - `filamentGrams` PrintLogApiModelsDTOsAnalyticsMetric: A scalar metric. Previous is null unless comparePrevious was requested.
      - `value` number, double, nullable
      - `previous` number, double, nullable
      - `coverage` PrintLogApiModelsDTOsAnalyticsCoverage: Population is named explicitly ("prints", "spools", "printers") because a count of excluded spools is not a count of excluded prints.
        - `population` string, nullable
        - `counted` integer
        - `total` integer
        - `undatedCount` integer
        - `exclusions` PrintLogApiModelsDTOsAnalyticsCoverageExclusion[], nullable
          - `reason` string, nullable
          - `count` integer
    - `printTimeSeconds` PrintLogApiModelsDTOsAnalyticsMetric: A scalar metric. Previous is null unless comparePrevious was requested.
      - `value` number, double, nullable
      - `previous` number, double, nullable
      - `coverage` PrintLogApiModelsDTOsAnalyticsCoverage: Population is named explicitly ("prints", "spools", "printers") because a count of excluded spools is not a count of excluded prints.
        - `population` string, nullable
        - `counted` integer
        - `total` integer
        - `undatedCount` integer
        - `exclusions` PrintLogApiModelsDTOsAnalyticsCoverageExclusion[], nullable
          - `reason` string, nullable
          - `count` integer
    - `totalCost` PrintLogApiModelsDTOsAnalyticsMoneyMetric: Money is decimal, never double, and always carries its currency.
      - `value` number, double, nullable
      - `previous` number, double, nullable
      - `currency` string, nullable
      - `coverage` PrintLogApiModelsDTOsAnalyticsCoverage: Population is named explicitly ("prints", "spools", "printers") because a count of excluded spools is not a count of excluded prints.
        - `population` string, nullable
        - `counted` integer
        - `total` integer
        - `undatedCount` integer
        - `exclusions` PrintLogApiModelsDTOsAnalyticsCoverageExclusion[], nullable
          - `reason` string, nullable
          - `count` integer
    - `avgPrintTimeSeconds` PrintLogApiModelsDTOsAnalyticsMetric: A scalar metric. Previous is null unless comparePrevious was requested.
      - `value` number, double, nullable
      - `previous` number, double, nullable
      - `coverage` PrintLogApiModelsDTOsAnalyticsCoverage: Population is named explicitly ("prints", "spools", "printers") because a count of excluded spools is not a count of excluded prints.
        - `population` string, nullable
        - `counted` integer
        - `total` integer
        - `undatedCount` integer
        - `exclusions` PrintLogApiModelsDTOsAnalyticsCoverageExclusion[], nullable
          - `reason` string, nullable
          - `count` integer
  - `statusBreakdown` PrintLogApiModelsDTOsAnalyticsStatusCount[], nullable
    - `status` string, nullable
    - `count` integer
  - `series` PrintLogApiModelsDTOsAnalyticsSeriesBucket[], nullable
    - `index` integer
    - `localStart` string, date
    - `countsByStatus` object, nullable
  - `highlights` PrintLogApiModelsDTOsAnalyticsOverviewHighlights
    - `mostUsedPrinter` PrintLogApiModelsDTOsAnalyticsHighlightRef: A pointer to the entity behind a headline, so the UI can link to it.
      - `id` string, nullable
      - `label` string, nullable
      - `value` number, double, nullable
      - `unit` string, nullable
    - `mostUsedMaterial` PrintLogApiModelsDTOsAnalyticsHighlightRef: A pointer to the entity behind a headline, so the UI can link to it.
      - `id` string, nullable
      - `label` string, nullable
      - `value` number, double, nullable
      - `unit` string, nullable
    - `longestPrint` PrintLogApiModelsDTOsAnalyticsHighlightRef: A pointer to the entity behind a headline, so the UI can link to it.
      - `id` string, nullable
      - `label` string, nullable
      - `value` number, double, nullable
      - `unit` string, nullable
    - `priciestPrint` PrintLogApiModelsDTOsAnalyticsHighlightRef: A pointer to the entity behind a headline, so the UI can link to it.
      - `id` string, nullable
      - `label` string, nullable
      - `value` number, double, nullable
      - `unit` string, nullable

## Other responses

- `400`: The filter is invalid, for example a one-sided or reversed date range.
- `401`: Unauthorized
- `403`: Forbidden

---

[API](https://skmtc.dev/3dprintlog/apis/3d-print-log-api.md) · [All operations](https://skmtc.dev/3dprintlog/apis/3d-print-log-api/llms.txt) · [OpenAPI document](https://skmtc.dev/3dprintlog/apis/3d-print-log-api/revisions/dfc3a4df4e38?raw)
