# Get Asset metrics

> Retrieve Asset outcomes, timings, output sizes and source profiles by UTC creation date.

```json
{
  "path": "/metrics/assets",
  "method": "get",
  "schema": {
    "description": "Retrieve Asset outcomes, timings, output sizes and source profiles by UTC creation date.",
    "operationId": "getAssetMetrics",
    "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/MetricsAssetsResponse"
            }
          },
          "text/csv": {
            "example": "row_type,from,to,date,assets.completed,assets.failed,assets.processed_seconds,assets.saved,outputs.measured_asset_count,outputs.static_bytes,outputs.static_sample_count,outputs.streaming_bytes,outputs.streaming_sample_count,sources.assets_by_duration.10_to_30m,sources.assets_by_duration.1_to_5m,sources.assets_by_duration.30_to_60m,sources.assets_by_duration.5_to_10m,sources.assets_by_duration.over_60m,sources.assets_by_duration.under_1m,sources.assets_by_duration.unknown,sources.assets_by_resolution.1081_to_2159,sources.assets_by_resolution.2160_plus,sources.assets_by_resolution.577_to_720,sources.assets_by_resolution.721_to_1080,sources.assets_by_resolution.unknown,sources.assets_by_resolution.up_to_576,streaming.asset_count,streaming.assets_by_highest_resolution.1081_to_2159,streaming.assets_by_highest_resolution.2160_plus,streaming.assets_by_highest_resolution.577_to_720,streaming.assets_by_highest_resolution.721_to_1080,streaming.assets_by_highest_resolution.unknown,streaming.assets_by_highest_resolution.up_to_576,streaming.rendition_count,streaming.renditions_per_asset,timings.completion_median_seconds,timings.completion_sample_count,timings.playback_median_seconds,timings.playback_sample_count\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\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\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 Asset 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.assets({\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.assets(\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-\u003eassets(\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.Assets(\n\t\tcontext.TODO(),\n\t\tchunkify.MetricAssetsParams{\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/MetricsAssetsResponse
{
  "description": "Successful metrics response.",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/MetricsAssets",
      "description": "Data contains the requested report."
    }
  },
  "required": [
    "data"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsAssets
{
  "description": "Measurements saved on retained Assets. Explicit deletion can change historical results; temporary media cleanup does not erase saved Asset measurements.",
  "properties": {
    "daily": {
      "description": "Daily specifies one record for each selected creation day, oldest first.",
      "items": {
        "$ref": "#/components/schemas/MetricsAssetDay"
      },
      "type": "array"
    },
    "from": {
      "description": "From specifies the inclusive UTC start date.",
      "examples": [
        "2026-10-01"
      ],
      "type": "string"
    },
    "summary": {
      "$ref": "#/components/schemas/MetricsAssetValues",
      "description": "Summary specifies the complete creation-date cohort."
    },
    "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/MetricsAssetDay
{
  "allOf": [
    {
      "$ref": "#/components/schemas/MetricsAssetValues"
    },
    {
      "properties": {
        "date": {
          "description": "Date specifies the UTC Asset creation day.",
          "examples": [
            "2026-10-01"
          ],
          "type": "string"
        }
      },
      "required": [
        "date"
      ],
      "type": "object"
    }
  ],
  "description": "Asset measurements grouped by creation day."
}
```



