---
title: "Project Cdn Hourly"
method: GET
path: "/v1/projects/{project_id}/usage/cdn/hourly"
tags: ["reports"]
---

# Project Cdn Hourly

`GET /v1/projects/{project_id}/usage/cdn/hourly`

## Request

- Base URL: `https://api.sonenta.dev`
- URL: `https://api.sonenta.dev/v1/projects/{project_id}/usage/cdn/hourly`
- Auth: none declared

Trailing `hours` (default 24, max 168=7d) of per-HOUR CDN egress + requests
for THIS project (task 1584), for the /cdn overview 24h span. Zero-filled UTC
hours. EGRESS + REQUESTS only (storage stays a daily snapshot). Only ~last 3
days are populated (Bunny log retention); today refreshes hourly.

## Path parameters

- `project_id` string, required

## Query parameters

- `hours` integer

## Response `200`

Successful Response

- ProjectCdnHourlyOut
  - `project_uuid` string, required
  - `hours` integer, required
  - `points` ProjectCdnHourlyPoint[], required
    - `hour` string, required
    - `bytes_egress` integer, required
    - `egress_gb` number, required
    - `requests` integer, required

## Other responses

- `422`: Validation Error

---

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