---
title: "Get Upload Performance"
method: GET
path: "/v1/analytics/buckets/{bucket_id}/upload-performance"
tags: ["Analytics", "Analytics - Buckets"]
---

# Get Upload Performance

`GET /v1/analytics/buckets/{bucket_id}/upload-performance`

## Request

- Base URL: `https://api.mixpeek.com`
- URL: `https://api.mixpeek.com/v1/analytics/buckets/{bucket_id}/upload-performance`
- Auth: HTTP bearer and API key in header `X-Namespace`

Get upload performance metrics.

Analyzes upload operations including:
- Upload latency (P50, P95, P99)
- Throughput (MB/s)
- Error rates

**Use Cases:**
- Monitor upload performance
- Identify performance degradations
- Optimize upload strategies
- Debug upload issues

**Example:**
```bash
curl -X GET "https://api.mixpeek.com/v1/analytics/buckets/bkt_abc123/upload-performance?hours=24" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-Namespace: your-namespace"
```

## Path parameters

- `bucket_id` string, required

## Query parameters

- `hours` integer: Hours of history
- `group_by` string: Time grouping: hour, day

## Response `200`

Successful Response

- UploadPerformanceResponse: Upload performance analytics response.
  - `bucket_id` string, required: Bucket identifier
  - `time_range` ApiAnalyticsBucketsModelsTimeRange, required: Time range for analytics queries.
    - `start` string, date-time, required: Start of time range
    - `end` string, date-time, required: End of time range
  - `metrics` UploadPerformanceMetric[], required: Upload performance metrics
    - `time_bucket` string, date-time, required: Time bucket timestamp
    - `upload_count` integer, required: Number of uploads
    - `avg_latency_ms` number, required: Average upload latency
    - `p95_latency_ms` number, required: 95th percentile latency
    - `p99_latency_ms` number, required: 99th percentile latency
    - `avg_throughput_mbps` number, required: Average throughput in MB/s
    - `error_rate` number, required: Error rate (0-1)
  - `summary` object: Summary statistics

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `422`: Unprocessable Entity
- `429`: Too Many Requests
- `500`: Internal Server Error
- `503`: Service Unavailable

## Changes

- **2026-10-09** `61a175e8eb9a`: 1 warning, 5 info
  - removed the optional property `detail` from the response with the `422` status
  - added the non-success response with the status `429`
  - added the non-success response with the status `503`
  - added the optional property `success` to the response with the `422` status
  - …2 more
- **2026-08-09** `5d4c905106b4`: 1 info
  - the endpoint scheme security `BearerAuth AND NamespaceHeader` was added to the API

[Operation history](https://skmtc.dev/mixpeek/apis/mixpeek-api/changes/v1/analytics/buckets/:bucket_id/upload-performance/get.md)

---

[API](https://skmtc.dev/mixpeek/apis/mixpeek-api.md) - [All operations](https://skmtc.dev/mixpeek/apis/mixpeek-api/llms.txt) - [OpenAPI document](https://skmtc.dev/mixpeek/apis/mixpeek-api/revisions/790bc16455f6?raw)
