# Get usage metrics

> Retrieve project usage totals and daily values for a UTC date range.

```json
{
  "path": "/metrics/usage",
  "method": "get",
  "schema": {
    "description": "Retrieve project usage totals and daily values for a UTC date range.",
    "operationId": "getUsageMetrics",
    "parameters": [
      {
        "description": "Response format. Defaults to JSON unless Accept requests CSV. Overrides Accept when supplied; errors remain JSON.",
        "in": "query",
        "name": "format",
        "required": false,
        "schema": {
          "enum": [
            "json",
            "csv"
          ],
          "type": "string"
        }
      },
      {
        "description": "Inclusive UTC start date, YYYY-MM-DD. Supply both dates for a custom range of at most 366 days. Omit both for the past 7 UTC calendar days including today.",
        "in": "query",
        "name": "from",
        "required": false,
        "schema": {
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "type": "string"
        }
      },
      {
        "description": "Exclusive UTC end date, YYYY-MM-DD. Must be after from and at most 366 days later.",
        "in": "query",
        "name": "to",
        "required": false,
        "schema": {
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "type": "string"
        }
      }
    ],
    "responses": {
      "200": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/MetricsUsageResponse"
            }
          },
          "text/csv": {
            "example": "row_type,from,to,date,assets.failed,assets.input_seconds,assets.input_seconds_by_resolution.2k,assets.input_seconds_by_resolution.hd,assets.input_seconds_by_resolution.sd,assets.input_seconds_by_resolution.uhd,assets.ready,captions.transcription_seconds,captions.translation_seconds,credits_spent.assets,credits_spent.egress,credits_spent.static_renditions,credits_spent.thumbnails,credits_spent.total,credits_spent.transcodings,credits_spent.transcription,credits_spent.translation,egress.asset_preparation_bytes,egress.asset_rendition_bytes,egress.billable_bytes,egress.caption_bytes,egress.included_bytes,egress.static_rendition_bytes,egress.thumbnail_bytes,egress.total_bytes,egress.transcoding_bytes,notifications.failed,notifications.sent,sources.bytes,sources.created,sources.ingested_seconds,static_renditions.audio_output_seconds,static_renditions.output_seconds,static_renditions.output_seconds_by_resolution.2k,static_renditions.output_seconds_by_resolution.hd,static_renditions.output_seconds_by_resolution.sd,static_renditions.output_seconds_by_resolution.uhd,thumbnails.images_published,thumbnails.sets_failed,thumbnails.sets_ready,transcodings.audio_output_seconds,transcodings.failed,transcodings.output_seconds,transcodings.output_seconds_by_resolution.2k,transcodings.output_seconds_by_resolution.hd,transcodings.output_seconds_by_resolution.sd,transcodings.output_seconds_by_resolution.uhd,transcodings.ready,uploads.bytes,uploads.completed,uploads.failed\r\nsummary,2026-10-01,2026-10-02,,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\r\ndaily,2026-10-01,2026-10-02,2026-10-01,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\r\n",
            "schema": {
              "type": "string"
            }
          }
        },
        "description": "The project report."
      },
      "400": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ResponseErrorValidation"
            }
          }
        },
        "description": "Invalid dates, incomplete range or a range longer than 366 days."
      },
      "401": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ResponseErrorAuthentication"
            }
          }
        },
        "description": "A valid Project token is required."
      },
      "403": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ResponseErrorForbidden"
            }
          }
        },
        "description": "The operation is not permitted."
      },
      "429": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ResponseErrorTooManyRequests"
            }
          }
        },
        "description": "The request rate limit was exceeded."
      },
      "500": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ResponseErrorUnexpected"
            }
          }
        },
        "description": "The report could not be read."
      }
    },
    "security": [
      {
        "ProjectAccessToken": []
      }
    ],
    "summary": "Get usage metrics",
    "tags": [
      "Metrics"
    ],
    "x-codeSamples": [
      {
        "lang": "typescript",
        "source": "import Chunkify from '@chunkify/chunkify';\n\nconst client = new Chunkify({\n  projectAccessToken: 'My Project Access Token',\n});\n\nconst report = await client.metrics.usage({\n  from: '2026-10-01',\n  to: '2026-10-02',\n});\n\nconsole.log(report);"
      },
      {
        "lang": "python",
        "source": "from chunkify import Chunkify\n\nclient = Chunkify(\n    project_access_token=\"My Project Access Token\",\n)\n\nreport = client.metrics.usage(\n    from_=\"2026-10-01\",\n    to=\"2026-10-02\",\n)\nprint(report)"
      },
      {
        "lang": "php",
        "source": "\u003c?php\n\nuse Chunkify\\Client;\n\n$client = new Client(\n    projectAccessToken: 'My Project Access Token',\n);\n\n$report = $client-\u003emetrics-\u003eusage(\n    from: '2026-10-01',\n    to: '2026-10-02',\n);\n\nvar_dump($report);"
      },
      {
        "lang": "golang",
        "source": "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\t\"github.com/chunkifydev/chunkify-go\"\n\t\"github.com/chunkifydev/chunkify-go/option\"\n)\n\nfunc main() {\n\tclient := chunkify.NewClient(\n\t\toption.WithProjectAccessToken(\"My Project Access Token\"),\n\t)\n\treport, err := client.Metrics.Usage(\n\t\tcontext.TODO(),\n\t\tchunkify.MetricUsageParams{\n\t\t\tFrom: chunkify.String(\"2026-10-01\"),\n\t\t\tTo:   chunkify.String(\"2026-10-02\"),\n\t\t},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", report)\n}\n"
      }
    ]
  }
}
```



