nix: set up project-wide formatter
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I4806c58aa0a17f504c9312723ad770166a6a6964
This commit is contained in:
parent
aa9c55277c
commit
9e5eb41d39
78 changed files with 7406 additions and 2504 deletions
85
docs/api/analytics.md
vendored
85
docs/api/analytics.md
vendored
|
|
@ -16,11 +16,11 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Event recorded |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Event recorded |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -30,18 +30,18 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `limit` | query | No | Maximum number of results |
|
||||
| `offset` | query | No | Pagination offset |
|
||||
| Name | In | Required | Description |
|
||||
| -------- | ----- | -------- | ------------------------- |
|
||||
| `limit` | query | No | Maximum number of results |
|
||||
| `offset` | query | No | Pagination offset |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Most viewed media |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Most viewed media |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -51,18 +51,18 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `limit` | query | No | Maximum number of results |
|
||||
| `offset` | query | No | Pagination offset |
|
||||
| Name | In | Required | Description |
|
||||
| -------- | ----- | -------- | ------------------------- |
|
||||
| `limit` | query | No | Maximum number of results |
|
||||
| `offset` | query | No | Pagination offset |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Recently viewed media |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Recently viewed media |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -72,18 +72,18 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Watch progress |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Watch progress |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -93,9 +93,9 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -105,13 +105,12 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Progress updated |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Progress updated |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
19
docs/api/audit.md
vendored
19
docs/api/audit.md
vendored
|
|
@ -10,18 +10,17 @@ Audit log entries
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `offset` | query | No | Pagination offset |
|
||||
| `limit` | query | No | Page size |
|
||||
| Name | In | Required | Description |
|
||||
| -------- | ----- | -------- | ----------------- |
|
||||
| `offset` | query | No | Pagination offset |
|
||||
| `limit` | query | No | Page size |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Audit log entries |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Audit log entries |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
68
docs/api/auth.md
vendored
68
docs/api/auth.md
vendored
|
|
@ -16,12 +16,12 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Login successful |
|
||||
| 400 | Bad request |
|
||||
| 401 | Invalid credentials |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Login successful |
|
||||
| 400 | Bad request |
|
||||
| 401 | Invalid credentials |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -31,11 +31,11 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Logged out |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Logged out |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -45,28 +45,27 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Current user info |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Current user info |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
### POST /api/v1/auth/refresh
|
||||
|
||||
Refresh the current session, extending its expiry by the configured
|
||||
duration.
|
||||
Refresh the current session, extending its expiry by the configured duration.
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Session refreshed |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Session refreshed |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -78,11 +77,11 @@ Revoke all sessions for the current user
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | All sessions revoked |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | All sessions revoked |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -92,12 +91,11 @@ Revoke all sessions for the current user
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Active sessions |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Active sessions |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
21
docs/api/backup.md
vendored
21
docs/api/backup.md
vendored
|
|
@ -6,22 +6,21 @@ Database backup
|
|||
|
||||
### POST /api/v1/admin/backup
|
||||
|
||||
Create a database backup and return it as a downloadable file.
|
||||
POST /api/v1/admin/backup
|
||||
Create a database backup and return it as a downloadable file. POST
|
||||
/api/v1/admin/backup
|
||||
|
||||
For `SQLite`: creates a backup via VACUUM INTO and returns the file.
|
||||
For `PostgreSQL`: returns unsupported error (use `pg_dump` instead).
|
||||
For `SQLite`: creates a backup via VACUUM INTO and returns the file. For
|
||||
`PostgreSQL`: returns unsupported error (use `pg_dump` instead).
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Backup file download |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Backup file download |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
147
docs/api/books.md
vendored
147
docs/api/books.md
vendored
|
|
@ -12,23 +12,23 @@ List all books with optional search filters
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `isbn` | query | No | Filter by ISBN |
|
||||
| `author` | query | No | Filter by author |
|
||||
| `series` | query | No | Filter by series |
|
||||
| `publisher` | query | No | Filter by publisher |
|
||||
| `language` | query | No | Filter by language |
|
||||
| `offset` | query | No | Pagination offset |
|
||||
| `limit` | query | No | Pagination limit |
|
||||
| Name | In | Required | Description |
|
||||
| ----------- | ----- | -------- | ------------------- |
|
||||
| `isbn` | query | No | Filter by ISBN |
|
||||
| `author` | query | No | Filter by author |
|
||||
| `series` | query | No | Filter by series |
|
||||
| `publisher` | query | No | Filter by publisher |
|
||||
| `language` | query | No | Filter by language |
|
||||
| `offset` | query | No | Pagination offset |
|
||||
| `limit` | query | No | Pagination limit |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | List of books |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | List of books |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -40,17 +40,17 @@ List all authors with book counts
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `offset` | query | No | Pagination offset |
|
||||
| `limit` | query | No | Pagination limit |
|
||||
| Name | In | Required | Description |
|
||||
| -------- | ----- | -------- | ----------------- |
|
||||
| `offset` | query | No | Pagination offset |
|
||||
| `limit` | query | No | Pagination limit |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Authors with book counts |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | ------------------------ |
|
||||
| 200 | Authors with book counts |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -62,18 +62,18 @@ Get books by a specific author
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `name` | path | Yes | Author name |
|
||||
| `offset` | query | No | Pagination offset |
|
||||
| `limit` | query | No | Pagination limit |
|
||||
| Name | In | Required | Description |
|
||||
| -------- | ----- | -------- | ----------------- |
|
||||
| `name` | path | Yes | Author name |
|
||||
| `offset` | query | No | Pagination offset |
|
||||
| `limit` | query | No | Pagination limit |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Books by author |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | --------------- |
|
||||
| 200 | Books by author |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -85,16 +85,16 @@ Get user's reading list
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `status` | query | No | Filter by reading status |
|
||||
| Name | In | Required | Description |
|
||||
| -------- | ----- | -------- | ------------------------ |
|
||||
| `status` | query | No | Filter by reading status |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Reading list |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | ------------ |
|
||||
| 200 | Reading list |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -106,10 +106,10 @@ List all series with book counts
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | List of series with counts |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | -------------------------- |
|
||||
| 200 | List of series with counts |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -121,16 +121,16 @@ Get books in a specific series
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `name` | path | Yes | Series name |
|
||||
| Name | In | Required | Description |
|
||||
| ------ | ---- | -------- | ----------- |
|
||||
| `name` | path | Yes | Series name |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Books in series |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | --------------- |
|
||||
| 200 | Books in series |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -142,17 +142,17 @@ Get book metadata by media ID
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Book metadata |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ------------- |
|
||||
| 200 | Book metadata |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -164,17 +164,17 @@ Get reading progress for a book
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Reading progress |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ---------------- |
|
||||
| 200 | Reading progress |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -186,9 +186,9 @@ Update reading progress for a book
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -198,11 +198,10 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 204 | Progress updated |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | ---------------- |
|
||||
| 204 | Progress updated |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
123
docs/api/collections.md
vendored
123
docs/api/collections.md
vendored
|
|
@ -10,11 +10,11 @@ Media collections
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | List of collections |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | List of collections |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -30,13 +30,13 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Collection created |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Collection created |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -46,18 +46,18 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Collection ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Collection ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Collection |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Collection |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -67,19 +67,19 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Collection ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Collection ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Collection deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Collection deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -89,18 +89,18 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Collection ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Collection ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Collection members |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Collection members |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -110,9 +110,9 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Collection ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Collection ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -122,13 +122,13 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Member added |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Member added |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -138,20 +138,19 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Collection ID |
|
||||
| `media_id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---------- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Collection ID |
|
||||
| `media_id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Member removed |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Member removed |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
73
docs/api/config.md
vendored
73
docs/api/config.md
vendored
|
|
@ -10,12 +10,12 @@ Server configuration
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Current server configuration |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | ---------------------------- |
|
||||
| 200 | Current server configuration |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -31,13 +31,13 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Updated configuration |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Updated configuration |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -53,12 +53,12 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Updated configuration |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Updated configuration |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -74,12 +74,12 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Updated configuration |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Updated configuration |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -89,11 +89,11 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | UI configuration |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | UI configuration |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -109,12 +109,11 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Updated UI configuration |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | ------------------------ |
|
||||
| 200 | Updated UI configuration |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
37
docs/api/database.md
vendored
37
docs/api/database.md
vendored
|
|
@ -10,12 +10,12 @@ Database administration
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Database cleared |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Database cleared |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -25,12 +25,12 @@ Database administration
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Database statistics |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Database statistics |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -40,12 +40,11 @@ Database administration
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Database vacuumed |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Database vacuumed |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
11
docs/api/duplicates.md
vendored
11
docs/api/duplicates.md
vendored
|
|
@ -10,11 +10,10 @@ Duplicate media detection
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Duplicate groups |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Duplicate groups |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
53
docs/api/enrichment.md
vendored
53
docs/api/enrichment.md
vendored
|
|
@ -16,13 +16,13 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Enrichment job submitted |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | ------------------------ |
|
||||
| 200 | Enrichment job submitted |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -32,19 +32,19 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Enrichment job submitted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | ------------------------ |
|
||||
| 200 | Enrichment job submitted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -54,18 +54,17 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | External metadata |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | External metadata |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
25
docs/api/export.md
vendored
25
docs/api/export.md
vendored
|
|
@ -10,12 +10,12 @@ Media library export
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Export job submitted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Export job submitted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -31,12 +31,11 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Export job submitted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Export job submitted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
35
docs/api/health.md
vendored
35
docs/api/health.md
vendored
|
|
@ -12,9 +12,9 @@ Comprehensive health check - includes database, filesystem, and cache status
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Health status |
|
||||
| Status | Description |
|
||||
| ------ | ------------- |
|
||||
| 200 | Health status |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -24,40 +24,39 @@ Comprehensive health check - includes database, filesystem, and cache status
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Detailed health status |
|
||||
| Status | Description |
|
||||
| ------ | ---------------------- |
|
||||
| 200 | Detailed health status |
|
||||
|
||||
---
|
||||
|
||||
### GET /api/v1/health/live
|
||||
|
||||
Liveness probe - just checks if the server is running
|
||||
Returns 200 OK if the server process is alive
|
||||
Liveness probe - just checks if the server is running Returns 200 OK if the
|
||||
server process is alive
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Server is alive |
|
||||
| Status | Description |
|
||||
| ------ | --------------- |
|
||||
| 200 | Server is alive |
|
||||
|
||||
---
|
||||
|
||||
### GET /api/v1/health/ready
|
||||
|
||||
Readiness probe - checks if the server can serve requests
|
||||
Returns 200 OK if database is accessible
|
||||
Readiness probe - checks if the server can serve requests Returns 200 OK if
|
||||
database is accessible
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Server is ready |
|
||||
| 503 | Server not ready |
|
||||
| Status | Description |
|
||||
| ------ | ---------------- |
|
||||
| 200 | Server is ready |
|
||||
| 503 | Server not ready |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
61
docs/api/integrity.md
vendored
61
docs/api/integrity.md
vendored
|
|
@ -10,12 +10,12 @@ Library integrity checks and repairs
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Orphan detection job submitted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | ------------------------------ |
|
||||
| 200 | Orphan detection job submitted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -31,12 +31,12 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Orphans resolved |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Orphans resolved |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -46,12 +46,12 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Thumbnail cleanup job submitted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | ------------------------------- |
|
||||
| 200 | Thumbnail cleanup job submitted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -67,12 +67,12 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Thumbnail generation job submitted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | ---------------------------------- |
|
||||
| 200 | Thumbnail generation job submitted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -88,12 +88,11 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Integrity verification job submitted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | ------------------------------------ |
|
||||
| 200 | Integrity verification job submitted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
47
docs/api/jobs.md
vendored
47
docs/api/jobs.md
vendored
|
|
@ -10,11 +10,11 @@ Background job management
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | List of jobs |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| Status | Description |
|
||||
| ------ | ------------ |
|
||||
| 200 | List of jobs |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -24,18 +24,18 @@ Background job management
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Job ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Job ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Job details |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ------------ |
|
||||
| 200 | Job details |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -45,18 +45,17 @@ Background job management
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Job ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Job ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Job cancelled |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ------------- |
|
||||
| 200 | Job cancelled |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
489
docs/api/media.md
vendored
489
docs/api/media.md
vendored
|
|
@ -10,19 +10,19 @@ Media item management
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `offset` | query | No | Pagination offset |
|
||||
| `limit` | query | No | Page size |
|
||||
| `sort` | query | No | Sort field |
|
||||
| Name | In | Required | Description |
|
||||
| -------- | ----- | -------- | ----------------- |
|
||||
| `offset` | query | No | Pagination offset |
|
||||
| `limit` | query | No | Page size |
|
||||
| `sort` | query | No | Sort field |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | List of media items |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | List of media items |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -32,12 +32,12 @@ Media item management
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | All media deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | All media deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -53,13 +53,13 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Batch collection result |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | ----------------------- |
|
||||
| 200 | Batch collection result |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -75,13 +75,13 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Batch delete result |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Batch delete result |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -97,13 +97,13 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Batch move result |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Batch move result |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -119,13 +119,13 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Batch tag result |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Batch tag result |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -141,13 +141,13 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Batch update result |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Batch update result |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -157,11 +157,11 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Media count |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Media count |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -177,13 +177,13 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Media imported |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Media imported |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -199,13 +199,13 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Batch import results |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Batch import results |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -221,13 +221,13 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Directory import results |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | ------------------------ |
|
||||
| 200 | Directory import results |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -243,13 +243,13 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Media imported |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Media imported |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -265,13 +265,13 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Directory preview |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Directory preview |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -281,18 +281,18 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `offset` | query | No | Pagination offset |
|
||||
| `limit` | query | No | Page size |
|
||||
| Name | In | Required | Description |
|
||||
| -------- | ----- | -------- | ----------------- |
|
||||
| `offset` | query | No | Pagination offset |
|
||||
| `limit` | query | No | Page size |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Trashed media items |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Trashed media items |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -302,12 +302,12 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Trash emptied |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Trash emptied |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -317,11 +317,11 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Trash info |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Trash info |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -331,18 +331,18 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Media item |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Media item |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -352,9 +352,9 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -364,14 +364,14 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Updated media item |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Updated media item |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -381,19 +381,19 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Media deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Media deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -403,9 +403,9 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -415,14 +415,14 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Custom field set |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Custom field set |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -432,20 +432,20 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| `name` | path | Yes | Custom field name |
|
||||
| Name | In | Required | Description |
|
||||
| ------ | ---- | -------- | ----------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| `name` | path | Yes | Custom field name |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Custom field deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Custom field deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -455,9 +455,9 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -467,14 +467,14 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Moved media item |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Moved media item |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -484,18 +484,18 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Media opened |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Media opened |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -505,20 +505,20 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| `permanent` | query | No | Set to 'true' for permanent deletion |
|
||||
| Name | In | Required | Description |
|
||||
| ----------- | ----- | -------- | ------------------------------------ |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| `permanent` | query | No | Set to 'true' for permanent deletion |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Media deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Media deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -528,9 +528,9 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -540,14 +540,14 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Renamed media item |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Renamed media item |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -557,19 +557,19 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Media restored |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Media restored |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -579,19 +579,19 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Media stream |
|
||||
| 206 | Partial content |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Media stream |
|
||||
| 206 | Partial content |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -601,18 +601,18 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Thumbnail image |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Thumbnail image |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -622,19 +622,18 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Media moved to trash |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Media moved to trash |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
93
docs/api/notes.md
vendored
93
docs/api/notes.md
vendored
|
|
@ -14,18 +14,18 @@ GET /api/v1/media/{id}/backlinks
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Backlinks |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Backlinks |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -39,18 +39,18 @@ GET /api/v1/media/{id}/outgoing-links
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Outgoing links |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Outgoing links |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -64,18 +64,18 @@ POST /api/v1/media/{id}/reindex-links
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Links reindexed |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Links reindexed |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -89,18 +89,18 @@ GET /api/v1/notes/graph?center={uuid}&depth={n}
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `center` | query | No | Center node ID |
|
||||
| `depth` | query | No | Traversal depth (max 5, default 2) |
|
||||
| Name | In | Required | Description |
|
||||
| -------- | ----- | -------- | ---------------------------------- |
|
||||
| `center` | query | No | Center node ID |
|
||||
| `depth` | query | No | Traversal depth (max 5, default 2) |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Graph data |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Graph data |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -114,11 +114,11 @@ POST /api/v1/notes/resolve-links
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Links resolved |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Links resolved |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -132,11 +132,10 @@ GET /api/v1/notes/unresolved-count
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Unresolved link count |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Unresolved link count |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
47
docs/api/photos.md
vendored
47
docs/api/photos.md
vendored
|
|
@ -12,21 +12,21 @@ Get photos in a bounding box for map view
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `lat1` | query | Yes | Bounding box latitude 1 |
|
||||
| `lon1` | query | Yes | Bounding box longitude 1 |
|
||||
| `lat2` | query | Yes | Bounding box latitude 2 |
|
||||
| `lon2` | query | Yes | Bounding box longitude 2 |
|
||||
| Name | In | Required | Description |
|
||||
| ------ | ----- | -------- | ------------------------ |
|
||||
| `lat1` | query | Yes | Bounding box latitude 1 |
|
||||
| `lon1` | query | Yes | Bounding box longitude 1 |
|
||||
| `lat2` | query | Yes | Bounding box latitude 2 |
|
||||
| `lon2` | query | Yes | Bounding box longitude 2 |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Map markers |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Map markers |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -38,20 +38,19 @@ Get timeline of photos grouped by date
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `group_by` | query | No | Grouping: day, month, year |
|
||||
| `year` | query | No | Filter by year |
|
||||
| `month` | query | No | Filter by month |
|
||||
| `limit` | query | No | Max items (default 10000) |
|
||||
| Name | In | Required | Description |
|
||||
| ---------- | ----- | -------- | -------------------------- |
|
||||
| `group_by` | query | No | Grouping: day, month, year |
|
||||
| `year` | query | No | Filter by year |
|
||||
| `month` | query | No | Filter by month |
|
||||
| `limit` | query | No | Max items (default 10000) |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Photo timeline groups |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Photo timeline groups |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
171
docs/api/playlists.md
vendored
171
docs/api/playlists.md
vendored
|
|
@ -10,11 +10,11 @@ Media playlists
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | List of playlists |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | List of playlists |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -30,12 +30,12 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Playlist created |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Playlist created |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -45,18 +45,18 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Playlist ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Playlist ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Playlist details |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ---------------- |
|
||||
| 200 | Playlist details |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -66,9 +66,9 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Playlist ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Playlist ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -78,13 +78,13 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Playlist updated |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ---------------- |
|
||||
| 200 | Playlist updated |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -94,18 +94,18 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Playlist ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Playlist ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Playlist deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ---------------- |
|
||||
| 200 | Playlist deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -115,18 +115,18 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Playlist ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Playlist ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Playlist items |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | -------------- |
|
||||
| 200 | Playlist items |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -136,9 +136,9 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Playlist ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Playlist ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -148,12 +148,12 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Item added |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ------------ |
|
||||
| 200 | Item added |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -163,9 +163,9 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Playlist ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Playlist ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -175,12 +175,12 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Item reordered |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | -------------- |
|
||||
| 200 | Item reordered |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -190,19 +190,19 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Playlist ID |
|
||||
| `media_id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---------- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Playlist ID |
|
||||
| `media_id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Item removed |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ------------ |
|
||||
| 200 | Item removed |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -212,18 +212,17 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Playlist ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Playlist ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Shuffled playlist items |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ----------------------- |
|
||||
| 200 | Shuffled playlist items |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
125
docs/api/plugins.md
vendored
125
docs/api/plugins.md
vendored
|
|
@ -12,11 +12,11 @@ List all installed plugins
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | List of plugins |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | List of plugins |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -34,12 +34,12 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Plugin installed |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| Status | Description |
|
||||
| ------ | ---------------- |
|
||||
| 200 | Plugin installed |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -58,10 +58,10 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Event received |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | -------------- |
|
||||
| 200 | Event received |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -73,10 +73,10 @@ List all UI pages provided by loaded plugins
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Plugin UI pages |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | --------------- |
|
||||
| 200 | Plugin UI pages |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -88,10 +88,10 @@ List merged CSS custom property overrides from all enabled plugins
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Plugin UI theme extensions |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | -------------------------- |
|
||||
| 200 | Plugin UI theme extensions |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -103,10 +103,10 @@ List all UI widgets provided by loaded plugins
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Plugin UI widgets |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | ----------------- |
|
||||
| 200 | Plugin UI widgets |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -118,17 +118,17 @@ Get a specific plugin by ID
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Plugin ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Plugin ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Plugin details |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | -------------- |
|
||||
| 200 | Plugin details |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -140,18 +140,18 @@ Uninstall a plugin
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Plugin ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Plugin ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Plugin uninstalled |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ------------------ |
|
||||
| 200 | Plugin uninstalled |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -163,18 +163,18 @@ Reload a plugin (for development)
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Plugin ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Plugin ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Plugin reloaded |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | --------------- |
|
||||
| 200 | Plugin reloaded |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -186,9 +186,9 @@ Enable or disable a plugin
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Plugin ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Plugin ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -198,12 +198,11 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Plugin toggled |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | -------------- |
|
||||
| 200 | Plugin toggled |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
41
docs/api/saved_searches.md
vendored
41
docs/api/saved_searches.md
vendored
|
|
@ -10,11 +10,11 @@ Saved search queries
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | List of saved searches |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | ---------------------- |
|
||||
| 200 | List of saved searches |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -30,12 +30,12 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Search saved |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Search saved |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -45,18 +45,17 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Saved search ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | --------------- |
|
||||
| `id` | path | Yes | Saved search ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Saved search deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Saved search deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
21
docs/api/scan.md
vendored
21
docs/api/scan.md
vendored
|
|
@ -18,12 +18,12 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Scan job submitted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Scan job submitted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -33,10 +33,9 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Scan status |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | ------------ |
|
||||
| 200 | Scan status |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
47
docs/api/scheduled_tasks.md
vendored
47
docs/api/scheduled_tasks.md
vendored
|
|
@ -10,11 +10,11 @@ Scheduled background tasks
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | List of scheduled tasks |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| Status | Description |
|
||||
| ------ | ----------------------- |
|
||||
| 200 | List of scheduled tasks |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -24,18 +24,18 @@ Scheduled background tasks
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Task ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Task ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Task triggered |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | -------------- |
|
||||
| 200 | Task triggered |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -45,18 +45,17 @@ Scheduled background tasks
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Task ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Task ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Task toggled |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ------------ |
|
||||
| 200 | Task toggled |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
37
docs/api/search.md
vendored
37
docs/api/search.md
vendored
|
|
@ -10,21 +10,21 @@ Full-text media search
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `q` | query | Yes | Search query |
|
||||
| `sort` | query | No | Sort order |
|
||||
| `offset` | query | No | Pagination offset |
|
||||
| `limit` | query | No | Pagination limit |
|
||||
| Name | In | Required | Description |
|
||||
| -------- | ----- | -------- | ----------------- |
|
||||
| `q` | query | Yes | Search query |
|
||||
| `sort` | query | No | Sort order |
|
||||
| `offset` | query | No | Pagination offset |
|
||||
| `limit` | query | No | Pagination limit |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Search results |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Search results |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -40,12 +40,11 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Search results |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Search results |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
217
docs/api/shares.md
vendored
217
docs/api/shares.md
vendored
|
|
@ -6,86 +6,81 @@ Media sharing and notifications
|
|||
|
||||
### GET /api/v1/notifications/shares
|
||||
|
||||
Get unread share notifications
|
||||
GET /api/notifications/shares
|
||||
Get unread share notifications GET /api/notifications/shares
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Unread notifications |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | -------------------- |
|
||||
| 200 | Unread notifications |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
### POST /api/v1/notifications/shares/read-all
|
||||
|
||||
Mark all notifications as read
|
||||
POST /api/notifications/shares/read-all
|
||||
Mark all notifications as read POST /api/notifications/shares/read-all
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | All notifications marked as read |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | -------------------------------- |
|
||||
| 200 | All notifications marked as read |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
### POST /api/v1/notifications/shares/{id}/read
|
||||
|
||||
Mark a notification as read
|
||||
POST /api/notifications/shares/{id}/read
|
||||
Mark a notification as read POST /api/notifications/shares/{id}/read
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Notification ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | --------------- |
|
||||
| `id` | path | Yes | Notification ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Notification marked as read |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | --------------------------- |
|
||||
| 200 | Notification marked as read |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
### GET /api/v1/shared/{token}
|
||||
|
||||
Access a public shared resource
|
||||
GET /api/shared/{token}
|
||||
Access a public shared resource GET /api/shared/{token}
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `token` | path | Yes | Share token |
|
||||
| `password` | query | No | Share password if required |
|
||||
| Name | In | Required | Description |
|
||||
| ---------- | ----- | -------- | -------------------------- |
|
||||
| `token` | path | Yes | Share token |
|
||||
| `password` | query | No | Share password if required |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Shared content |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | -------------- |
|
||||
| 200 | Shared content |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
### POST /api/v1/shares
|
||||
|
||||
Create a new share
|
||||
POST /api/shares
|
||||
Create a new share POST /api/shares
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
|
|
@ -97,19 +92,18 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Share created |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Share created |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
### POST /api/v1/shares/batch/delete
|
||||
|
||||
Batch delete shares
|
||||
POST /api/shares/batch/delete
|
||||
Batch delete shares POST /api/shares/batch/delete
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
|
|
@ -121,97 +115,93 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Shares deleted |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| Status | Description |
|
||||
| ------ | -------------- |
|
||||
| 200 | Shares deleted |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
|
||||
---
|
||||
|
||||
### GET /api/v1/shares/incoming
|
||||
|
||||
List incoming shares (shares shared with me)
|
||||
GET /api/shares/incoming
|
||||
List incoming shares (shares shared with me) GET /api/shares/incoming
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `offset` | query | No | Pagination offset |
|
||||
| `limit` | query | No | Pagination limit |
|
||||
| Name | In | Required | Description |
|
||||
| -------- | ----- | -------- | ----------------- |
|
||||
| `offset` | query | No | Pagination offset |
|
||||
| `limit` | query | No | Pagination limit |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Incoming shares |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | --------------- |
|
||||
| 200 | Incoming shares |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
### GET /api/v1/shares/outgoing
|
||||
|
||||
List outgoing shares (shares I created)
|
||||
GET /api/shares/outgoing
|
||||
List outgoing shares (shares I created) GET /api/shares/outgoing
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `offset` | query | No | Pagination offset |
|
||||
| `limit` | query | No | Pagination limit |
|
||||
| Name | In | Required | Description |
|
||||
| -------- | ----- | -------- | ----------------- |
|
||||
| `offset` | query | No | Pagination offset |
|
||||
| `limit` | query | No | Pagination limit |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Outgoing shares |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | --------------- |
|
||||
| 200 | Outgoing shares |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
### GET /api/v1/shares/{id}
|
||||
|
||||
Get share details
|
||||
GET /api/shares/{id}
|
||||
Get share details GET /api/shares/{id}
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Share ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Share ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Share details |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ------------- |
|
||||
| 200 | Share details |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
### PATCH /api/v1/shares/{id}
|
||||
|
||||
Update a share
|
||||
PATCH /api/shares/{id}
|
||||
Update a share PATCH /api/shares/{id}
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Share ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Share ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -221,62 +211,59 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Share updated |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ------------- |
|
||||
| 200 | Share updated |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
### DELETE /api/v1/shares/{id}
|
||||
|
||||
Delete (revoke) a share
|
||||
DELETE /api/shares/{id}
|
||||
Delete (revoke) a share DELETE /api/shares/{id}
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Share ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Share ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 204 | Share deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ------------- |
|
||||
| 204 | Share deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
### GET /api/v1/shares/{id}/activity
|
||||
|
||||
Get share activity log
|
||||
GET /api/shares/{id}/activity
|
||||
Get share activity log GET /api/shares/{id}/activity
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Share ID |
|
||||
| `offset` | query | No | Pagination offset |
|
||||
| `limit` | query | No | Pagination limit |
|
||||
| Name | In | Required | Description |
|
||||
| -------- | ----- | -------- | ----------------- |
|
||||
| `id` | path | Yes | Share ID |
|
||||
| `offset` | query | No | Pagination offset |
|
||||
| `limit` | query | No | Pagination limit |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Share activity |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | -------------- |
|
||||
| 200 | Share activity |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
135
docs/api/social.md
vendored
135
docs/api/social.md
vendored
|
|
@ -10,11 +10,11 @@ Ratings, comments, favorites, and share links
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | User favorites |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | User favorites |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -30,11 +30,11 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Added to favorites |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Added to favorites |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -44,17 +44,17 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `media_id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---------- | ---- | -------- | ------------- |
|
||||
| `media_id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Removed from favorites |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | ---------------------- |
|
||||
| 200 | Removed from favorites |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -70,12 +70,12 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Share link created |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Share link created |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -85,17 +85,17 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Media comments |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Media comments |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -105,9 +105,9 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -117,12 +117,12 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Comment added |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Comment added |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -132,9 +132,9 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -144,12 +144,12 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Rating saved |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Rating saved |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -159,17 +159,17 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Media ratings |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Media ratings |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -179,18 +179,17 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `token` | path | Yes | Share token |
|
||||
| `password` | query | No | Share password |
|
||||
| Name | In | Required | Description |
|
||||
| ---------- | ----- | -------- | -------------- |
|
||||
| `token` | path | Yes | Share token |
|
||||
| `password` | query | No | Share password |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Shared media |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ------------ |
|
||||
| 200 | Shared media |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
11
docs/api/statistics.md
vendored
11
docs/api/statistics.md
vendored
|
|
@ -10,11 +10,10 @@ Library statistics
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Library statistics |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Library statistics |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
99
docs/api/streaming.md
vendored
99
docs/api/streaming.md
vendored
|
|
@ -10,18 +10,18 @@ HLS and DASH adaptive streaming
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | DASH manifest |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ------------- |
|
||||
| 200 | DASH manifest |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -31,20 +31,20 @@ HLS and DASH adaptive streaming
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| `profile` | path | Yes | Transcode profile name |
|
||||
| `segment` | path | Yes | Segment filename |
|
||||
| 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 |
|
||||
| Status | Description |
|
||||
| ------ | ------------------------- |
|
||||
| 200 | DASH segment data |
|
||||
| 202 | Segment not yet available |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -54,17 +54,17 @@ HLS and DASH adaptive streaming
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | HLS master playlist |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ------------------- |
|
||||
| 200 | HLS master playlist |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -74,19 +74,19 @@ HLS and DASH adaptive streaming
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| `profile` | path | Yes | Transcode profile name |
|
||||
| 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 |
|
||||
| Status | Description |
|
||||
| ------ | -------------------- |
|
||||
| 200 | HLS variant playlist |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -96,20 +96,19 @@ HLS and DASH adaptive streaming
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| `profile` | path | Yes | Transcode profile name |
|
||||
| `segment` | path | Yes | Segment filename |
|
||||
| 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 |
|
||||
| Status | Description |
|
||||
| ------ | ------------------------- |
|
||||
| 200 | HLS segment data |
|
||||
| 202 | Segment not yet available |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
85
docs/api/subtitles.md
vendored
85
docs/api/subtitles.md
vendored
|
|
@ -10,17 +10,17 @@ Media subtitle management
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Subtitles |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ------------ |
|
||||
| 200 | Subtitles |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -30,9 +30,9 @@ Media subtitle management
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -42,12 +42,12 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Subtitle added |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Subtitle added |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -57,18 +57,18 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `media_id` | path | Yes | Media item ID |
|
||||
| `subtitle_id` | path | Yes | Subtitle ID |
|
||||
| Name | In | Required | Description |
|
||||
| ------------- | ---- | -------- | ------------- |
|
||||
| `media_id` | path | Yes | Media item ID |
|
||||
| `subtitle_id` | path | Yes | Subtitle ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Subtitle content |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ---------------- |
|
||||
| 200 | Subtitle content |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -78,17 +78,17 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Subtitle ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Subtitle ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Subtitle deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ---------------- |
|
||||
| 200 | Subtitle deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -98,9 +98,9 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Subtitle ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Subtitle ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -110,11 +110,10 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Offset updated |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | -------------- |
|
||||
| 200 | Offset updated |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
307
docs/api/sync.md
vendored
307
docs/api/sync.md
vendored
|
|
@ -6,8 +6,7 @@ Multi-device library synchronization
|
|||
|
||||
### POST /api/v1/sync/ack
|
||||
|
||||
Acknowledge processed changes
|
||||
POST /api/sync/ack
|
||||
Acknowledge processed changes POST /api/sync/ack
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
|
|
@ -19,66 +18,63 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Changes acknowledged |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | -------------------- |
|
||||
| 200 | Changes acknowledged |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
### GET /api/v1/sync/changes
|
||||
|
||||
Get changes since cursor
|
||||
GET /api/sync/changes
|
||||
Get changes since cursor GET /api/sync/changes
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `cursor` | query | No | Sync cursor |
|
||||
| `limit` | query | No | Max changes (max 1000) |
|
||||
| Name | In | Required | Description |
|
||||
| -------- | ----- | -------- | ---------------------- |
|
||||
| `cursor` | query | No | Sync cursor |
|
||||
| `limit` | query | No | Max changes (max 1000) |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Changes since cursor |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | -------------------- |
|
||||
| 200 | Changes since cursor |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
### GET /api/v1/sync/conflicts
|
||||
|
||||
List unresolved conflicts
|
||||
GET /api/sync/conflicts
|
||||
List unresolved conflicts GET /api/sync/conflicts
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Unresolved conflicts |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | -------------------- |
|
||||
| 200 | Unresolved conflicts |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
### POST /api/v1/sync/conflicts/{id}/resolve
|
||||
|
||||
Resolve a sync conflict
|
||||
POST /api/sync/conflicts/{id}/resolve
|
||||
Resolve a sync conflict POST /api/sync/conflicts/{id}/resolve
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Conflict ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Conflict ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -88,34 +84,32 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Conflict resolved |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | ----------------- |
|
||||
| 200 | Conflict resolved |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
### GET /api/v1/sync/devices
|
||||
|
||||
List user's sync devices
|
||||
GET /api/sync/devices
|
||||
List user's sync devices GET /api/sync/devices
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | List of devices |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | --------------- |
|
||||
| 200 | List of devices |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
### POST /api/v1/sync/devices
|
||||
|
||||
Register a new sync device
|
||||
POST /api/sync/devices
|
||||
Register a new sync device POST /api/sync/devices
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
|
|
@ -127,51 +121,49 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Device registered |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Device registered |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
### GET /api/v1/sync/devices/{id}
|
||||
|
||||
Get device details
|
||||
GET /api/sync/devices/{id}
|
||||
Get device details GET /api/sync/devices/{id}
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Device ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Device ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Device details |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | -------------- |
|
||||
| 200 | Device details |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
### PUT /api/v1/sync/devices/{id}
|
||||
|
||||
Update a device
|
||||
PUT /api/sync/devices/{id}
|
||||
Update a device PUT /api/sync/devices/{id}
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Device ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Device ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -181,91 +173,87 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Device updated |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | -------------- |
|
||||
| 200 | Device updated |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
### DELETE /api/v1/sync/devices/{id}
|
||||
|
||||
Delete a device
|
||||
DELETE /api/sync/devices/{id}
|
||||
Delete a device DELETE /api/sync/devices/{id}
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Device ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Device ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 204 | Device deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | -------------- |
|
||||
| 204 | Device deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
### POST /api/v1/sync/devices/{id}/token
|
||||
|
||||
Regenerate device token
|
||||
POST /api/sync/devices/{id}/token
|
||||
Regenerate device token POST /api/sync/devices/{id}/token
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Device ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Device ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Token regenerated |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ----------------- |
|
||||
| 200 | Token regenerated |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
### GET /api/v1/sync/download/{path}
|
||||
|
||||
Download a file for sync (supports Range header)
|
||||
GET /api/sync/download/{*path}
|
||||
Download a file for sync (supports Range header) GET /api/sync/download/{*path}
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `path` | path | Yes | File path |
|
||||
| Name | In | Required | Description |
|
||||
| ------ | ---- | -------- | ----------- |
|
||||
| `path` | path | Yes | File path |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | File content |
|
||||
| 206 | Partial content |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | --------------- |
|
||||
| 200 | File content |
|
||||
| 206 | Partial content |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
### POST /api/v1/sync/report
|
||||
|
||||
Report local changes from client
|
||||
POST /api/sync/report
|
||||
Report local changes from client POST /api/sync/report
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
|
|
@ -277,18 +265,17 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Changes processed |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | ----------------- |
|
||||
| 200 | Changes processed |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
### POST /api/v1/sync/upload
|
||||
|
||||
Create an upload session for chunked upload
|
||||
POST /api/sync/upload
|
||||
Create an upload session for chunked upload POST /api/sync/upload
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
|
|
@ -300,113 +287,107 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Upload session created |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | ---------------------- |
|
||||
| 200 | Upload session created |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
### GET /api/v1/sync/upload/{id}
|
||||
|
||||
Get upload session status
|
||||
GET /api/sync/upload/{id}
|
||||
Get upload session status GET /api/sync/upload/{id}
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Upload session ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------------- |
|
||||
| `id` | path | Yes | Upload session ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Upload session status |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Upload session status |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
### DELETE /api/v1/sync/upload/{id}
|
||||
|
||||
Cancel an upload session
|
||||
DELETE /api/sync/upload/{id}
|
||||
Cancel an upload session DELETE /api/sync/upload/{id}
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Upload session ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------------- |
|
||||
| `id` | path | Yes | Upload session ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 204 | Upload cancelled |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ---------------- |
|
||||
| 204 | Upload cancelled |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
### PUT /api/v1/sync/upload/{id}/chunks/{index}
|
||||
|
||||
Upload a chunk
|
||||
PUT /api/sync/upload/{id}/chunks/{index}
|
||||
Upload a chunk PUT /api/sync/upload/{id}/chunks/{index}
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Upload session ID |
|
||||
| `index` | path | Yes | Chunk index |
|
||||
| Name | In | Required | Description |
|
||||
| ------- | ---- | -------- | ----------------- |
|
||||
| `id` | path | Yes | Upload session ID |
|
||||
| `index` | path | Yes | Chunk index |
|
||||
|
||||
#### Request Body
|
||||
|
||||
Chunk binary data
|
||||
`Content-Type: application/octet-stream`
|
||||
Chunk binary data `Content-Type: application/octet-stream`
|
||||
|
||||
See `docs/api/openapi.json` for the full schema.
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Chunk received |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | -------------- |
|
||||
| 200 | Chunk received |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
### POST /api/v1/sync/upload/{id}/complete
|
||||
|
||||
Complete an upload session
|
||||
POST /api/sync/upload/{id}/complete
|
||||
Complete an upload session POST /api/sync/upload/{id}/complete
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Upload session ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------------- |
|
||||
| `id` | path | Yes | Upload session ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Upload completed |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ---------------- |
|
||||
| 200 | Upload completed |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
123
docs/api/tags.md
vendored
123
docs/api/tags.md
vendored
|
|
@ -10,18 +10,18 @@ Media tag management
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `media_id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---------- | ---- | -------- | ------------- |
|
||||
| `media_id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Media tags |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Media tags |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -31,9 +31,9 @@ Media tag management
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `media_id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---------- | ---- | -------- | ------------- |
|
||||
| `media_id` | path | Yes | Media item ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -43,13 +43,13 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Tag applied |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Tag applied |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -59,20 +59,20 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `media_id` | path | Yes | Media item ID |
|
||||
| `tag_id` | path | Yes | Tag ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---------- | ---- | -------- | ------------- |
|
||||
| `media_id` | path | Yes | Media item ID |
|
||||
| `tag_id` | path | Yes | Tag ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Tag removed |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Tag removed |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -82,11 +82,11 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | List of tags |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | List of tags |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -102,13 +102,13 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Tag created |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Tag created |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -118,18 +118,18 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Tag ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Tag ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Tag |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Tag |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -139,19 +139,18 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Tag ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | Tag ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Tag deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | Tag deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
59
docs/api/transcode.md
vendored
59
docs/api/transcode.md
vendored
|
|
@ -10,9 +10,9 @@ Video transcoding sessions
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -22,12 +22,12 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Transcode job submitted |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | ----------------------- |
|
||||
| 200 | Transcode job submitted |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -37,10 +37,10 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | List of transcode sessions |
|
||||
| 401 | Unauthorized |
|
||||
| Status | Description |
|
||||
| ------ | -------------------------- |
|
||||
| 200 | List of transcode sessions |
|
||||
| 401 | Unauthorized |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -50,17 +50,17 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Transcode session ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | -------------------- |
|
||||
| `id` | path | Yes | Transcode session ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Transcode session details |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ------------------------- |
|
||||
| 200 | Transcode session details |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -70,17 +70,16 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Transcode session ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | -------------------- |
|
||||
| `id` | path | Yes | Transcode session ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Transcode session cancelled |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | --------------------------- |
|
||||
| 200 | Transcode session cancelled |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
71
docs/api/upload.md
vendored
71
docs/api/upload.md
vendored
|
|
@ -6,84 +6,79 @@ File upload and managed storage
|
|||
|
||||
### GET /api/v1/managed/stats
|
||||
|
||||
Get managed storage statistics
|
||||
GET /api/managed/stats
|
||||
Get managed storage statistics GET /api/managed/stats
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Managed storage statistics |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | -------------------------- |
|
||||
| 200 | Managed storage statistics |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
### GET /api/v1/media/{id}/download
|
||||
|
||||
Download a managed file
|
||||
GET /api/media/{id}/download
|
||||
Download a managed file GET /api/media/{id}/download
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | File content |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ------------ |
|
||||
| 200 | File content |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
### POST /api/v1/media/{id}/move-to-managed
|
||||
|
||||
Migrate an external file to managed storage
|
||||
POST /api/media/{id}/move-to-managed
|
||||
Migrate an external file to managed storage POST /api/media/{id}/move-to-managed
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | Media item ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ------------- |
|
||||
| `id` | path | Yes | Media item ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 204 | File migrated |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 204 | File migrated |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
### POST /api/v1/upload
|
||||
|
||||
Upload a file to managed storage
|
||||
POST /api/upload
|
||||
Upload a file to managed storage POST /api/upload
|
||||
|
||||
**Authentication:** Required (Bearer JWT)
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | File uploaded |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | File uploaded |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
133
docs/api/users.md
vendored
133
docs/api/users.md
vendored
|
|
@ -12,11 +12,11 @@ List all users (admin only)
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | List of users |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| Status | Description |
|
||||
| ------ | ------------- |
|
||||
| 200 | List of users |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -35,13 +35,13 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | User created |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
| Status | Description |
|
||||
| ------ | --------------------- |
|
||||
| 200 | User created |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 500 | Internal server error |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -53,18 +53,18 @@ Get a specific user by ID
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | User ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | User ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | User details |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ------------ |
|
||||
| 200 | User details |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -76,9 +76,9 @@ Update a user
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | User ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | User ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -89,13 +89,13 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | User updated |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ------------ |
|
||||
| 200 | User updated |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -107,18 +107,18 @@ Delete a user (admin only)
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | User ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | User ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | User deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
| Status | Description |
|
||||
| ------ | ------------ |
|
||||
| 200 | User deleted |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| 404 | Not found |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -130,17 +130,17 @@ Get user's accessible libraries
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | User ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | User ID |
|
||||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | User libraries |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| Status | Description |
|
||||
| ------ | -------------- |
|
||||
| 200 | User libraries |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -152,9 +152,9 @@ Grant library access to a user (admin only)
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | User ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | User ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -164,12 +164,12 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Access granted |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| Status | Description |
|
||||
| ------ | -------------- |
|
||||
| 200 | Access granted |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -184,9 +184,9 @@ slashes that conflict with URL routing.
|
|||
|
||||
#### Parameters
|
||||
|
||||
| Name | In | Required | Description |
|
||||
|------|----|----------|-------------|
|
||||
| `id` | path | Yes | User ID |
|
||||
| Name | In | Required | Description |
|
||||
| ---- | ---- | -------- | ----------- |
|
||||
| `id` | path | Yes | User ID |
|
||||
|
||||
#### Request Body
|
||||
|
||||
|
|
@ -196,12 +196,11 @@ See `docs/api/openapi.json` for the full schema.
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Access revoked |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| Status | Description |
|
||||
| ------ | -------------- |
|
||||
| 200 | Access revoked |
|
||||
| 400 | Bad request |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
21
docs/api/webhooks.md
vendored
21
docs/api/webhooks.md
vendored
|
|
@ -10,11 +10,11 @@ Webhook configuration
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | List of configured webhooks |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| Status | Description |
|
||||
| ------ | --------------------------- |
|
||||
| 200 | List of configured webhooks |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -24,11 +24,10 @@ Webhook configuration
|
|||
|
||||
#### Responses
|
||||
|
||||
| Status | Description |
|
||||
|--------|-------------|
|
||||
| 200 | Test webhook sent |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
| Status | Description |
|
||||
| ------ | ----------------- |
|
||||
| 200 | Test webhook sent |
|
||||
| 401 | Unauthorized |
|
||||
| 403 | Forbidden |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue