---
title: "Files generated over time"
method: GET
path: "/analytics/files"
tags: ["Analytics"]
---

# Files generated over time

`GET /analytics/files`

## Request

- Base URL: `https://api.varg.ai/v2`
- URL: `https://api.varg.ai/v2/analytics/files`
- Auth: HTTP bearer

Media files generated per hour, day, week or month in `timezone`, split into video, image, audio and other. Every generated file counts once, when it was made (clips inside a render and since-deleted files included; uploads and cache replays not). Filters apply through the job that made the file. No comparison period.

All analytics endpoints return `{ "data": ..., "meta": ... }`. `meta` carries the resolved range
(`from` inclusive, `to` exclusive, ISO 8601 UTC), `timezone`, the comparison period, applied `filters`,
`data_as_of`, `money_unit`, `time_basis` and `attribution_scope`.

Amounts are whole credits; fields ending in `_cents` are credits (1 credit = 1 cent). Charges are counted
when they were posted to the ledger. On team accounts, non-members only see their own identity
dimensions (`attribution_scope: self`); others collapse into "Other ..." groups.

With `format=csv` the response is `text/csv`.

## Query parameters

- `from` string
- `to` string
- `timezone` string
- `tool` string
- `model` string
- `workspace_id` string
- `api_key_id` string
- `member_id` string
- `creator` string
- `source` string
- `status` string
- `bucket_width` '1h' | '1d' | '1w' | '1mo'
- `format` 'json' | 'csv'

## Response `200`

Result envelope (JSON) or CSV export

- AnalyticsFilesResponse
  - `data` AnalyticsFiles, required
    - `bucket_width` '1h' | '1d' | '1w' | '1mo', required
    - `buckets` AnalyticsFilesBucket[], required
      - `files` integer, required
      - `video` integer, required
      - `image` integer, required
      - `audio` integer, required
      - `other` integer, required
      - `start` string, date-time, required
      - `end` string, date-time, required
      - `is_partial` boolean, required
    - `total` AnalyticsFileCounts, required
      - `files` integer, required
      - `video` integer, required
      - `image` integer, required
      - `audio` integer, required
      - `other` integer, required
  - `meta` AnalyticsMeta, required: Metadata describing how the numbers were computed.
    - `definition_version` string, required: Changes whenever a metric's meaning changes.
    - `from` string, date-time: Resolved range start (inclusive).
    - `to` string, date-time: Resolved range end (exclusive).
    - `timezone` string
    - `compare` object, nullable: The comparison period, or null when none.
      - `from` string, date-time
      - `to` string, date-time
    - `filters` object: Filters applied, keyed by query parameter name.
    - `data_as_of` string, date-time, required
    - `money_unit` 'cent', required: Amounts are whole credits, in fields ending in `_cents`.
    - `time_basis` 'posted_at' | 'lifetime' | 'created_at', required: `posted_at` = when the ledger charge was posted; `created_at` = when a file was made.
    - `attribution_scope` 'full' | 'self', required: `self` means identity dimensions show only the caller's own values.

## Other responses

- `400`: Invalid parameter (code `invalid_request`, `invalid_range`, `range_too_large`, `invalid_timezone`, `invalid_filter`, `unsupported_group_by`, ...)
- `401`: Missing or invalid API key / JWT
- `503`: Analytics is temporarily unavailable (`analytics_unavailable`)

## Changes

- **2026-10-20** `43bcf5ea398d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/varg/apis/varg-api/changes/analytics/files/get.md)

---

[API](https://skmtc.dev/varg/apis/varg-api.md) · [All operations](https://skmtc.dev/varg/apis/varg-api/llms.txt) · [OpenAPI document](https://skmtc.dev/varg/apis/varg-api/revisions/09d49a6d852f?raw)