```json #/components/schemas/ResponseErrorTooManyRequests
{
  "description": "Error response",
  "properties": {
    "error": {
      "description": "Error response details",
      "properties": {
        "code": {
          "const": 429,
          "description": "Code is the HTTP status code",
          "examples": [
            429
          ],
          "type": "integer"
        },
        "message": {
          "description": "Message is a human-readable error description",
          "examples": [
            "Rate limit exceeded"
          ],
          "type": "string"
        },
        "type": {
          "const": "TooManyRequestsError",
          "description": "Type indicates the error category",
          "enum": [
            "TooManyRequestsError"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message"
      ],
      "type": "object"
    },
    "status": {
      "const": "error",
      "description": "Status indicates the response status \"error\"",
      "type": "string"
    }
  },
  "required": [
    "status",
    "error"
  ],
  "type": "object"
}
```



```json #/components/schemas/ResponseErrorUnexpected
{
  "description": "Unexpected preview processing or storage failure.",
  "properties": {
    "error": {
      "properties": {
        "code": {
          "const": 500,
          "type": "integer"
        },
        "message": {
          "examples": [
            "Internal server error"
          ],
          "type": "string"
        },
        "type": {
          "const": "UnexpectedError",
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message"
      ],
      "type": "object"
    },
    "status": {
      "const": "error",
      "type": "string"
    }
  },
  "required": [
    "status",
    "error"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsUsageResponse
{
  "description": "Successful metrics response.",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/MetricsUsage",
      "description": "Data contains the requested report."
    }
  },
  "required": [
    "data"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsUsage
{
  "description": "Project usage for the selected UTC accounting period.",
  "properties": {
    "daily": {
      "description": "Daily specifies one record for every selected day, oldest first.",
      "items": {
        "$ref": "#/components/schemas/MetricsUsageDay"
      },
      "type": "array"
    },
    "from": {
      "description": "From specifies the inclusive UTC start date.",
      "examples": [
        "2026-10-01"
      ],
      "type": "string"
    },
    "summary": {
      "$ref": "#/components/schemas/MetricsUsageValues",
      "description": "Summary specifies totals across the selected period."
    },
    "to": {
      "description": "To specifies the exclusive UTC end date.",
      "examples": [
        "2026-10-02"
      ],
      "type": "string"
    }
  },
  "required": [
    "from",
    "to",
    "summary",
    "daily"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsUsageDay
{
  "allOf": [
    {
      "$ref": "#/components/schemas/MetricsUsageValues"
    },
    {
      "properties": {
        "date": {
          "description": "Date specifies the UTC accounting day.",
          "examples": [
            "2026-10-01"
          ],
          "type": "string"
        }
      },
      "required": [
        "date"
      ],
      "type": "object"
    }
  ],
  "description": "Daily recorded usage. Inactive days contain zero counters."
}
```



