docs: auto-generate API route documentation

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Id0d1f9769b7ccdbf83d5fa78adef62e46a6a6964
This commit is contained in:
raf 2026-03-21 02:18:48 +03:00
commit 7a0a009ced
Signed by: NotAShelf
GPG key ID: 29D95B64378DB4BF
40 changed files with 17444 additions and 1 deletions

115
docs/api/streaming.md Normal file
View file

@ -0,0 +1,115 @@
# Streaming
HLS and DASH adaptive streaming
## Endpoints
### GET /api/v1/media/{id}/stream/dash/manifest.mpd
**Authentication:** Required (Bearer JWT)
#### Parameters
| Name | In | Required | Description |
|------|----|----------|-------------|
| `id` | path | Yes | Media item ID |
#### Responses
| Status | Description |
|--------|-------------|
| 200 | DASH manifest |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Not found |
---
### GET /api/v1/media/{id}/stream/dash/{profile}/{segment}
**Authentication:** Required (Bearer JWT)
#### Parameters
| Name | In | Required | Description |
|------|----|----------|-------------|
| `id` | path | Yes | Media item ID |
| `profile` | path | Yes | Transcode profile name |
| `segment` | path | Yes | Segment filename |
#### Responses
| Status | Description |
|--------|-------------|
| 200 | DASH segment data |
| 202 | Segment not yet available |
| 400 | Bad request |
| 401 | Unauthorized |
---
### GET /api/v1/media/{id}/stream/hls/master.m3u8
**Authentication:** Required (Bearer JWT)
#### Parameters
| Name | In | Required | Description |
|------|----|----------|-------------|
| `id` | path | Yes | Media item ID |
#### Responses
| Status | Description |
|--------|-------------|
| 200 | HLS master playlist |
| 401 | Unauthorized |
| 404 | Not found |
---
### GET /api/v1/media/{id}/stream/hls/{profile}/playlist.m3u8
**Authentication:** Required (Bearer JWT)
#### Parameters
| Name | In | Required | Description |
|------|----|----------|-------------|
| `id` | path | Yes | Media item ID |
| `profile` | path | Yes | Transcode profile name |
#### Responses
| Status | Description |
|--------|-------------|
| 200 | HLS variant playlist |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Not found |
---
### GET /api/v1/media/{id}/stream/hls/{profile}/{segment}
**Authentication:** Required (Bearer JWT)
#### Parameters
| Name | In | Required | Description |
|------|----|----------|-------------|
| `id` | path | Yes | Media item ID |
| `profile` | path | Yes | Transcode profile name |
| `segment` | path | Yes | Segment filename |
#### Responses
| Status | Description |
|--------|-------------|
| 200 | HLS segment data |
| 202 | Segment not yet available |
| 400 | Bad request |
| 401 | Unauthorized |
---