```json #/components/schemas/MetricsAssetValues
{
  "description": "Asset measurements for a creation-date cohort.",
  "properties": {
    "assets": {
      "$ref": "#/components/schemas/MetricsAssetCounts"
    },
    "outputs": {
      "$ref": "#/components/schemas/MetricsAssetOutputs"
    },
    "sources": {
      "$ref": "#/components/schemas/MetricsAssetSources"
    },
    "streaming": {
      "$ref": "#/components/schemas/MetricsAssetStreaming"
    },
    "timings": {
      "$ref": "#/components/schemas/MetricsAssetTimings"
    }
  },
  "required": [
    "assets",
    "timings",
    "outputs",
    "streaming",
    "sources"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsAssetStreaming
{
  "description": "Streaming output distribution on completed Assets.",
  "properties": {
    "asset_count": {
      "description": "AssetCount specifies completed Assets, including those with no streaming renditions.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "assets_by_highest_resolution": {
      "additionalProperties": {
        "description": "Count specifies the number of Assets in this category.",
        "format": "int64",
        "minimum": 0,
        "type": "integer"
      },
      "description": "AssetsByHighestResolution specifies counts by highest measured streaming resolution. Keys are up_to_576, 577_to_720, 721_to_1080, 1081_to_2159, 2160_plus and unknown, using the shorter pixel edge.",
      "type": "object"
    },
    "rendition_count": {
      "description": "RenditionCount specifies streaming renditions on completed Assets.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "renditions_per_asset": {
      "description": "RenditionsPerAsset specifies rendition_count divided by asset_count. Null when no completed Assets exist.",
      "minimum": 0,
      "type": [
        "number",
        "null"
      ]
    }
  },
  "required": [
    "rendition_count",
    "asset_count",
    "renditions_per_asset",
    "assets_by_highest_resolution"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsAssetTimings
{
  "description": "Lifecycle timing measurements. Period medians use all samples, not averages of daily medians.",
  "properties": {
    "completion_median_seconds": {
      "description": "CompletionMedianSeconds specifies the median elapsed time from creation to full readiness. Null when no samples exist.",
      "minimum": 0,
      "type": [
        "number",
        "null"
      ]
    },
    "completion_sample_count": {
      "description": "CompletionSampleCount specifies Assets with a full readiness measurement.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "playback_median_seconds": {
      "description": "PlaybackMedianSeconds specifies the median elapsed time from creation to playback readiness. Null when no samples exist.",
      "minimum": 0,
      "type": [
        "number",
        "null"
      ]
    },
    "playback_sample_count": {
      "description": "PlaybackSampleCount specifies Assets with a playback readiness measurement.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "playback_median_seconds",
    "playback_sample_count",
    "completion_median_seconds",
    "completion_sample_count"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsAssetCounts
{
  "description": "Asset outcomes grouped by Asset creation date.",
  "properties": {
    "completed": {
      "description": "Completed specifies Assets with a recorded ready timestamp.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "failed": {
      "description": "Failed specifies retained Assets currently in failed status.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "processed_seconds": {
      "description": "ProcessedSeconds specifies measured media duration of completed Assets, preserving fractional seconds.",
      "minimum": 0,
      "type": "number"
    },
    "saved": {
      "description": "Saved specifies retained Assets created in the period.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "saved",
    "completed",
    "failed",
    "processed_seconds"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsAssetOutputs
{
  "description": "Measured output sizes for completed Assets. Sample counts describe measurement coverage.",
  "properties": {
    "measured_asset_count": {
      "description": "MeasuredAssetCount specifies completed Assets with at least one measured rendition.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "static_bytes": {
      "description": "StaticBytes specifies the sum of measured ready static rendition sizes. Null when no measurements exist.",
      "format": "int64",
      "minimum": 0,
      "type": [
        "integer",
        "null"
      ]
    },
    "static_sample_count": {
      "description": "StaticSampleCount specifies ready static renditions with measured sizes.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "streaming_bytes": {
      "description": "StreamingBytes specifies the sum of measured streaming rendition sizes. Null when no measurements exist.",
      "format": "int64",
      "minimum": 0,
      "type": [
        "integer",
        "null"
      ]
    },
    "streaming_sample_count": {
      "description": "StreamingSampleCount specifies streaming renditions with measured sizes.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "streaming_bytes",
    "streaming_sample_count",
    "static_bytes",
    "static_sample_count",
    "measured_asset_count"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsAssetSources
{
  "description": "Source profiles count Assets, not unique Sources.",
  "properties": {
    "assets_by_codec": {
      "additionalProperties": {
        "description": "Count specifies the number of Assets in this category.",
        "format": "int64",
        "minimum": 0,
        "type": "integer"
      },
      "description": "AssetsByCodec specifies Asset counts by normalized source video codec, including unknown. All recorded codecs are returned.",
      "type": "object"
    },
    "assets_by_duration": {
      "additionalProperties": {
        "description": "Count specifies the number of Assets in this category.",
        "format": "int64",
        "minimum": 0,
        "type": "integer"
      },
      "description": "AssetsByDuration specifies Asset counts by source duration. Keys are under_1m, 1_to_5m, 5_to_10m, 10_to_30m, 30_to_60m, over_60m and unknown. Boundaries are 60, 300, 600, 1800 and 3600 seconds; exactly 3600 belongs to 30_to_60m.",
      "type": "object"
    },
    "assets_by_resolution": {
      "additionalProperties": {
        "description": "Count specifies the number of Assets in this category.",
        "format": "int64",
        "minimum": 0,
        "type": "integer"
      },
      "description": "AssetsByResolution specifies Asset counts by source resolution. Keys are up_to_576, 577_to_720, 721_to_1080, 1081_to_2159, 2160_plus and unknown, using the shorter pixel edge.",
      "type": "object"
    }
  },
  "required": [
    "assets_by_duration",
    "assets_by_codec",
    "assets_by_resolution"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsAssetValues
{
  "description": "Asset measurements for a creation-date cohort.",
  "properties": {
    "assets": {
      "$ref": "#/components/schemas/MetricsAssetCounts"
    },
    "outputs": {
      "$ref": "#/components/schemas/MetricsAssetOutputs"
    },
    "sources": {
      "$ref": "#/components/schemas/MetricsAssetSources"
    },
    "streaming": {
      "$ref": "#/components/schemas/MetricsAssetStreaming"
    },
    "timings": {
      "$ref": "#/components/schemas/MetricsAssetTimings"
    }
  },
  "required": [
    "assets",
    "timings",
    "outputs",
    "streaming",
    "sources"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsAssetOutputs
{
  "description": "Measured output sizes for completed Assets. Sample counts describe measurement coverage.",
  "properties": {
    "measured_asset_count": {
      "description": "MeasuredAssetCount specifies completed Assets with at least one measured rendition.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "static_bytes": {
      "description": "StaticBytes specifies the sum of measured ready static rendition sizes. Null when no measurements exist.",
      "format": "int64",
      "minimum": 0,
      "type": [
        "integer",
        "null"
      ]
    },
    "static_sample_count": {
      "description": "StaticSampleCount specifies ready static renditions with measured sizes.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "streaming_bytes": {
      "description": "StreamingBytes specifies the sum of measured streaming rendition sizes. Null when no measurements exist.",
      "format": "int64",
      "minimum": 0,
      "type": [
        "integer",
        "null"
      ]
    },
    "streaming_sample_count": {
      "description": "StreamingSampleCount specifies streaming renditions with measured sizes.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "streaming_bytes",
    "streaming_sample_count",
    "static_bytes",
    "static_sample_count",
    "measured_asset_count"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsAssetSources
{
  "description": "Source profiles count Assets, not unique Sources.",
  "properties": {
    "assets_by_codec": {
      "additionalProperties": {
        "description": "Count specifies the number of Assets in this category.",
        "format": "int64",
        "minimum": 0,
        "type": "integer"
      },
      "description": "AssetsByCodec specifies Asset counts by normalized source video codec, including unknown. All recorded codecs are returned.",
      "type": "object"
    },
    "assets_by_duration": {
      "additionalProperties": {
        "description": "Count specifies the number of Assets in this category.",
        "format": "int64",
        "minimum": 0,
        "type": "integer"
      },
      "description": "AssetsByDuration specifies Asset counts by source duration. Keys are under_1m, 1_to_5m, 5_to_10m, 10_to_30m, 30_to_60m, over_60m and unknown. Boundaries are 60, 300, 600, 1800 and 3600 seconds; exactly 3600 belongs to 30_to_60m.",
      "type": "object"
    },
    "assets_by_resolution": {
      "additionalProperties": {
        "description": "Count specifies the number of Assets in this category.",
        "format": "int64",
        "minimum": 0,
        "type": "integer"
      },
      "description": "AssetsByResolution specifies Asset counts by source resolution. Keys are up_to_576, 577_to_720, 721_to_1080, 1081_to_2159, 2160_plus and unknown, using the shorter pixel edge.",
      "type": "object"
    }
  },
  "required": [
    "assets_by_duration",
    "assets_by_codec",
    "assets_by_resolution"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsAssetStreaming
{
  "description": "Streaming output distribution on completed Assets.",
  "properties": {
    "asset_count": {
      "description": "AssetCount specifies completed Assets, including those with no streaming renditions.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "assets_by_highest_resolution": {
      "additionalProperties": {
        "description": "Count specifies the number of Assets in this category.",
        "format": "int64",
        "minimum": 0,
        "type": "integer"
      },
      "description": "AssetsByHighestResolution specifies counts by highest measured streaming resolution. Keys are up_to_576, 577_to_720, 721_to_1080, 1081_to_2159, 2160_plus and unknown, using the shorter pixel edge.",
      "type": "object"
    },
    "rendition_count": {
      "description": "RenditionCount specifies streaming renditions on completed Assets.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "renditions_per_asset": {
      "description": "RenditionsPerAsset specifies rendition_count divided by asset_count. Null when no completed Assets exist.",
      "minimum": 0,
      "type": [
        "number",
        "null"
      ]
    }
  },
  "required": [
    "rendition_count",
    "asset_count",
    "renditions_per_asset",
    "assets_by_highest_resolution"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsAssetTimings
{
  "description": "Lifecycle timing measurements. Period medians use all samples, not averages of daily medians.",
  "properties": {
    "completion_median_seconds": {
      "description": "CompletionMedianSeconds specifies the median elapsed time from creation to full readiness. Null when no samples exist.",
      "minimum": 0,
      "type": [
        "number",
        "null"
      ]
    },
    "completion_sample_count": {
      "description": "CompletionSampleCount specifies Assets with a full readiness measurement.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "playback_median_seconds": {
      "description": "PlaybackMedianSeconds specifies the median elapsed time from creation to playback readiness. Null when no samples exist.",
      "minimum": 0,
      "type": [
        "number",
        "null"
      ]
    },
    "playback_sample_count": {
      "description": "PlaybackSampleCount specifies Assets with a playback readiness measurement.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "playback_median_seconds",
    "playback_sample_count",
    "completion_median_seconds",
    "completion_sample_count"
  ],
  "type": "object"
}
```



```json #/components/schemas/MetricsAssetCounts
{
  "description": "Asset outcomes grouped by Asset creation date.",
  "properties": {
    "completed": {
      "description": "Completed specifies Assets with a recorded ready timestamp.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "failed": {
      "description": "Failed specifies retained Assets currently in failed status.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    },
    "processed_seconds": {
      "description": "ProcessedSeconds specifies measured media duration of completed Assets, preserving fractional seconds.",
      "minimum": 0,
      "type": "number"
    },
    "saved": {
      "description": "Saved specifies retained Assets created in the period.",
      "format": "int64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "saved",
    "completed",
    "failed",
    "processed_seconds"
  ],
  "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"
  ]
}
```



```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"
}
```