```json #/components/schemas/MetricsUsageValues
{
  "description": "Recorded usage for a UTC accounting day or a complete period.",
  "properties": {
    "assets": {
      "$ref": "#/components/schemas/MetricsUsageAssets"
    },
    "captions": {
      "$ref": "#/components/schemas/MetricsUsageCaptions"
    },
    "credits_spent": {
      "$ref": "#/components/schemas/MetricsCreditsSpent"
    },
    "egress": {
      "$ref": "#/components/schemas/MetricsUsageEgress"
    },
    "notifications": {
      "$ref": "#/components/schemas/MetricsUsageNotifications"
    },
    "sources": {
      "$ref": "#/components/schemas/MetricsUsageSources"
    },
    "static_renditions": {
      "$ref": "#/components/schemas/MetricsUsageStaticRenditions"
    },
    "thumbnails": {
      "$ref": "#/components/schemas/MetricsUsageThumbnails"
    },
    "transcodings": {
      "$ref": "#/components/schemas/MetricsUsageTranscodings"
    },
    "uploads": {
      "$ref": "#/components/schemas/MetricsUsageUploads"
    }
  },
  "required": [
    "assets",
    "transcodings",
    "static_renditions",
    "sources",
    "uploads",
    "thumbnails",
    "captions",
    "notifications",
    "egress",
    "credits_spent"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsUsageCaptions
{
  "description": "Caption processing usage.",
  "properties": {
    "transcription_seconds": {
      "description": "TranscriptionSeconds specifies audio duration transcribed.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "translation_seconds": {
      "description": "TranslationSeconds specifies caption duration translated, counted once per target language.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "transcription_seconds",
    "translation_seconds"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsUsageEgress
{
  "description": "Recorded output egress eligible for the transfer tariff. Provider-exempt transfers are excluded.",
  "properties": {
    "asset_preparation_bytes": {
      "description": "Bytes specifies tariff-eligible output transfer bytes for Asset preparation.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "asset_rendition_bytes": {
      "description": "Bytes specifies tariff-eligible output transfer bytes for streaming renditions.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "billable_bytes": {
      "description": "BillableBytes specifies external output bytes charged after the allowance.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "caption_bytes": {
      "description": "Bytes specifies tariff-eligible output transfer bytes for captions.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "included_bytes": {
      "description": "IncludedBytes specifies external output bytes covered by the allowance.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "static_rendition_bytes": {
      "description": "Bytes specifies tariff-eligible output transfer bytes for static renditions.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "thumbnail_bytes": {
      "description": "Bytes specifies tariff-eligible output transfer bytes for Thumbnails.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "total_bytes": {
      "description": "TotalBytes specifies the sum of tariff-eligible output transfers.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "transcoding_bytes": {
      "description": "Bytes specifies tariff-eligible output transfer bytes for Transcodings.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "total_bytes",
    "included_bytes",
    "billable_bytes",
    "asset_preparation_bytes",
    "asset_rendition_bytes",
    "static_rendition_bytes",
    "transcoding_bytes",
    "thumbnail_bytes",
    "caption_bytes"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsUsageNotifications
{
  "description": "Webhook delivery activity.",
  "properties": {
    "failed": {
      "description": "Failed specifies recorded failed webhook delivery attempts.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "sent": {
      "description": "Sent specifies recorded successful webhook deliveries.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "sent",
    "failed"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsUsageSources
{
  "description": "Source ingestion activity.",
  "properties": {
    "bytes": {
      "description": "Bytes specifies cumulative ingested Source bytes, not current storage occupancy.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "created": {
      "description": "Created specifies the number of ingested Sources.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "ingested_seconds": {
      "description": "IngestedSeconds specifies ingested media duration in seconds.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "created",
    "ingested_seconds",
    "bytes"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsUsageUploads
{
  "description": "Upload activity.",
  "properties": {
    "bytes": {
      "description": "Bytes specifies successfully uploaded bytes.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "completed": {
      "description": "Completed specifies successfully completed Uploads.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "failed": {
      "description": "Failed specifies recorded failed Uploads.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "completed",
    "failed",
    "bytes"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsUsageAssets
{
  "description": "Asset processing usage.",
  "properties": {
    "failed": {
      "description": "Failed specifies recorded failed Asset outcomes.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "input_seconds": {
      "description": "InputSeconds specifies settled billable Asset input duration.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "input_seconds_by_resolution": {
      "additionalProperties": {
        "description": "Seconds specifies duration in this pricing tier.",
        "format": "int64",
        "minimum": 0,
        "type": "integer"
      },
      "description": "Video duration in seconds by pricing resolution tier: sd, hd, 2k and uhd.",
      "type": "object"
    },
    "ready": {
      "description": "Ready specifies recorded successful Asset outcomes.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "ready",
    "failed",
    "input_seconds",
    "input_seconds_by_resolution"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsCreditsSpent
{
  "description": "Settled credits in integer units, with 10000 units equal to USD 1 of credits. Category values are parts of total, not additional charges.",
  "properties": {
    "assets": {
      "description": "Amount specifies settled credits spent on assets. Integer units; 10000 units equal USD 1 of credits.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "egress": {
      "description": "Amount specifies settled credits spent on egress. Integer units; 10000 units equal USD 1 of credits.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "static_renditions": {
      "description": "Amount specifies settled credits spent on static renditions. Integer units; 10000 units equal USD 1 of credits.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "thumbnails": {
      "description": "Amount specifies settled credits spent on thumbnails. Integer units; 10000 units equal USD 1 of credits.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "total": {
      "description": "Total specifies the sum of these media-processing and output-egress charges. Integer units; 10000 units equal USD 1 of credits.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "transcodings": {
      "description": "Amount specifies settled credits spent on transcodings. Integer units; 10000 units equal USD 1 of credits.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "transcription": {
      "description": "Amount specifies settled credits spent on transcription. Integer units; 10000 units equal USD 1 of credits.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "translation": {
      "description": "Amount specifies settled credits spent on translation. Integer units; 10000 units equal USD 1 of credits.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "total",
    "assets",
    "static_renditions",
    "transcodings",
    "thumbnails",
    "transcription",
    "translation",
    "egress"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsUsageStaticRenditions
{
  "description": "Static rendition usage.",
  "properties": {
    "audio_output_seconds": {
      "description": "AudioOutputSeconds specifies the audio-only subset of output_seconds.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "output_seconds": {
      "description": "OutputSeconds specifies settled billable output duration, including audio-only output.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "output_seconds_by_resolution": {
      "additionalProperties": {
        "description": "Seconds specifies duration in this pricing tier.",
        "format": "int64",
        "minimum": 0,
        "type": "integer"
      },
      "description": "Video duration in seconds by pricing resolution tier. Contains sd, hd, 2k and uhd keys; audio is reported separately.",
      "type": "object"
    }
  },
  "required": [
    "output_seconds",
    "audio_output_seconds",
    "output_seconds_by_resolution"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsUsageThumbnails
{
  "description": "Thumbnail processing usage.",
  "properties": {
    "images_published": {
      "description": "ImagesPublished specifies the number of published thumbnail images.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "sets_failed": {
      "description": "SetsFailed specifies recorded failed Thumbnail requests.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "sets_ready": {
      "description": "SetsReady specifies recorded successful Thumbnail requests.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "sets_ready",
    "sets_failed",
    "images_published"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsUsageTranscodings
{
  "description": "Standalone Transcoding usage.",
  "properties": {
    "audio_output_seconds": {
      "description": "AudioOutputSeconds specifies the audio-only subset of output_seconds.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "failed": {
      "description": "Failed specifies recorded failed Transcoding outcomes.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "output_seconds": {
      "description": "OutputSeconds specifies settled billable output duration, including audio-only output.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "output_seconds_by_resolution": {
      "additionalProperties": {
        "description": "Seconds specifies duration in this pricing tier.",
        "format": "int64",
        "minimum": 0,
        "type": "integer"
      },
      "description": "Video duration in seconds by pricing resolution tier. Contains sd, hd, 2k and uhd keys; audio is reported separately.",
      "type": "object"
    },
    "ready": {
      "description": "Ready specifies recorded successful Transcoding outcomes.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "ready",
    "failed",
    "output_seconds",
    "audio_output_seconds",
    "output_seconds_by_resolution"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsUsageValues
{
  "description": "Recorded usage for a UTC accounting day or a complete period.",
  "properties": {
    "assets": {
      "$ref": "#/components/schemas/MetricsUsageAssets"
    },
    "captions": {
      "$ref": "#/components/schemas/MetricsUsageCaptions"
    },
    "credits_spent": {
      "$ref": "#/components/schemas/MetricsCreditsSpent"
    },
    "egress": {
      "$ref": "#/components/schemas/MetricsUsageEgress"
    },
    "notifications": {
      "$ref": "#/components/schemas/MetricsUsageNotifications"
    },
    "sources": {
      "$ref": "#/components/schemas/MetricsUsageSources"
    },
    "static_renditions": {
      "$ref": "#/components/schemas/MetricsUsageStaticRenditions"
    },
    "thumbnails": {
      "$ref": "#/components/schemas/MetricsUsageThumbnails"
    },
    "transcodings": {
      "$ref": "#/components/schemas/MetricsUsageTranscodings"
    },
    "uploads": {
      "$ref": "#/components/schemas/MetricsUsageUploads"
    }
  },
  "required": [
    "assets",
    "transcodings",
    "static_renditions",
    "sources",
    "uploads",
    "thumbnails",
    "captions",
    "notifications",
    "egress",
    "credits_spent"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsUsageNotifications
{
  "description": "Webhook delivery activity.",
  "properties": {
    "failed": {
      "description": "Failed specifies recorded failed webhook delivery attempts.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "sent": {
      "description": "Sent specifies recorded successful webhook deliveries.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "sent",
    "failed"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsUsageSources
{
  "description": "Source ingestion activity.",
  "properties": {
    "bytes": {
      "description": "Bytes specifies cumulative ingested Source bytes, not current storage occupancy.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "created": {
      "description": "Created specifies the number of ingested Sources.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "ingested_seconds": {
      "description": "IngestedSeconds specifies ingested media duration in seconds.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "created",
    "ingested_seconds",
    "bytes"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsUsageThumbnails
{
  "description": "Thumbnail processing usage.",
  "properties": {
    "images_published": {
      "description": "ImagesPublished specifies the number of published thumbnail images.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "sets_failed": {
      "description": "SetsFailed specifies recorded failed Thumbnail requests.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "sets_ready": {
      "description": "SetsReady specifies recorded successful Thumbnail requests.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "sets_ready",
    "sets_failed",
    "images_published"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsUsageTranscodings
{
  "description": "Standalone Transcoding usage.",
  "properties": {
    "audio_output_seconds": {
      "description": "AudioOutputSeconds specifies the audio-only subset of output_seconds.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "failed": {
      "description": "Failed specifies recorded failed Transcoding outcomes.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "output_seconds": {
      "description": "OutputSeconds specifies settled billable output duration, including audio-only output.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "output_seconds_by_resolution": {
      "additionalProperties": {
        "description": "Seconds specifies duration in this pricing tier.",
        "format": "int64",
        "minimum": 0,
        "type": "integer"
      },
      "description": "Video duration in seconds by pricing resolution tier. Contains sd, hd, 2k and uhd keys; audio is reported separately.",
      "type": "object"
    },
    "ready": {
      "description": "Ready specifies recorded successful Transcoding outcomes.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "ready",
    "failed",
    "output_seconds",
    "audio_output_seconds",
    "output_seconds_by_resolution"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsUsageUploads
{
  "description": "Upload activity.",
  "properties": {
    "bytes": {
      "description": "Bytes specifies successfully uploaded bytes.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "completed": {
      "description": "Completed specifies successfully completed Uploads.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "failed": {
      "description": "Failed specifies recorded failed Uploads.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "completed",
    "failed",
    "bytes"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsUsageAssets
{
  "description": "Asset processing usage.",
  "properties": {
    "failed": {
      "description": "Failed specifies recorded failed Asset outcomes.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "input_seconds": {
      "description": "InputSeconds specifies settled billable Asset input duration.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "input_seconds_by_resolution": {
      "additionalProperties": {
        "description": "Seconds specifies duration in this pricing tier.",
        "format": "int64",
        "minimum": 0,
        "type": "integer"
      },
      "description": "Video duration in seconds by pricing resolution tier: sd, hd, 2k and uhd.",
      "type": "object"
    },
    "ready": {
      "description": "Ready specifies recorded successful Asset outcomes.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "ready",
    "failed",
    "input_seconds",
    "input_seconds_by_resolution"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsUsageCaptions
{
  "description": "Caption processing usage.",
  "properties": {
    "transcription_seconds": {
      "description": "TranscriptionSeconds specifies audio duration transcribed.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "translation_seconds": {
      "description": "TranslationSeconds specifies caption duration translated, counted once per target language.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "transcription_seconds",
    "translation_seconds"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsCreditsSpent
{
  "description": "Settled credits in integer units, with 10000 units equal to USD 1 of credits. Category values are parts of total, not additional charges.",
  "properties": {
    "assets": {
      "description": "Amount specifies settled credits spent on assets. Integer units; 10000 units equal USD 1 of credits.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "egress": {
      "description": "Amount specifies settled credits spent on egress. Integer units; 10000 units equal USD 1 of credits.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "static_renditions": {
      "description": "Amount specifies settled credits spent on static renditions. Integer units; 10000 units equal USD 1 of credits.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "thumbnails": {
      "description": "Amount specifies settled credits spent on thumbnails. Integer units; 10000 units equal USD 1 of credits.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "total": {
      "description": "Total specifies the sum of these media-processing and output-egress charges. Integer units; 10000 units equal USD 1 of credits.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "transcodings": {
      "description": "Amount specifies settled credits spent on transcodings. Integer units; 10000 units equal USD 1 of credits.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "transcription": {
      "description": "Amount specifies settled credits spent on transcription. Integer units; 10000 units equal USD 1 of credits.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "translation": {
      "description": "Amount specifies settled credits spent on translation. Integer units; 10000 units equal USD 1 of credits.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "total",
    "assets",
    "static_renditions",
    "transcodings",
    "thumbnails",
    "transcription",
    "translation",
    "egress"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsUsageEgress
{
  "description": "Recorded output egress eligible for the transfer tariff. Provider-exempt transfers are excluded.",
  "properties": {
    "asset_preparation_bytes": {
      "description": "Bytes specifies tariff-eligible output transfer bytes for Asset preparation.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "asset_rendition_bytes": {
      "description": "Bytes specifies tariff-eligible output transfer bytes for streaming renditions.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "billable_bytes": {
      "description": "BillableBytes specifies external output bytes charged after the allowance.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "caption_bytes": {
      "description": "Bytes specifies tariff-eligible output transfer bytes for captions.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "included_bytes": {
      "description": "IncludedBytes specifies external output bytes covered by the allowance.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "static_rendition_bytes": {
      "description": "Bytes specifies tariff-eligible output transfer bytes for static renditions.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "thumbnail_bytes": {
      "description": "Bytes specifies tariff-eligible output transfer bytes for Thumbnails.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "total_bytes": {
      "description": "TotalBytes specifies the sum of tariff-eligible output transfers.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "transcoding_bytes": {
      "description": "Bytes specifies tariff-eligible output transfer bytes for Transcodings.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "total_bytes",
    "included_bytes",
    "billable_bytes",
    "asset_preparation_bytes",
    "asset_rendition_bytes",
    "static_rendition_bytes",
    "transcoding_bytes",
    "thumbnail_bytes",
    "caption_bytes"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsUsageStaticRenditions
{
  "description": "Static rendition usage.",
  "properties": {
    "audio_output_seconds": {
      "description": "AudioOutputSeconds specifies the audio-only subset of output_seconds.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "output_seconds": {
      "description": "OutputSeconds specifies settled billable output duration, including audio-only output.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "output_seconds_by_resolution": {
      "additionalProperties": {
        "description": "Seconds specifies duration in this pricing tier.",
        "format": "int64",
        "minimum": 0,
        "type": "integer"
      },
      "description": "Video duration in seconds by pricing resolution tier. Contains sd, hd, 2k and uhd keys; audio is reported separately.",
      "type": "object"
    }
  },
  "required": [
    "output_seconds",
    "audio_output_seconds",
    "output_seconds_by_resolution"
  ],
  "type": "object"
}
```



```json #/components/schemas/ResponseErrorValidation
{
  "properties": {
    "error": {
      "properties": {
        "code": {
          "const": 400,
          "description": "Code is the HTTP status code",
          "examples": [
            400
          ],
          "type": "integer"
        },
        "message": {
          "description": "Message is a human-readable error description",
          "examples": [
            "Invalid request parameters"
          ],
          "type": "string"
        },
        "type": {
          "const": "ValidationError",
          "description": "Type indicates the error category",
          "enum": [
            "ValidationError"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message"
      ],
      "type": "object"
    },
    "status": {
      "const": "error",
      "description": "Status indicates the response status \"error\"",
      "type": "string"
    }
  },
  "required": [
    "status",
    "error"
  ]
}
```



```json #/components/schemas/ResponseErrorAuthentication
{
  "description": "Error response",
  "properties": {
    "error": {
      "description": "Error response details",
      "properties": {
        "code": {
          "const": 401,
          "description": "Code is the HTTP status code",
          "examples": [
            401
          ],
          "type": "integer"
        },
        "message": {
          "description": "Message is a human-readable error description",
          "examples": [
            "Authentication error: invalid token or subscription inactive"
          ],
          "type": "string"
        },
        "type": {
          "const": "AuthenticationError",
          "description": "Type indicates the error category",
          "enum": [
            "AuthenticationError"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message"
      ],
      "type": "object"
    },
    "status": {
      "const": "error",
      "description": "Status indicates the response status \"error\"",
      "type": "string"
    }
  },
  "required": [
    "status",
    "error"
  ],
  "type": "object"
}
```



```json #/components/schemas/ResponseErrorForbidden
{
  "properties": {
    "error": {
      "description": "Error response details",
      "properties": {
        "code": {
          "const": 403,
          "description": "Code is the HTTP status code",
          "examples": [
            403
          ],
          "type": "integer"
        },
        "message": {
          "description": "Message is a human-readable error description",
          "examples": [
            "Unauthorized to perform this action"
          ],
          "type": "string"
        },
        "type": {
          "const": "ForbiddenError",
          "description": "Type indicates the error category",
          "enum": [
            "ForbiddenError"
          ],
          "type": "string"
        }
      },
      "required": [
        "type",
        "code",
        "message"
      ],
      "type": "object"
    },
    "status": {
      "const": "error",
      "description": "Status indicates the response status \"error\"",
      "type": "string"
    }
  },
  "required": [
    "status",
    "error"
  ]
}
```