openapi.yaml
Rama master · réplica de lectura del repositorio original.
# phlix-server OpenAPI description (S65).
#
# ⚠ THIS FILE IS HAND-MAINTAINED AND MACHINE-CHECKED.
#
# `paths` must be an EXACT bijection with the composed route registry the
# server actually serves — the routes `Application` registers PLUS the routes
# the container-composed `WebPortalRouter` registers, with `Application` winning
# any method+path both routers expose (HttpHandler dispatches `Application` first
# and only falls through to `WebPortalRouter` on its 404). That is enforced by
# tests/Unit/Server/Contracts/OpenapiSpecCurrencyTest.php, which drives the REAL
# production container, recomposes both routers, and fails on any tuple present in
# one artefact and not the other, or on any middleware-chain mismatch. Adding,
# moving or re-gating a route therefore requires editing this file in the same
# commit. This file is never regenerated in CI — a self-adjusting spec cannot go
# red, which is exactly the S204 defect this guard exists to prevent.
#
# Machine-checked extension:
# x-phlix-middleware the route-level middleware chain, in order, by class
# short name. `[]` means no route-level middleware is
# registered — NOT proof a handler is ungated (a controller
# may gate as its first statement; see the S272 note in
# ApplicationRouterWirePathGuardTest).
#
# info.version is intentionally pinned to Phlix\Common\Version::STRING by
# OpenapiSpecCurrencyTest — a release bump that leaves the contract version stale
# turns the suite red rather than drifting silently (the whole point of this file).
#
# SPEC_TOKEN: CS65OPENAPISPECX9G
openapi: 3.1.0
info:
title: "Phlix Media Server API"
version: "1.2.3"
summary: "REST surface of the Phlix media server"
description: |-
The HTTP API a Phlix server exposes: library and media browsing, playback
sessions and progress, authentication (password, WebAuthn, OAuth providers,
account linking), profiles and parental controls, casting (Chromecast, AirPlay,
Roku, DLNA), Live TV, SyncPlay, transcoding/HLS/DASH, music/books/photos, plugins,
webhooks, backup, the OPDS catalog, and the full `/api/v1/admin/*` control plane.
license:
name: "MIT"
identifier: "MIT"
contact:
name: "Phlix"
servers:
- url: "http://localhost:8096"
description: |-
The plain-HTTP address the Workerman HTTP worker `start.php` binds directly
(the only served entry). The daemon itself terminates no TLS; this entry is
the local/unproxied form.
- url: "https://{host}"
description: |-
Production form of the identical surface: reached over HTTPS through the
deployment's TLS-terminating reverse proxy. Always prefer this scheme for
real traffic — the JWT bearer credential below is only safe over TLS.
variables:
host:
default: "phlix.example.com"
description: "The deployment's HTTPS hostname."
tags:
- name: "Administration"
description: "Operator control-plane routes under /api/v1/admin/* (settings, users, plugins, maintenance, backups, webhooks)."
- name: "Authentication"
description: "Sign-in, token refresh, logout, and WebAuthn / OAuth provider flows."
- name: "Casting"
description: "Chromecast, AirPlay, Roku and DLNA device discovery and control."
- name: "Collections"
description: "User playlists and custom collections."
- name: "General"
description: "Cross-cutting routes that fit no single domain (search, health, misc utilities)."
- name: "Integrations"
description: "Third-party metadata and service integrations (Trakt and similar)."
- name: "Libraries"
description: "Media library CRUD and scanning."
- name: "Live TV"
description: "Live TV tuners, the channel guide and recording."
- name: "Media"
description: "Media item browsing, metadata, posters and playback info."
- name: "Music & Books"
description: "Music, audiobook and e-book library endpoints."
- name: "OPDS Catalog"
description: "OPDS catalog feeds for e-readers."
- name: "Photos"
description: "Photo library and album endpoints."
- name: "Profiles"
description: "User profiles and parental-control settings."
- name: "Sessions"
description: "Device sessions and playback / continue-watching state."
- name: "SyncPlay"
description: "Watch-together SyncPlay group and time-sync endpoints."
- name: "System"
description: "Server-level system and status endpoints."
- name: "Telemetry"
description: "Consent-gated client telemetry (S518/AD-27) — opt-in device heartbeats and the admin fleet census."
- name: "Theming"
description: "Appearance and theme endpoints."
- name: "Transcoding"
description: "HLS/DASH transcode job control and ABR ladder endpoints."
- name: "Users"
description: "Account and profile-scoped user data (favorites, ratings, watch history)."
paths:
"/.well-known/jwks.json":
get:
operationId: "get_well_known_jwks_json"
tags: ["System"]
summary: "Jwks.json"
description: "Jwks.json (get /.well-known/jwks.json)."
x-phlix-middleware: []
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"429":
$ref: "#/components/responses/TooManyRequests"
"/admin/health/jobs":
get:
operationId: "get_admin_health_jobs"
tags: ["Administration"]
summary: "Jobs"
description: "Jobs (get /admin/health/jobs)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1":
get:
operationId: "get_api_v1"
tags: ["General"]
summary: "V1"
description: "V1 (get /api/v1)."
x-phlix-middleware: []
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/auth-providers":
get:
operationId: "get_api_v1_admin_auth_providers"
tags: ["Administration"]
summary: "List providers"
description: "List providers (get /api/v1/admin/auth-providers)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/auth-providers/github/config":
get:
operationId: "get_api_v1_admin_auth_providers_github_config"
tags: ["Administration"]
summary: "Get settings"
description: "Get settings (get /api/v1/admin/auth-providers/github/config)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
post:
operationId: "post_api_v1_admin_auth_providers_github_config"
tags: ["Administration"]
summary: "Save settings"
description: "Save settings (post /api/v1/admin/auth-providers/github/config)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/auth-providers/github/schema":
get:
operationId: "get_api_v1_admin_auth_providers_github_schema"
tags: ["Administration"]
summary: "Get schema"
description: "Get schema (get /api/v1/admin/auth-providers/github/schema)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/auth-providers/ldap/config":
get:
operationId: "get_api_v1_admin_auth_providers_ldap_config"
tags: ["Administration"]
summary: "Get settings"
description: "Get settings (get /api/v1/admin/auth-providers/ldap/config)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
post:
operationId: "post_api_v1_admin_auth_providers_ldap_config"
tags: ["Administration"]
summary: "Save settings"
description: "Save settings (post /api/v1/admin/auth-providers/ldap/config)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/auth-providers/ldap/schema":
get:
operationId: "get_api_v1_admin_auth_providers_ldap_schema"
tags: ["Administration"]
summary: "Get schema"
description: "Get schema (get /api/v1/admin/auth-providers/ldap/schema)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/auth-providers/ldap/test":
post:
operationId: "post_api_v1_admin_auth_providers_ldap_test"
tags: ["Administration"]
summary: "Test connection"
description: "Test connection (post /api/v1/admin/auth-providers/ldap/test)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/auth-providers/oidc/config":
get:
operationId: "get_api_v1_admin_auth_providers_oidc_config"
tags: ["Administration"]
summary: "Get settings"
description: "Get settings (get /api/v1/admin/auth-providers/oidc/config)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
post:
operationId: "post_api_v1_admin_auth_providers_oidc_config"
tags: ["Administration"]
summary: "Save settings"
description: "Save settings (post /api/v1/admin/auth-providers/oidc/config)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/auth-providers/oidc/schema":
get:
operationId: "get_api_v1_admin_auth_providers_oidc_schema"
tags: ["Administration"]
summary: "Get schema"
description: "Get schema (get /api/v1/admin/auth-providers/oidc/schema)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/auth-providers/{name}/config-schema":
get:
operationId: "get_api_v1_admin_auth_providers_name_config_schema"
tags: ["Administration"]
summary: "Get config schema"
description: "Get config schema (get /api/v1/admin/auth-providers/{name}/config-schema)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "name"
in: path
required: true
description: "Plugin name."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/auth-providers/{name}/disable":
post:
operationId: "post_api_v1_admin_auth_providers_name_disable"
tags: ["Administration"]
summary: "Disable provider"
description: "Disable provider (post /api/v1/admin/auth-providers/{name}/disable)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "name"
in: path
required: true
description: "Plugin name."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/auth-providers/{name}/enable":
post:
operationId: "post_api_v1_admin_auth_providers_name_enable"
tags: ["Administration"]
summary: "Enable provider"
description: "Enable provider (post /api/v1/admin/auth-providers/{name}/enable)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "name"
in: path
required: true
description: "Plugin name."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/backup/create":
post:
operationId: "post_api_v1_admin_backup_create"
tags: ["Administration"]
summary: "Create"
description: "Create (post /api/v1/admin/backup/create)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/backup/list":
get:
operationId: "get_api_v1_admin_backup_list"
tags: ["Administration"]
summary: "List"
description: "List (get /api/v1/admin/backup/list)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/backup/schedule":
get:
operationId: "get_api_v1_admin_backup_schedule"
tags: ["Administration"]
summary: "Get schedule"
description: "Get schedule (get /api/v1/admin/backup/schedule)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
put:
operationId: "put_api_v1_admin_backup_schedule"
tags: ["Administration"]
summary: "Update schedule"
description: "Update schedule (put /api/v1/admin/backup/schedule)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/backup/{id}":
delete:
operationId: "delete_api_v1_admin_backup_id"
tags: ["Administration"]
summary: "Delete"
description: "Delete (delete /api/v1/admin/backup/{id})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/backup/{id}/restore":
post:
operationId: "post_api_v1_admin_backup_id_restore"
tags: ["Administration"]
summary: "Restore"
description: "Restore (post /api/v1/admin/backup/{id}/restore)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/backup/{id}/upload-s3":
post:
operationId: "post_api_v1_admin_backup_id_upload_s3"
tags: ["Administration"]
summary: "Upload s3"
description: "Upload s3 (post /api/v1/admin/backup/{id}/upload-s3)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/dashboard/activity":
get:
operationId: "get_api_v1_admin_dashboard_activity"
tags: ["Administration"]
summary: "Activity"
description: "Activity (get /api/v1/admin/dashboard/activity)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/dashboard/now-playing":
get:
operationId: "get_api_v1_admin_dashboard_now_playing"
tags: ["Administration"]
summary: "Now playing"
description: "Now playing (get /api/v1/admin/dashboard/now-playing)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/dashboard/storage":
get:
operationId: "get_api_v1_admin_dashboard_storage"
tags: ["Administration"]
summary: "Storage"
description: "Storage (get /api/v1/admin/dashboard/storage)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/dashboard/top-media":
get:
operationId: "get_api_v1_admin_dashboard_top_media"
tags: ["Administration"]
summary: "Top media"
description: "Top media (get /api/v1/admin/dashboard/top-media)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/dashboard/top-users":
get:
operationId: "get_api_v1_admin_dashboard_top_users"
tags: ["Administration"]
summary: "Top users"
description: "Top users (get /api/v1/admin/dashboard/top-users)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/dlna/start":
post:
operationId: "post_api_v1_admin_dlna_start"
tags: ["Administration"]
summary: "Start"
description: "Start (post /api/v1/admin/dlna/start)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/dlna/status":
get:
operationId: "get_api_v1_admin_dlna_status"
tags: ["Administration"]
summary: "Status"
description: "Status (get /api/v1/admin/dlna/status)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/dlna/stop":
post:
operationId: "post_api_v1_admin_dlna_stop"
tags: ["Administration"]
summary: "Stop"
description: "Stop (post /api/v1/admin/dlna/stop)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/fs/browse":
get:
operationId: "get_api_v1_admin_fs_browse"
tags: ["Administration"]
summary: "Browse"
description: "Browse (get /api/v1/admin/fs/browse)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/libraries/{id}/duplicates":
get:
operationId: "get_api_v1_admin_libraries_id_duplicates"
tags: ["Administration"]
summary: "Duplicates"
description: "Duplicates (get /api/v1/admin/libraries/{id}/duplicates)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/livetv/channels":
get:
operationId: "get_api_v1_admin_livetv_channels"
tags: ["Administration"]
summary: "List channels"
description: "List channels (get /api/v1/admin/livetv/channels)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/livetv/channels/{id}":
get:
operationId: "get_api_v1_admin_livetv_channels_id"
tags: ["Administration"]
summary: "Get channel"
description: "Get channel (get /api/v1/admin/livetv/channels/{id})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
put:
operationId: "put_api_v1_admin_livetv_channels_id"
tags: ["Administration"]
summary: "Update channel"
description: "Update channel (put /api/v1/admin/livetv/channels/{id})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/livetv/channels/{id}/stream":
get:
operationId: "get_api_v1_admin_livetv_channels_id_stream"
tags: ["Administration"]
summary: "Stream channel"
description: "Stream channel (get /api/v1/admin/livetv/channels/{id}/stream)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success. Streams the media/binary resource."
content:
'*/*':
schema: {}
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/livetv/guide":
get:
operationId: "get_api_v1_admin_livetv_guide"
tags: ["Administration"]
summary: "List guide"
description: "List guide (get /api/v1/admin/livetv/guide)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/livetv/guide/programs/{id}":
get:
operationId: "get_api_v1_admin_livetv_guide_programs_id"
tags: ["Administration"]
summary: "Get program"
description: "Get program (get /api/v1/admin/livetv/guide/programs/{id})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/livetv/guide/refresh":
post:
operationId: "post_api_v1_admin_livetv_guide_refresh"
tags: ["Administration"]
summary: "Refresh guide"
description: "Refresh guide (post /api/v1/admin/livetv/guide/refresh)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/livetv/recordings":
get:
operationId: "get_api_v1_admin_livetv_recordings"
tags: ["Administration"]
summary: "List recordings"
description: "List recordings (get /api/v1/admin/livetv/recordings)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
post:
operationId: "post_api_v1_admin_livetv_recordings"
tags: ["Administration"]
summary: "Create recording"
description: "Create recording (post /api/v1/admin/livetv/recordings)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/livetv/recordings/series/{seriesId}":
get:
operationId: "get_api_v1_admin_livetv_recordings_series_seriesId"
tags: ["Administration"]
summary: "List by series"
description: "List by series (get /api/v1/admin/livetv/recordings/series/{seriesId})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "seriesId"
in: path
required: true
description: "Series id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/livetv/recordings/upcoming":
get:
operationId: "get_api_v1_admin_livetv_recordings_upcoming"
tags: ["Administration"]
summary: "List upcoming recordings"
description: "List upcoming recordings (get /api/v1/admin/livetv/recordings/upcoming)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/livetv/recordings/{id}":
get:
operationId: "get_api_v1_admin_livetv_recordings_id"
tags: ["Administration"]
summary: "Get recording"
description: "Get recording (get /api/v1/admin/livetv/recordings/{id})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
delete:
operationId: "delete_api_v1_admin_livetv_recordings_id"
tags: ["Administration"]
summary: "Delete recording"
description: "Delete recording (delete /api/v1/admin/livetv/recordings/{id})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/livetv/series-rules":
get:
operationId: "get_api_v1_admin_livetv_series_rules"
tags: ["Administration"]
summary: "List series rules"
description: "List series rules (get /api/v1/admin/livetv/series-rules)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
post:
operationId: "post_api_v1_admin_livetv_series_rules"
tags: ["Administration"]
summary: "Create series rule"
description: "Create series rule (post /api/v1/admin/livetv/series-rules)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/livetv/series-rules/{id}":
get:
operationId: "get_api_v1_admin_livetv_series_rules_id"
tags: ["Administration"]
summary: "Get series rule"
description: "Get series rule (get /api/v1/admin/livetv/series-rules/{id})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
put:
operationId: "put_api_v1_admin_livetv_series_rules_id"
tags: ["Administration"]
summary: "Update series rule"
description: "Update series rule (put /api/v1/admin/livetv/series-rules/{id})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
delete:
operationId: "delete_api_v1_admin_livetv_series_rules_id"
tags: ["Administration"]
summary: "Delete series rule"
description: "Delete series rule (delete /api/v1/admin/livetv/series-rules/{id})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/livetv/tuners":
get:
operationId: "get_api_v1_admin_livetv_tuners"
tags: ["Administration"]
summary: "List tuners"
description: "List tuners (get /api/v1/admin/livetv/tuners)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/livetv/tuners/scan":
get:
operationId: "get_api_v1_admin_livetv_tuners_scan"
tags: ["Administration"]
summary: "Scan tuners"
description: "Scan tuners (get /api/v1/admin/livetv/tuners/scan)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/livetv/tuners/{id}":
get:
operationId: "get_api_v1_admin_livetv_tuners_id"
tags: ["Administration"]
summary: "Get tuner"
description: "Get tuner (get /api/v1/admin/livetv/tuners/{id})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
put:
operationId: "put_api_v1_admin_livetv_tuners_id"
tags: ["Administration"]
summary: "Update tuner"
description: "Update tuner (put /api/v1/admin/livetv/tuners/{id})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
delete:
operationId: "delete_api_v1_admin_livetv_tuners_id"
tags: ["Administration"]
summary: "Delete tuner"
description: "Delete tuner (delete /api/v1/admin/livetv/tuners/{id})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/logs":
get:
operationId: "get_api_v1_admin_logs"
tags: ["Administration"]
summary: "Index"
description: "Index (get /api/v1/admin/logs)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/logs/tail":
get:
operationId: "get_api_v1_admin_logs_tail"
tags: ["Administration"]
summary: "Tail"
description: "Tail (get /api/v1/admin/logs/tail)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/logs/tail-all":
get:
operationId: "get_api_v1_admin_logs_tail_all"
tags: ["Administration"]
summary: "Tail all"
description: "Tail all (get /api/v1/admin/logs/tail-all)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/maintenance/cleanup-orphaned-stats":
post:
operationId: "post_api_v1_admin_maintenance_cleanup_orphaned_stats"
tags: ["Administration"]
summary: "Cleanup orphaned stats"
description: "Cleanup orphaned stats (post /api/v1/admin/maintenance/cleanup-orphaned-stats)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/maintenance/dedupe-paths":
post:
operationId: "post_api_v1_admin_maintenance_dedupe_paths"
tags: ["Administration"]
summary: "Dedupe paths"
description: "Dedupe paths (post /api/v1/admin/maintenance/dedupe-paths)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/maintenance/jobs":
get:
operationId: "get_api_v1_admin_maintenance_jobs"
tags: ["Administration"]
summary: "Jobs"
description: "Jobs (get /api/v1/admin/maintenance/jobs)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/maintenance/jobs/{id}":
get:
operationId: "get_api_v1_admin_maintenance_jobs_id"
tags: ["Administration"]
summary: "Job"
description: "Job (get /api/v1/admin/maintenance/jobs/{id})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/maintenance/reap-scan-jobs":
post:
operationId: "post_api_v1_admin_maintenance_reap_scan_jobs"
tags: ["Administration"]
summary: "Reap scan jobs"
description: "Reap scan jobs (post /api/v1/admin/maintenance/reap-scan-jobs)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/maintenance/reap-transcode-jobs":
post:
operationId: "post_api_v1_admin_maintenance_reap_transcode_jobs"
tags: ["Administration"]
summary: "Reap transcode jobs"
description: "Reap transcode jobs (post /api/v1/admin/maintenance/reap-transcode-jobs)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/maintenance/storage-snapshot":
post:
operationId: "post_api_v1_admin_maintenance_storage_snapshot"
tags: ["Administration"]
summary: "Storage snapshot"
description: "Storage snapshot (post /api/v1/admin/maintenance/storage-snapshot)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/maintenance/tasks":
get:
operationId: "get_api_v1_admin_maintenance_tasks"
tags: ["Administration"]
summary: "Tasks"
description: "Tasks (get /api/v1/admin/maintenance/tasks)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/media/merge":
post:
operationId: "post_api_v1_admin_media_merge"
tags: ["Administration"]
summary: "Merge"
description: "Merge (post /api/v1/admin/media/merge)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/metadata/sources":
get:
operationId: "get_api_v1_admin_metadata_sources"
tags: ["Administration"]
summary: "Index"
description: "Index (get /api/v1/admin/metadata/sources)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/metrics/connections":
get:
operationId: "get_api_v1_admin_metrics_connections"
tags: ["Administration"]
summary: "Connections"
description: "Connections (get /api/v1/admin/metrics/connections)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/metrics/history":
get:
operationId: "get_api_v1_admin_metrics_history"
tags: ["Administration"]
summary: "History"
description: "History (get /api/v1/admin/metrics/history)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/metrics/routes":
get:
operationId: "get_api_v1_admin_metrics_routes"
tags: ["Administration"]
summary: "Routes"
description: "Routes (get /api/v1/admin/metrics/routes)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/metrics/snapshot":
get:
operationId: "get_api_v1_admin_metrics_snapshot"
tags: ["Administration"]
summary: "Snapshot"
description: "Snapshot (get /api/v1/admin/metrics/snapshot)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/plugins":
get:
operationId: "get_api_v1_admin_plugins"
tags: ["Administration"]
summary: "Index"
description: "Index (get /api/v1/admin/plugins)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/plugins/auto-update":
get:
operationId: "get_api_v1_admin_plugins_auto_update"
tags: ["Administration"]
summary: "Auto update"
description: "Auto update (get /api/v1/admin/plugins/auto-update)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
put:
operationId: "put_api_v1_admin_plugins_auto_update"
tags: ["Administration"]
summary: "Auto update"
description: "Auto update (put /api/v1/admin/plugins/auto-update)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/plugins/catalog":
get:
operationId: "get_api_v1_admin_plugins_catalog"
tags: ["Administration"]
summary: "Index"
description: "Index (get /api/v1/admin/plugins/catalog)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/plugins/catalog/channel":
get:
operationId: "get_api_v1_admin_plugins_catalog_channel"
tags: ["Administration"]
summary: "Channel"
description: "Channel (get /api/v1/admin/plugins/catalog/channel)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
put:
operationId: "put_api_v1_admin_plugins_catalog_channel"
tags: ["Administration"]
summary: "Channel"
description: "Channel (put /api/v1/admin/plugins/catalog/channel)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/plugins/catalog/sources":
post:
operationId: "post_api_v1_admin_plugins_catalog_sources"
tags: ["Administration"]
summary: "Add source"
description: "Add source (post /api/v1/admin/plugins/catalog/sources)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
delete:
operationId: "delete_api_v1_admin_plugins_catalog_sources"
tags: ["Administration"]
summary: "Remove source"
description: "Remove source (delete /api/v1/admin/plugins/catalog/sources)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/plugins/install":
post:
operationId: "post_api_v1_admin_plugins_install"
tags: ["Administration"]
summary: "Install"
description: "Install (post /api/v1/admin/plugins/install)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"201":
description: "Created."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/plugins/updates":
get:
operationId: "get_api_v1_admin_plugins_updates"
tags: ["Administration"]
summary: "Updates"
description: "Updates (get /api/v1/admin/plugins/updates)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/plugins/updates/apply":
post:
operationId: "post_api_v1_admin_plugins_updates_apply"
tags: ["Administration"]
summary: "Apply updates"
description: "Apply updates (post /api/v1/admin/plugins/updates/apply)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/plugins/{name}":
get:
operationId: "get_api_v1_admin_plugins_name"
tags: ["Administration"]
summary: "Show"
description: "Show (get /api/v1/admin/plugins/{name})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "name"
in: path
required: true
description: "Plugin name."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
delete:
operationId: "delete_api_v1_admin_plugins_name"
tags: ["Administration"]
summary: "Uninstall"
description: "Uninstall (delete /api/v1/admin/plugins/{name})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "name"
in: path
required: true
description: "Plugin name."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/plugins/{name}/disable":
post:
operationId: "post_api_v1_admin_plugins_name_disable"
tags: ["Administration"]
summary: "Disable"
description: "Disable (post /api/v1/admin/plugins/{name}/disable)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "name"
in: path
required: true
description: "Plugin name."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/plugins/{name}/enable":
post:
operationId: "post_api_v1_admin_plugins_name_enable"
tags: ["Administration"]
summary: "Enable"
description: "Enable (post /api/v1/admin/plugins/{name}/enable)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "name"
in: path
required: true
description: "Plugin name."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/plugins/{name}/settings":
put:
operationId: "put_api_v1_admin_plugins_name_settings"
tags: ["Administration"]
summary: "Update settings"
description: "Update settings (put /api/v1/admin/plugins/{name}/settings)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "name"
in: path
required: true
description: "Plugin name."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/plugins/{name}/test":
post:
operationId: "post_api_v1_admin_plugins_name_test"
tags: ["Administration"]
summary: "Test credentials"
description: "Test credentials (post /api/v1/admin/plugins/{name}/test)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "name"
in: path
required: true
description: "Plugin name."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/plugins/{name}/update":
post:
operationId: "post_api_v1_admin_plugins_name_update"
tags: ["Administration"]
summary: "Update plugin"
description: "Update plugin (post /api/v1/admin/plugins/{name}/update)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "name"
in: path
required: true
description: "Plugin name."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/profiles/{id}":
get:
operationId: "get_api_v1_admin_profiles_id"
tags: ["Administration"]
summary: "Get"
description: "Get (get /api/v1/admin/profiles/{id})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
put:
operationId: "put_api_v1_admin_profiles_id"
tags: ["Administration"]
summary: "Update"
description: "Update (put /api/v1/admin/profiles/{id})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
delete:
operationId: "delete_api_v1_admin_profiles_id"
tags: ["Administration"]
summary: "Delete"
description: "Delete (delete /api/v1/admin/profiles/{id})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/profiles/{id}/pin":
post:
operationId: "post_api_v1_admin_profiles_id_pin"
tags: ["Administration"]
summary: "Set pin"
description: "Set pin (post /api/v1/admin/profiles/{id}/pin)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
delete:
operationId: "delete_api_v1_admin_profiles_id_pin"
tags: ["Administration"]
summary: "Delete pin"
description: "Delete pin (delete /api/v1/admin/profiles/{id}/pin)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/profiles/{profileId}/active-streams":
get:
operationId: "get_api_v1_admin_profiles_profileId_active_streams"
tags: ["Administration"]
summary: "Get active streams"
description: "Get active streams (get /api/v1/admin/profiles/{profileId}/active-streams)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "profileId"
in: path
required: true
description: "User profile id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/profiles/{profileId}/schedules":
get:
operationId: "get_api_v1_admin_profiles_profileId_schedules"
tags: ["Administration"]
summary: "List for profile"
description: "List for profile (get /api/v1/admin/profiles/{profileId}/schedules)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "profileId"
in: path
required: true
description: "User profile id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
post:
operationId: "post_api_v1_admin_profiles_profileId_schedules"
tags: ["Administration"]
summary: "Create for profile"
description: "Create for profile (post /api/v1/admin/profiles/{profileId}/schedules)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "profileId"
in: path
required: true
description: "User profile id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"201":
description: "Created."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/profiles/{profileId}/schedules/{scheduleId}":
get:
operationId: "get_api_v1_admin_profiles_profileId_schedules_scheduleId"
tags: ["Administration"]
summary: "Get schedule"
description: "Get schedule (get /api/v1/admin/profiles/{profileId}/schedules/{scheduleId})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "profileId"
in: path
required: true
description: "User profile id."
schema:
type: string
- name: "scheduleId"
in: path
required: true
description: "Access schedule id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
put:
operationId: "put_api_v1_admin_profiles_profileId_schedules_scheduleId"
tags: ["Administration"]
summary: "Update schedule"
description: "Update schedule (put /api/v1/admin/profiles/{profileId}/schedules/{scheduleId})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "profileId"
in: path
required: true
description: "User profile id."
schema:
type: string
- name: "scheduleId"
in: path
required: true
description: "Access schedule id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
delete:
operationId: "delete_api_v1_admin_profiles_profileId_schedules_scheduleId"
tags: ["Administration"]
summary: "Delete schedule"
description: "Delete schedule (delete /api/v1/admin/profiles/{profileId}/schedules/{scheduleId})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "profileId"
in: path
required: true
description: "User profile id."
schema:
type: string
- name: "scheduleId"
in: path
required: true
description: "Access schedule id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/profiles/{profileId}/stream-limits":
get:
operationId: "get_api_v1_admin_profiles_profileId_stream_limits"
tags: ["Administration"]
summary: "Get stream limits"
description: "Get stream limits (get /api/v1/admin/profiles/{profileId}/stream-limits)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "profileId"
in: path
required: true
description: "User profile id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
put:
operationId: "put_api_v1_admin_profiles_profileId_stream_limits"
tags: ["Administration"]
summary: "Update stream limits"
description: "Update stream limits (put /api/v1/admin/profiles/{profileId}/stream-limits)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "profileId"
in: path
required: true
description: "User profile id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/profiles/{profileId}/tags":
get:
operationId: "get_api_v1_admin_profiles_profileId_tags"
tags: ["Administration"]
summary: "List for profile"
description: "List for profile (get /api/v1/admin/profiles/{profileId}/tags)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "profileId"
in: path
required: true
description: "User profile id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
post:
operationId: "post_api_v1_admin_profiles_profileId_tags"
tags: ["Administration"]
summary: "Create for profile"
description: "Create for profile (post /api/v1/admin/profiles/{profileId}/tags)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "profileId"
in: path
required: true
description: "User profile id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"201":
description: "Created."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/profiles/{profileId}/tags/{tagId}":
delete:
operationId: "delete_api_v1_admin_profiles_profileId_tags_tagId"
tags: ["Administration"]
summary: "Delete tag"
description: "Delete tag (delete /api/v1/admin/profiles/{profileId}/tags/{tagId})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "profileId"
in: path
required: true
description: "User profile id."
schema:
type: string
- name: "tagId"
in: path
required: true
description: "Tag id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/remote/hub/complete":
post:
operationId: "post_api_v1_admin_remote_hub_complete"
tags: ["Administration"]
summary: "Hub complete"
description: "Hub complete (post /api/v1/admin/remote/hub/complete)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/remote/hub/heartbeat":
post:
operationId: "post_api_v1_admin_remote_hub_heartbeat"
tags: ["Administration"]
summary: "Hub heartbeat"
description: "Hub heartbeat (post /api/v1/admin/remote/hub/heartbeat)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/remote/hub/pair":
post:
operationId: "post_api_v1_admin_remote_hub_pair"
tags: ["Administration"]
summary: "Hub pair"
description: "Hub pair (post /api/v1/admin/remote/hub/pair)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/remote/hub/poll":
post:
operationId: "post_api_v1_admin_remote_hub_poll"
tags: ["Administration"]
summary: "Hub poll"
description: "Hub poll (post /api/v1/admin/remote/hub/poll)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/remote/hub/status":
get:
operationId: "get_api_v1_admin_remote_hub_status"
tags: ["Administration"]
summary: "Hub status"
description: "Hub status (get /api/v1/admin/remote/hub/status)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/remote/hub/unenroll":
post:
operationId: "post_api_v1_admin_remote_hub_unenroll"
tags: ["Administration"]
summary: "Hub unenroll"
description: "Hub unenroll (post /api/v1/admin/remote/hub/unenroll)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/remote/portforward/candidates":
get:
operationId: "get_api_v1_admin_remote_portforward_candidates"
tags: ["Administration"]
summary: "Port forward candidates"
description: "Port forward candidates (get /api/v1/admin/remote/portforward/candidates)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/remote/portforward/disable":
post:
operationId: "post_api_v1_admin_remote_portforward_disable"
tags: ["Administration"]
summary: "Port forward disable"
description: "Port forward disable (post /api/v1/admin/remote/portforward/disable)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/remote/portforward/enable":
post:
operationId: "post_api_v1_admin_remote_portforward_enable"
tags: ["Administration"]
summary: "Port forward enable"
description: "Port forward enable (post /api/v1/admin/remote/portforward/enable)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/remote/portforward/status":
get:
operationId: "get_api_v1_admin_remote_portforward_status"
tags: ["Administration"]
summary: "Port forward status"
description: "Port forward status (get /api/v1/admin/remote/portforward/status)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/remote/relay/disable":
post:
operationId: "post_api_v1_admin_remote_relay_disable"
tags: ["Administration"]
summary: "Relay disable"
description: "Relay disable (post /api/v1/admin/remote/relay/disable)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/remote/relay/enable":
post:
operationId: "post_api_v1_admin_remote_relay_enable"
tags: ["Administration"]
summary: "Relay enable"
description: "Relay enable (post /api/v1/admin/remote/relay/enable)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/remote/relay/ping":
post:
operationId: "post_api_v1_admin_remote_relay_ping"
tags: ["Administration"]
summary: "Relay ping"
description: "Relay ping (post /api/v1/admin/remote/relay/ping)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/remote/relay/status":
get:
operationId: "get_api_v1_admin_remote_relay_status"
tags: ["Administration"]
summary: "Relay status"
description: "Relay status (get /api/v1/admin/remote/relay/status)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/remote/subdomain/claim":
post:
operationId: "post_api_v1_admin_remote_subdomain_claim"
tags: ["Administration"]
summary: "Subdomain claim"
description: "Subdomain claim (post /api/v1/admin/remote/subdomain/claim)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/remote/subdomain/release":
post:
operationId: "post_api_v1_admin_remote_subdomain_release"
tags: ["Administration"]
summary: "Subdomain release"
description: "Subdomain release (post /api/v1/admin/remote/subdomain/release)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/remote/subdomain/status":
get:
operationId: "get_api_v1_admin_remote_subdomain_status"
tags: ["Administration"]
summary: "Subdomain status"
description: "Subdomain status (get /api/v1/admin/remote/subdomain/status)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/restart":
post:
operationId: "post_api_v1_admin_restart"
tags: ["Administration"]
summary: "Restart"
description: "Restart (post /api/v1/admin/restart)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/services/lastfm/disconnect":
post:
operationId: "post_api_v1_admin_services_lastfm_disconnect"
tags: ["Administration"]
summary: "Api disconnect"
description: "Api disconnect (post /api/v1/admin/services/lastfm/disconnect)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/services/lastfm/status":
get:
operationId: "get_api_v1_admin_services_lastfm_status"
tags: ["Administration"]
summary: "Status"
description: "Status (get /api/v1/admin/services/lastfm/status)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/services/trakt/disconnect":
post:
operationId: "post_api_v1_admin_services_trakt_disconnect"
tags: ["Administration"]
summary: "Disconnect"
description: "Disconnect (post /api/v1/admin/services/trakt/disconnect)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/services/trakt/status":
get:
operationId: "get_api_v1_admin_services_trakt_status"
tags: ["Administration"]
summary: "Status"
description: "Status (get /api/v1/admin/services/trakt/status)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/settings":
get:
operationId: "get_api_v1_admin_settings"
tags: ["Administration"]
summary: "Index"
description: "Index (get /api/v1/admin/settings)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
put:
operationId: "put_api_v1_admin_settings"
tags: ["Administration"]
summary: "Update"
description: "Update (put /api/v1/admin/settings)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/stats/playback":
get:
operationId: "get_api_v1_admin_stats_playback"
tags: ["Administration"]
summary: "Playback"
description: "Playback (get /api/v1/admin/stats/playback)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/stats/storage":
get:
operationId: "get_api_v1_admin_stats_storage"
tags: ["Administration"]
summary: "Storage"
description: "Storage (get /api/v1/admin/stats/storage)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/stats/top-media":
get:
operationId: "get_api_v1_admin_stats_top_media"
tags: ["Administration"]
summary: "Top media"
description: "Top media (get /api/v1/admin/stats/top-media)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/stats/top-users":
get:
operationId: "get_api_v1_admin_stats_top_users"
tags: ["Administration"]
summary: "Top users"
description: "Top users (get /api/v1/admin/stats/top-users)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/sync/enable":
put:
operationId: "put_api_v1_admin_sync_enable"
tags: ["Administration"]
summary: "Set enabled"
description: "Set enabled (put /api/v1/admin/sync/enable)."
x-phlix-middleware: []
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/sync/status":
get:
operationId: "get_api_v1_admin_sync_status"
tags: ["Administration"]
summary: "Get sync status"
description: "Get sync status (get /api/v1/admin/sync/status)."
x-phlix-middleware: []
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/sync/trash-guides":
post:
operationId: "post_api_v1_admin_sync_trash_guides"
tags: ["Administration"]
summary: "Trigger sync"
description: "Trigger sync (post /api/v1/admin/sync/trash-guides)."
x-phlix-middleware: []
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/telemetry/clients":
get:
operationId: "get_api_v1_admin_telemetry_clients"
tags: ["Administration"]
summary: "List consenting client heartbeats"
description: "List consenting client heartbeats (get /api/v1/admin/telemetry/clients)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/transcoding/accelerators":
get:
operationId: "get_api_v1_admin_transcoding_accelerators"
tags: ["Administration"]
summary: "Accelerators"
description: "Accelerators (get /api/v1/admin/transcoding/accelerators)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/transcoding/tone-mapping":
get:
operationId: "get_api_v1_admin_transcoding_tone_mapping"
tags: ["Administration"]
summary: "Tone mapping"
description: "Tone mapping (get /api/v1/admin/transcoding/tone-mapping)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
put:
operationId: "put_api_v1_admin_transcoding_tone_mapping"
tags: ["Administration"]
summary: "Set tone mapping"
description: "Set tone mapping (put /api/v1/admin/transcoding/tone-mapping)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/updates/check":
post:
operationId: "post_api_v1_admin_updates_check"
tags: ["Administration"]
summary: "Check"
description: "Check (post /api/v1/admin/updates/check)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"202":
description: "Accepted - asynchronous job queued (body: job_id, status)."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/updates/settings":
put:
operationId: "put_api_v1_admin_updates_settings"
tags: ["Administration"]
summary: "Update settings"
description: "Update settings (put /api/v1/admin/updates/settings)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/updates/status":
get:
operationId: "get_api_v1_admin_updates_status"
tags: ["Administration"]
summary: "Status"
description: "Status (get /api/v1/admin/updates/status)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/users":
get:
operationId: "get_api_v1_admin_users"
tags: ["Administration"]
summary: "List"
description: "List (get /api/v1/admin/users)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
post:
operationId: "post_api_v1_admin_users"
tags: ["Administration"]
summary: "Create"
description: "Create (post /api/v1/admin/users)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"201":
description: "Created."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/users/{id}":
get:
operationId: "get_api_v1_admin_users_id"
tags: ["Administration"]
summary: "Get"
description: "Get (get /api/v1/admin/users/{id})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
put:
operationId: "put_api_v1_admin_users_id"
tags: ["Administration"]
summary: "Update"
description: "Update (put /api/v1/admin/users/{id})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
delete:
operationId: "delete_api_v1_admin_users_id"
tags: ["Administration"]
summary: "Delete"
description: "Delete (delete /api/v1/admin/users/{id})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/users/{id}/approve":
post:
operationId: "post_api_v1_admin_users_id_approve"
tags: ["Administration"]
summary: "Approve"
description: "Approve (post /api/v1/admin/users/{id}/approve)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/users/{id}/disable":
post:
operationId: "post_api_v1_admin_users_id_disable"
tags: ["Administration"]
summary: "Disable"
description: "Disable (post /api/v1/admin/users/{id}/disable)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/users/{id}/reject":
post:
operationId: "post_api_v1_admin_users_id_reject"
tags: ["Administration"]
summary: "Reject"
description: "Reject (post /api/v1/admin/users/{id}/reject)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/users/{id}/reset-password":
post:
operationId: "post_api_v1_admin_users_id_reset_password"
tags: ["Administration"]
summary: "Reset password"
description: "Reset password (post /api/v1/admin/users/{id}/reset-password)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/users/{id}/set-admin":
post:
operationId: "post_api_v1_admin_users_id_set_admin"
tags: ["Administration"]
summary: "Set admin"
description: "Set admin (post /api/v1/admin/users/{id}/set-admin)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/users/{userId}/profiles":
get:
operationId: "get_api_v1_admin_users_userId_profiles"
tags: ["Administration"]
summary: "List for user"
description: "List for user (get /api/v1/admin/users/{userId}/profiles)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "userId"
in: path
required: true
description: "User id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
post:
operationId: "post_api_v1_admin_users_userId_profiles"
tags: ["Administration"]
summary: "Create for user"
description: "Create for user (post /api/v1/admin/users/{userId}/profiles)."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "userId"
in: path
required: true
description: "User id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"201":
description: "Created."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/watch-history":
get:
operationId: "get_api_v1_admin_watch_history"
tags: ["Administration"]
summary: "Index"
description: "Index (get /api/v1/admin/watch-history)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/webhooks":
get:
operationId: "get_api_v1_admin_webhooks"
tags: ["Administration"]
summary: "Index"
description: "Index (get /api/v1/admin/webhooks)."
x-phlix-middleware: []
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"429":
$ref: "#/components/responses/TooManyRequests"
post:
operationId: "post_api_v1_admin_webhooks"
tags: ["Administration"]
summary: "Create"
description: "Create (post /api/v1/admin/webhooks)."
x-phlix-middleware: []
security: []
responses:
"201":
description: "Created."
content:
application/json:
schema:
type: object
additionalProperties: true
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/webhooks/deliveries":
get:
operationId: "get_api_v1_admin_webhooks_deliveries"
tags: ["Administration"]
summary: "Get deliveries"
description: "Get deliveries (get /api/v1/admin/webhooks/deliveries)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/webhooks/subscriptions":
get:
operationId: "get_api_v1_admin_webhooks_subscriptions"
tags: ["Administration"]
summary: "List subscriptions"
description: "List subscriptions (get /api/v1/admin/webhooks/subscriptions)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
post:
operationId: "post_api_v1_admin_webhooks_subscriptions"
tags: ["Administration"]
summary: "Create subscription"
description: "Create subscription (post /api/v1/admin/webhooks/subscriptions)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"201":
description: "Created."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/webhooks/subscriptions/{id}":
delete:
operationId: "delete_api_v1_admin_webhooks_subscriptions_id"
tags: ["Administration"]
summary: "Delete subscription"
description: "Delete subscription (delete /api/v1/admin/webhooks/subscriptions/{id})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"204":
description: "No Content - resource deleted; response body is empty."
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/webhooks/{id}":
put:
operationId: "put_api_v1_admin_webhooks_id"
tags: ["Administration"]
summary: "Update"
description: "Update (put /api/v1/admin/webhooks/{id})."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
delete:
operationId: "delete_api_v1_admin_webhooks_id"
tags: ["Administration"]
summary: "Delete"
description: "Delete (delete /api/v1/admin/webhooks/{id})."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"204":
description: "No Content - resource deleted; response body is empty."
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/admin/webhooks/{id}/test":
post:
operationId: "post_api_v1_admin_webhooks_id_test"
tags: ["Administration"]
summary: "Test"
description: "Test (post /api/v1/admin/webhooks/{id}/test)."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/airplay/devices":
get:
operationId: "get_api_v1_airplay_devices"
tags: ["Casting"]
summary: "List devices"
description: "List devices (get /api/v1/airplay/devices)."
x-phlix-middleware: [AuthMiddleware, CastingEnabledMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/airplay/devices/{id}/pause":
post:
operationId: "post_api_v1_airplay_devices_id_pause"
tags: ["Casting"]
summary: "Pause"
description: "Pause (post /api/v1/airplay/devices/{id}/pause)."
x-phlix-middleware: [AuthMiddleware, CastingEnabledMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/airplay/devices/{id}/resume":
post:
operationId: "post_api_v1_airplay_devices_id_resume"
tags: ["Casting"]
summary: "Resume"
description: "Resume (post /api/v1/airplay/devices/{id}/resume)."
x-phlix-middleware: [AuthMiddleware, CastingEnabledMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/airplay/devices/{id}/status":
get:
operationId: "get_api_v1_airplay_devices_id_status"
tags: ["Casting"]
summary: "Get status"
description: "Get status (get /api/v1/airplay/devices/{id}/status)."
x-phlix-middleware: [AuthMiddleware, CastingEnabledMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/airplay/devices/{id}/stop":
post:
operationId: "post_api_v1_airplay_devices_id_stop"
tags: ["Casting"]
summary: "Stop"
description: "Stop (post /api/v1/airplay/devices/{id}/stop)."
x-phlix-middleware: [AuthMiddleware, CastingEnabledMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/airplay/devices/{id}/stream":
post:
operationId: "post_api_v1_airplay_devices_id_stream"
tags: ["Casting"]
summary: "Stream"
description: "Stream (post /api/v1/airplay/devices/{id}/stream)."
x-phlix-middleware: [AuthMiddleware, CastingEnabledMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success. Streams the media/binary resource."
content:
'*/*':
schema: {}
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/audiobooks":
get:
operationId: "get_api_v1_audiobooks"
tags: ["Music & Books"]
summary: "List audiobooks"
description: "List audiobooks (get /api/v1/audiobooks)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/audiobooks/{id}":
get:
operationId: "get_api_v1_audiobooks_id"
tags: ["Music & Books"]
summary: "Get audiobook"
description: "Get audiobook (get /api/v1/audiobooks/{id})."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/audiobooks/{id}/chapters":
get:
operationId: "get_api_v1_audiobooks_id_chapters"
tags: ["Music & Books"]
summary: "Get chapters"
description: "Get chapters (get /api/v1/audiobooks/{id}/chapters)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/audiobooks/{id}/progress":
get:
operationId: "get_api_v1_audiobooks_id_progress"
tags: ["Music & Books"]
summary: "Get progress"
description: "Get progress (get /api/v1/audiobooks/{id}/progress)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
post:
operationId: "post_api_v1_audiobooks_id_progress"
tags: ["Music & Books"]
summary: "Save progress"
description: "Save progress (post /api/v1/audiobooks/{id}/progress)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/audiobooks/{id}/read":
get:
operationId: "get_api_v1_audiobooks_id_read"
tags: ["Music & Books"]
summary: "Read audiobook"
description: "Read audiobook (get /api/v1/audiobooks/{id}/read)."
x-phlix-middleware: [SignedUrlMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success. Streams the media/binary resource."
content:
'*/*':
schema: {}
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/audiobooks/{id}/stream":
get:
operationId: "get_api_v1_audiobooks_id_stream"
tags: ["Music & Books"]
summary: "Stream audiobook"
description: "Stream audiobook (get /api/v1/audiobooks/{id}/stream)."
x-phlix-middleware: [SignedUrlMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success. Streams the media/binary resource."
content:
'*/*':
schema: {}
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/auth/hub-token":
post:
operationId: "post_api_v1_auth_hub_token"
tags: ["Authentication"]
summary: "Hub token"
description: "Hub token (post /api/v1/auth/hub-token)."
x-phlix-middleware: []
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"429":
$ref: "#/components/responses/TooManyRequests"
"503":
description: "Server not enrolled with a hub (hub.not_enrolled)."
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
"/api/v1/auth/login":
post:
operationId: "post_api_v1_auth_login"
tags: ["Authentication"]
summary: "Login"
description: "Login (post /api/v1/auth/login)."
x-phlix-middleware: []
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/auth/me":
get:
operationId: "get_api_v1_auth_me"
tags: ["Authentication"]
summary: "Me"
description: "Me (get /api/v1/auth/me)."
x-phlix-middleware: []
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/auth/quick-connect/initiate":
post:
operationId: "post_api_v1_auth_quick_connect_initiate"
tags: ["Authentication"]
summary: "Start a quick-connect pairing"
description: "Start a quick-connect pairing (post /api/v1/auth/quick-connect/initiate)."
x-phlix-middleware: []
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/auth/quick-connect/{code}/approve":
post:
operationId: "post_api_v1_auth_quick_connect_code_approve"
tags: ["Authentication"]
summary: "Approve a quick-connect pairing"
description: "Approve a quick-connect pairing (post /api/v1/auth/quick-connect/{code}/approve)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "code"
in: path
required: true
description: "Quick-connect pairing code (6 unambiguous uppercase letters)."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"409":
description: "Pairing is not pending."
content:
application/json:
schema:
type: object
additionalProperties: true
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/auth/quick-connect/{code}/status":
get:
operationId: "get_api_v1_auth_quick_connect_code_status"
tags: ["Authentication"]
summary: "Poll quick-connect pairing state"
description: "Poll quick-connect pairing state (get /api/v1/auth/quick-connect/{code}/status)."
x-phlix-middleware: []
parameters:
- name: "code"
in: path
required: true
description: "Quick-connect pairing code (6 unambiguous uppercase letters)."
schema:
type: string
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/auth/quick-connect/{code}/token":
post:
operationId: "post_api_v1_auth_quick_connect_code_token"
tags: ["Authentication"]
summary: "Redeem an approved quick-connect pairing"
description: "Redeem an approved quick-connect pairing (post /api/v1/auth/quick-connect/{code}/token)."
x-phlix-middleware: []
parameters:
- name: "code"
in: path
required: true
description: "Quick-connect pairing code (6 unambiguous uppercase letters)."
schema:
type: string
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"400":
$ref: "#/components/responses/BadRequest"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/auth/logout":
post:
operationId: "post_api_v1_auth_logout"
tags: ["Authentication"]
summary: "Logout"
description: >-
Logout (post /api/v1/auth/logout). JSON companion of the form-path
/auth/logout, answered 204 with no body. Every accepted call clears
the phlix_session and phlix_refresh cookies via expiry Set-Cookie
headers, gated by nothing else; a call attached to a user additionally
bumps the server-side token watermark, invalidating every issued
token. A cookie-bearing call whose Origin/Referer fails the
same-site law (including the Sec-Fetch-Site cross-site belt) is
refused by the CSRF gate with 403 and no side effects; bearer calls
never ride that gate.
x-phlix-middleware: []
security: []
responses:
"204":
description: "Logged out; the cookie jar is cleared; no body."
"403":
$ref: "#/components/responses/Forbidden"
"/api/v1/auth/sessions":
get:
operationId: "get_api_v1_auth_sessions"
tags: ["Authentication"]
summary: "List login families"
description: >-
List this account's live login families (get /api/v1/auth/sessions).
CP-029 / D-1a: one row per login ceremony whose token lineage is still
alive, each carrying id, created_at, last_used_at, device_type,
device_name (NULL where the minting surface knew no device) and a
server-computed current flag for the family the caller authenticated
with. Not the legacy playback-device /api/v1/me/sessions registry.
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"/api/v1/auth/sessions/{id}":
delete:
operationId: "delete_api_v1_auth_sessions_id"
tags: ["Authentication"]
summary: "End one login family"
description: >-
End exactly one login family (delete /api/v1/auth/sessions/{id}).
Per-device sign-out: every other device keeps its session and the
account-wide watermark is NOT bumped. Unknown and foreign-owned ids
answer the identical 404 (no probe oracle); revoking one's own
already-revoked family is idempotent and answers 204.
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Family id (the sid claim)."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"204":
description: "Family ended (or was already ended); no body."
"401":
$ref: "#/components/responses/Unauthorized"
"404":
$ref: "#/components/responses/NotFound"
"/api/v1/auth/refresh":
post:
operationId: "post_api_v1_auth_refresh"
tags: ["Authentication"]
summary: "Refresh"
description: "Refresh (post /api/v1/auth/refresh)."
x-phlix-middleware: []
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/auth/register":
post:
operationId: "post_api_v1_auth_register"
tags: ["Authentication"]
summary: "Register"
description: >-
Register (post /api/v1/auth/register). JSON client: 201 with the token
pair when the account is created active (open mode or the first-user
admin bootstrap); 202 with {status:pending} and NO tokens when the
signup gate is 'approval'; 400 on validation failure (duplicate
username/email, policy); 403 code=signup_disabled when the gate is
'disabled' (first user still bootstraps regardless of mode). Browser
form posts get 302 redirects instead (see /auth/register).
x-phlix-middleware: []
security: []
responses:
"201":
description: "Account created active; token pair returned."
content:
application/json:
schema:
type: object
additionalProperties: true
"202":
description: "Account created pending administrator approval; no tokens."
content:
application/json:
schema:
type: object
additionalProperties: true
"400":
$ref: "#/components/responses/BadRequest"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/auth/webauthn/login/options":
post:
operationId: "post_api_v1_auth_webauthn_login_options"
tags: ["Authentication"]
summary: "Start authentication"
description: "Start authentication (post /api/v1/auth/webauthn/login/options)."
x-phlix-middleware: []
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/auth/webauthn/login/verify":
post:
operationId: "post_api_v1_auth_webauthn_login_verify"
tags: ["Authentication"]
summary: "Finish authentication"
description: >-
Finish authentication (post /api/v1/auth/webauthn/login/verify).
Verifies the assertion cryptographically (challenge/origin/rpId/UV
flags plus the COSE signature and a monotonic counter) against the
DB-stored single-use challenge and the stored credential; the identity
in the returned token pair is the OWNER OF THE STORED CREDENTIAL, not
anything the client asserts. Success mints the full JWT pair; any
verification failure (bad signature, expired/consumed challenge,
origin/rpId mismatch, counter rollback, credential/user mismatch)
answers 401.
x-phlix-middleware: []
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/auth/webauthn/register/options":
post:
operationId: "post_api_v1_auth_webauthn_register_options"
tags: ["Authentication"]
summary: "Start registration"
description: "Start registration (post /api/v1/auth/webauthn/register/options)."
x-phlix-middleware: []
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/auth/webauthn/register/verify":
post:
operationId: "post_api_v1_auth_webauthn_register_verify"
tags: ["Authentication"]
summary: "Finish registration"
description: "Finish registration (post /api/v1/auth/webauthn/register/verify)."
x-phlix-middleware: []
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/books":
get:
operationId: "get_api_v1_books"
tags: ["Music & Books"]
summary: "List books"
description: "List books (get /api/v1/books)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/books/{id}":
get:
operationId: "get_api_v1_books_id"
tags: ["Music & Books"]
summary: "Get book"
description: "Get book (get /api/v1/books/{id})."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/books/{id}/cover":
get:
operationId: "get_api_v1_books_id_cover"
tags: ["Music & Books"]
summary: "Get cover"
description: "Get cover (get /api/v1/books/{id}/cover)."
x-phlix-middleware: [SignedUrlMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success. Streams the media/binary resource."
content:
'*/*':
schema: {}
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/books/{id}/download":
get:
operationId: "get_api_v1_books_id_download"
tags: ["Music & Books"]
summary: "Download book"
description: "Download book (get /api/v1/books/{id}/download)."
x-phlix-middleware: [SignedUrlMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success. Streams the media/binary resource."
content:
'*/*':
schema: {}
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/books/{id}/progress":
get:
operationId: "get_api_v1_books_id_progress"
tags: ["Music & Books"]
summary: "Get progress"
description: "Get progress (get /api/v1/books/{id}/progress)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
post:
operationId: "post_api_v1_books_id_progress"
tags: ["Music & Books"]
summary: "Save progress"
description: "Save progress (post /api/v1/books/{id}/progress)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/books/{id}/read":
get:
operationId: "get_api_v1_books_id_read"
tags: ["Music & Books"]
summary: "Read book"
description: "Read book (get /api/v1/books/{id}/read)."
x-phlix-middleware: [SignedUrlMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success. Streams the media/binary resource."
content:
'*/*':
schema: {}
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/cast/devices":
get:
operationId: "get_api_v1_cast_devices"
tags: ["Casting"]
summary: "List devices"
description: "List devices (get /api/v1/cast/devices)."
x-phlix-middleware: [AuthMiddleware, CastingEnabledMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/cast/devices/{id}/cast":
post:
operationId: "post_api_v1_cast_devices_id_cast"
tags: ["Casting"]
summary: "Cast"
description: "Cast (post /api/v1/cast/devices/{id}/cast)."
x-phlix-middleware: [AuthMiddleware, CastingEnabledMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/cast/devices/{id}/pause":
post:
operationId: "post_api_v1_cast_devices_id_pause"
tags: ["Casting"]
summary: "Pause"
description: "Pause (post /api/v1/cast/devices/{id}/pause)."
x-phlix-middleware: [AuthMiddleware, CastingEnabledMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/cast/devices/{id}/play":
post:
operationId: "post_api_v1_cast_devices_id_play"
tags: ["Casting"]
summary: "Play"
description: "Play (post /api/v1/cast/devices/{id}/play)."
x-phlix-middleware: [AuthMiddleware, CastingEnabledMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/cast/devices/{id}/seek":
post:
operationId: "post_api_v1_cast_devices_id_seek"
tags: ["Casting"]
summary: "Seek"
description: "Seek (post /api/v1/cast/devices/{id}/seek)."
x-phlix-middleware: [AuthMiddleware, CastingEnabledMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/cast/devices/{id}/status":
get:
operationId: "get_api_v1_cast_devices_id_status"
tags: ["Casting"]
summary: "Get status"
description: "Get status (get /api/v1/cast/devices/{id}/status)."
x-phlix-middleware: [AuthMiddleware, CastingEnabledMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/cast/devices/{id}/stop":
post:
operationId: "post_api_v1_cast_devices_id_stop"
tags: ["Casting"]
summary: "Stop"
description: "Stop (post /api/v1/cast/devices/{id}/stop)."
x-phlix-middleware: [AuthMiddleware, CastingEnabledMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/collections":
get:
operationId: "get_api_v1_collections"
tags: ["Collections"]
summary: "Index"
description: "Index (get /api/v1/collections)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
post:
operationId: "post_api_v1_collections"
tags: ["Collections"]
summary: "Create"
description: "Create (post /api/v1/collections)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"201":
description: "Created."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/collections/{id}":
get:
operationId: "get_api_v1_collections_id"
tags: ["Collections"]
summary: "Show"
description: "Show (get /api/v1/collections/{id})."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
put:
operationId: "put_api_v1_collections_id"
tags: ["Collections"]
summary: "Update"
description: "Update (put /api/v1/collections/{id})."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
delete:
operationId: "delete_api_v1_collections_id"
tags: ["Collections"]
summary: "Delete"
description: "Delete (delete /api/v1/collections/{id})."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/collections/{id}/bulk-add":
post:
operationId: "post_api_v1_collections_id_bulk_add"
tags: ["Collections"]
summary: "Bulk add"
description: "Bulk add (post /api/v1/collections/{id}/bulk-add)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/collections/{id}/items/{mediaItemId}":
post:
operationId: "post_api_v1_collections_id_items_mediaItemId"
tags: ["Collections"]
summary: "Add item"
description: "Add item (post /api/v1/collections/{id}/items/{mediaItemId})."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
- name: "mediaItemId"
in: path
required: true
description: "Media item id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
delete:
operationId: "delete_api_v1_collections_id_items_mediaItemId"
tags: ["Collections"]
summary: "Remove item"
description: "Remove item (delete /api/v1/collections/{id}/items/{mediaItemId})."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
- name: "mediaItemId"
in: path
required: true
description: "Media item id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/collections/{id}/refresh":
post:
operationId: "post_api_v1_collections_id_refresh"
tags: ["Collections"]
summary: "Refresh"
description: "Refresh (post /api/v1/collections/{id}/refresh)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"409":
description: "Smart collection references a smart playlist that does not exist (SRV-M19)."
content:
application/json:
schema:
type: object
additionalProperties: true
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/dlna/renderers":
get:
operationId: "get_api_v1_dlna_renderers"
tags: ["Casting"]
summary: "List renderers"
description: "List renderers (get /api/v1/dlna/renderers)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/dlna/renderers/{id}/pause":
post:
operationId: "post_api_v1_dlna_renderers_id_pause"
tags: ["Casting"]
summary: "Pause"
description: "Pause (post /api/v1/dlna/renderers/{id}/pause)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/dlna/renderers/{id}/play":
post:
operationId: "post_api_v1_dlna_renderers_id_play"
tags: ["Casting"]
summary: "Play to"
description: "Play to (post /api/v1/dlna/renderers/{id}/play)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/dlna/renderers/{id}/seek":
post:
operationId: "post_api_v1_dlna_renderers_id_seek"
tags: ["Casting"]
summary: "Seek"
description: "Seek (post /api/v1/dlna/renderers/{id}/seek)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/dlna/renderers/{id}/status":
get:
operationId: "get_api_v1_dlna_renderers_id_status"
tags: ["Casting"]
summary: "Get status"
description: "Get status (get /api/v1/dlna/renderers/{id}/status)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/dlna/renderers/{id}/stop":
post:
operationId: "post_api_v1_dlna_renderers_id_stop"
tags: ["Casting"]
summary: "Stop"
description: "Stop (post /api/v1/dlna/renderers/{id}/stop)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/health/network":
get:
operationId: "get_api_v1_health_network"
tags: ["System"]
summary: "Network"
description: "Network (get /api/v1/health/network)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/health/relay":
get:
operationId: "get_api_v1_health_relay"
tags: ["System"]
summary: "Relay"
description: "Relay (get /api/v1/health/relay)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/libraries":
get:
operationId: "get_api_v1_libraries"
tags: ["Libraries"]
summary: "Index"
description: "Index (get /api/v1/libraries)."
x-phlix-middleware: []
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"429":
$ref: "#/components/responses/TooManyRequests"
post:
operationId: "post_api_v1_libraries"
tags: ["Libraries"]
summary: "Create"
description: "Create (post /api/v1/libraries)."
x-phlix-middleware: []
security: []
responses:
"201":
description: "Created."
content:
application/json:
schema:
type: object
additionalProperties: true
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/libraries/{id}":
get:
operationId: "get_api_v1_libraries_id"
tags: ["Libraries"]
summary: "Show"
description: "Show (get /api/v1/libraries/{id})."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
put:
operationId: "put_api_v1_libraries_id"
tags: ["Libraries"]
summary: "Update"
description: "Update (put /api/v1/libraries/{id})."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
delete:
operationId: "delete_api_v1_libraries_id"
tags: ["Libraries"]
summary: "Delete"
description: "Delete (delete /api/v1/libraries/{id})."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/libraries/{id}/clear-artwork":
post:
operationId: "post_api_v1_libraries_id_clear_artwork"
tags: ["Libraries"]
summary: "Clear artwork"
description: "Clear artwork (post /api/v1/libraries/{id}/clear-artwork)."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"202":
description: "Accepted - asynchronous job queued (body: job_id, status)."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/libraries/{id}/clear-metadata":
post:
operationId: "post_api_v1_libraries_id_clear_metadata"
tags: ["Libraries"]
summary: "Clear metadata"
description: "Clear metadata (post /api/v1/libraries/{id}/clear-metadata)."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"202":
description: "Accepted - asynchronous job queued (body: job_id, status)."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/libraries/{id}/delete-all":
post:
operationId: "post_api_v1_libraries_id_delete_all"
tags: ["Libraries"]
summary: "Delete all"
description: "Delete all (post /api/v1/libraries/{id}/delete-all)."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"202":
description: "Accepted - asynchronous job queued (body: job_id, status)."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/libraries/{id}/items":
get:
operationId: "get_api_v1_libraries_id_items"
tags: ["Libraries"]
summary: "Get library items"
description: "Get library items (get /api/v1/libraries/{id}/items)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/libraries/{id}/match-metadata":
post:
operationId: "post_api_v1_libraries_id_match_metadata"
tags: ["Libraries"]
summary: "Match metadata"
description: "Match metadata (post /api/v1/libraries/{id}/match-metadata)."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"202":
description: "Accepted - asynchronous job queued (body: job_id, status)."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/libraries/{id}/prune":
post:
operationId: "post_api_v1_libraries_id_prune"
tags: ["Libraries"]
summary: "Prune"
description: "Prune (post /api/v1/libraries/{id}/prune)."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"202":
description: "Accepted - asynchronous job queued (body: job_id, status)."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/libraries/{id}/refresh-metadata":
post:
operationId: "post_api_v1_libraries_id_refresh_metadata"
tags: ["Libraries"]
summary: "Refresh metadata"
description: "Refresh metadata (post /api/v1/libraries/{id}/refresh-metadata)."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"202":
description: "Accepted - asynchronous job queued (body: job_id, status)."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/libraries/{id}/regenerate-assets":
post:
operationId: "post_api_v1_libraries_id_regenerate_assets"
tags: ["Libraries"]
summary: "Regenerate assets"
description: "Regenerate assets (post /api/v1/libraries/{id}/regenerate-assets)."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"202":
description: "Accepted - asynchronous job queued (body: job_id, status)."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/libraries/{id}/rescan":
post:
operationId: "post_api_v1_libraries_id_rescan"
tags: ["Libraries"]
summary: "Rescan"
description: "Rescan (post /api/v1/libraries/{id}/rescan)."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"202":
description: "Accepted - asynchronous job queued (body: job_id, status)."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/libraries/{id}/scan":
post:
operationId: "post_api_v1_libraries_id_scan"
tags: ["Libraries"]
summary: "Scan"
description: "Scan (post /api/v1/libraries/{id}/scan)."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"202":
description: "Accepted - asynchronous job queued (body: job_id, status)."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/libraries/{id}/scan-history":
get:
operationId: "get_api_v1_libraries_id_scan_history"
tags: ["Libraries"]
summary: "Scan history"
description: "Scan history (get /api/v1/libraries/{id}/scan-history)."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/libraries/{id}/scan-status":
get:
operationId: "get_api_v1_libraries_id_scan_status"
tags: ["Libraries"]
summary: "Scan status"
description: "Scan status (get /api/v1/libraries/{id}/scan-status)."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/libraries/{id}/theme-media":
get:
operationId: "get_api_v1_libraries_id_theme_media"
tags: ["Libraries"]
summary: "Get theme media"
description: "Get theme media (get /api/v1/libraries/{id}/theme-media)."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
delete:
operationId: "delete_api_v1_libraries_id_theme_media"
tags: ["Libraries"]
summary: "Delete theme media"
description: "Delete theme media (delete /api/v1/libraries/{id}/theme-media)."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/libraries/{id}/theme-media/scan":
post:
operationId: "post_api_v1_libraries_id_theme_media_scan"
tags: ["Libraries"]
summary: "Scan theme media"
description: "Scan theme media (post /api/v1/libraries/{id}/theme-media/scan)."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/libraries/{libraryId}/collections":
get:
operationId: "get_api_v1_libraries_libraryId_collections"
tags: ["Libraries"]
summary: "For library"
description: "For library (get /api/v1/libraries/{libraryId}/collections)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "libraryId"
in: path
required: true
description: "Library id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/me/continue-watching":
get:
operationId: "get_api_v1_me_continue_watching"
tags: ["Sessions"]
summary: "Get continue watching"
description: "Get continue watching (get /api/v1/me/continue-watching)."
x-phlix-middleware: []
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/me/playback/preferences":
get:
operationId: "get_api_v1_me_playback_preferences"
tags: ["Sessions"]
summary: "Get playback preferences"
description: "Get playback preferences (get /api/v1/me/playback/preferences)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
put:
operationId: "put_api_v1_me_playback_preferences"
tags: ["Sessions"]
summary: "Update playback preferences"
description: "Update playback preferences (put /api/v1/me/playback/preferences)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/me/history":
get:
operationId: "get_api_v1_me_history"
tags: ["Users"]
summary: "Get watch history"
description: "Get watch history (get /api/v1/me/history)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/me/recommendations":
get:
operationId: "get_api_v1_me_recommendations"
tags: ["Sessions"]
summary: "Get recommendations"
description: "Get recommendations (get /api/v1/me/recommendations)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/me/recommendations/{mediaItemId}":
delete:
operationId: "delete_api_v1_me_recommendations_mediaItemId"
tags: ["Sessions"]
summary: "Dismiss recommendation"
description: "Dismiss recommendation (delete /api/v1/me/recommendations/{mediaItemId})."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "mediaItemId"
in: path
required: true
description: "Media item id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/me/sessions":
get:
operationId: "get_api_v1_me_sessions"
tags: ["Sessions"]
summary: "List sessions"
description: "List sessions (get /api/v1/me/sessions)."
x-phlix-middleware: []
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/me/webauthn/credentials":
get:
operationId: "get_api_v1_me_webauthn_credentials"
tags: ["Sessions"]
summary: "List credentials"
description: "List credentials (get /api/v1/me/webauthn/credentials)."
x-phlix-middleware: []
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/me/webauthn/credentials/{id}":
delete:
operationId: "delete_api_v1_me_webauthn_credentials_id"
tags: ["Sessions"]
summary: "Delete credential"
description: "Delete credential (delete /api/v1/me/webauthn/credentials/{id})."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media":
get:
operationId: "get_api_v1_media"
tags: ["Media"]
summary: "Get media"
description: "Get media (get /api/v1/media)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/facets":
get:
operationId: "get_api_v1_media_facets"
tags: ["Media"]
summary: "Get media facets"
description: "Get media facets (get /api/v1/media/facets)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/index":
get:
operationId: "get_api_v1_media_index"
tags: ["Media"]
summary: "Index"
description: "Index (get /api/v1/media/index)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/letter-index":
get:
operationId: "get_api_v1_media_letter_index"
tags: ["Media"]
summary: "Get letter index"
description: "Get letter index (get /api/v1/media/letter-index)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/most-watched":
get:
operationId: "get_api_v1_media_most_watched"
tags: ["Media"]
summary: "Most watched"
description: "Most watched (get /api/v1/media/most-watched)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/search":
get:
operationId: "get_api_v1_media_search"
tags: ["Media"]
summary: "Search media"
description: "Search media (get /api/v1/media/search)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/search/by-marker":
get:
operationId: "get_api_v1_media_search_by_marker"
tags: ["Media"]
summary: "Search by marker"
description: "Search by marker (get /api/v1/media/search/by-marker)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}":
get:
operationId: "get_api_v1_media_id"
tags: ["Media"]
summary: "Get media item"
description: "Get media item (get /api/v1/media/{id})."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
delete:
operationId: "delete_api_v1_media_id"
tags: ["Media"]
summary: "Delete"
description: "Delete (delete /api/v1/media/{id})."
x-phlix-middleware: [AdminMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/chapters":
get:
operationId: "get_api_v1_media_id_chapters"
tags: ["Media"]
summary: "Get media chapters"
description: "Get media chapters (get /api/v1/media/{id}/chapters)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/chapters/{index}/thumbnail":
get:
operationId: "get_api_v1_media_id_chapters_index_thumbnail"
tags: ["Media"]
summary: "Get chapter thumbnail"
description: "Get chapter thumbnail (get /api/v1/media/{id}/chapters/{index}/thumbnail)."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
- name: "index"
in: path
required: true
description: "Zero-based index."
schema:
type: string
security: []
responses:
"200":
description: "Success. Streams the media/binary resource."
content:
'*/*':
schema: {}
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/collection":
get:
operationId: "get_api_v1_media_id_collection"
tags: ["Media"]
summary: "Get media item collection"
description: "Get media item collection (get /api/v1/media/{id}/collection)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/download":
get:
operationId: "get_api_v1_media_id_download"
tags: ["Media"]
summary: "Get download"
description: "Get download (get /api/v1/media/{id}/download)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success. Streams the media/binary resource."
content:
'*/*':
schema: {}
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/extras":
get:
operationId: "get_api_v1_media_id_extras"
tags: ["Media"]
summary: "Get extras"
description: "Get extras (get /api/v1/media/{id}/extras)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/extras/other":
get:
operationId: "get_api_v1_media_id_extras_other"
tags: ["Media"]
summary: "Get other extras"
description: "Get other extras (get /api/v1/media/{id}/extras/other)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/favorite":
post:
operationId: "post_api_v1_media_id_favorite"
tags: ["Media"]
summary: "Add favorite"
description: "Add favorite (post /api/v1/media/{id}/favorite)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
delete:
operationId: "delete_api_v1_media_id_favorite"
tags: ["Media"]
summary: "Remove favorite"
description: "Remove favorite (delete /api/v1/media/{id}/favorite)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/like":
put:
operationId: "put_api_v1_media_id_like"
tags: ["Media"]
summary: "Set like level"
description: "Set like level (put /api/v1/media/{id}/like)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/markers":
get:
operationId: "get_api_v1_media_id_markers"
tags: ["Media"]
summary: "Get markers"
description: "Get markers (get /api/v1/media/{id}/markers)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
post:
operationId: "post_api_v1_media_id_markers"
tags: ["Media"]
summary: "Create marker"
description: "Create marker (post /api/v1/media/{id}/markers)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/markers/intro":
get:
operationId: "get_api_v1_media_id_markers_intro"
tags: ["Media"]
summary: "Get intro marker"
description: "Get intro marker (get /api/v1/media/{id}/markers/intro)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/markers/outro":
get:
operationId: "get_api_v1_media_id_markers_outro"
tags: ["Media"]
summary: "Get outro marker"
description: "Get outro marker (get /api/v1/media/{id}/markers/outro)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/markers/search":
get:
operationId: "get_api_v1_media_id_markers_search"
tags: ["Media"]
summary: "Search media markers"
description: "Search media markers (get /api/v1/media/{id}/markers/search)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/markers/{markerId}":
delete:
operationId: "delete_api_v1_media_id_markers_markerId"
tags: ["Media"]
summary: "Delete marker"
description: "Delete marker (delete /api/v1/media/{id}/markers/{markerId})."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
- name: "markerId"
in: path
required: true
description: "Marker id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/match/apply":
post:
operationId: "post_api_v1_media_id_match_apply"
tags: ["Media"]
summary: "Apply"
description: "Apply (post /api/v1/media/{id}/match/apply)."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/match/search":
get:
operationId: "get_api_v1_media_id_match_search"
tags: ["Media"]
summary: "Search"
description: "Search (get /api/v1/media/{id}/match/search)."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/metadata":
patch:
operationId: "patch_api_v1_media_id_metadata"
tags: ["Media"]
summary: "Update metadata"
description: "Update metadata (patch /api/v1/media/{id}/metadata)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/missing-episodes":
get:
operationId: "get_api_v1_media_id_missing_episodes"
tags: ["Media"]
summary: "Get missing episodes"
description: "Get missing episodes (get /api/v1/media/{id}/missing-episodes)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/playback":
get:
operationId: "get_api_v1_media_id_playback"
tags: ["Media"]
summary: "Get playback info"
description: "Get playback info (get /api/v1/media/{id}/playback)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/playback-info":
get:
operationId: "get_api_v1_media_id_playback_info"
tags: ["Media"]
summary: "Get playback info"
description: "Get playback info (get /api/v1/media/{id}/playback-info)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/poster":
put:
operationId: "put_api_v1_media_id_poster"
tags: ["Media"]
summary: "Set poster"
description: "Set poster (put /api/v1/media/{id}/poster)."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success. Streams the media/binary resource."
content:
'*/*':
schema: {}
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/posters":
get:
operationId: "get_api_v1_media_id_posters"
tags: ["Media"]
summary: "List posters"
description: "List posters (get /api/v1/media/{id}/posters)."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/rating":
put:
operationId: "put_api_v1_media_id_rating"
tags: ["Media"]
summary: "Set rating"
description: "Set rating (put /api/v1/media/{id}/rating)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
delete:
operationId: "delete_api_v1_media_id_rating"
tags: ["Media"]
summary: "Clear rating"
description: "Clear rating (delete /api/v1/media/{id}/rating)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/ratings":
get:
operationId: "get_api_v1_media_id_ratings"
tags: ["Media"]
summary: "Get ratings"
description: "Get ratings (get /api/v1/media/{id}/ratings)."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
post:
operationId: "post_api_v1_media_id_ratings"
tags: ["Media"]
summary: "Create rating"
description: "Create rating (post /api/v1/media/{id}/ratings)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/similar":
get:
operationId: "get_api_v1_media_id_similar"
tags: ["Media"]
summary: "Get similar items"
description: "Get similar items (get /api/v1/media/{id}/similar)."
x-phlix-middleware: [AuthMiddleware, AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/subtitles":
get:
operationId: "get_api_v1_media_id_subtitles"
tags: ["Media"]
summary: "List tracks"
description: "List tracks (get /api/v1/media/{id}/subtitles)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/subtitles/download":
post:
operationId: "post_api_v1_media_id_subtitles_download"
tags: ["Media"]
summary: "Download"
description: "Download (post /api/v1/media/{id}/subtitles/download)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success. Streams the media/binary resource."
content:
'*/*':
schema: {}
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/subtitles/external/{streamId}":
get:
operationId: "get_api_v1_media_id_subtitles_external_streamId"
tags: ["Media"]
summary: "Serve external"
description: "Serve external (get /api/v1/media/{id}/subtitles/external/{streamId})."
x-phlix-middleware: [SignedUrlMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
- name: "streamId"
in: path
required: true
description: "Audio/subtitle stream index."
schema:
type: string
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/subtitles/search":
get:
operationId: "get_api_v1_media_id_subtitles_search"
tags: ["Media"]
summary: "Search"
description: "Search (get /api/v1/media/{id}/subtitles/search)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/subtitles/{index}":
get:
operationId: "get_api_v1_media_id_subtitles_index"
tags: ["Media"]
summary: "Get track"
description: "Get track (get /api/v1/media/{id}/subtitles/{index})."
x-phlix-middleware: [SignedUrlMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
- name: "index"
in: path
required: true
description: "Zero-based index."
schema:
type: string
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/trailers":
get:
operationId: "get_api_v1_media_id_trailers"
tags: ["Media"]
summary: "Get trailers"
description: "Get trailers (get /api/v1/media/{id}/trailers)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/transcode":
post:
operationId: "post_api_v1_media_id_transcode"
tags: ["Media"]
summary: "Start"
description: "Start (post /api/v1/media/{id}/transcode)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/trickplay":
get:
operationId: "get_api_v1_media_id_trickplay"
tags: ["Media"]
summary: "Get trickplay"
description: "Get trickplay (get /api/v1/media/{id}/trickplay)."
x-phlix-middleware: []
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/unwatched":
post:
operationId: "post_api_v1_media_id_unwatched"
tags: ["Media"]
summary: "Mark unwatched"
description: "Mark unwatched (post /api/v1/media/{id}/unwatched)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/media/{id}/watched":
post:
operationId: "post_api_v1_media_id_watched"
tags: ["Media"]
summary: "Mark watched"
description: "Mark watched (post /api/v1/media/{id}/watched)."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/music/album":
get:
operationId: "get_api_v1_music_album"
tags: ["Music & Books"]
summary: "Get album by name query param"
description: "Get album (get /api/v1/music/album). The album TITLE rides the required `name` query parameter, percent-encoded on the wire and decoded once by the request layer; the only spelling whose name can contain `/`, since the relay path guard rejects encoded slashes in the path segment. `artist` optionally disambiguates shared titles."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "name"
in: query
required: true
description: "Album title."
schema:
type: string
- name: "artist"
in: query
required: false
description: "Artist name."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/music/albums":
get:
operationId: "get_api_v1_music_albums"
tags: ["Music & Books"]
summary: "List albums"
description: "List albums (get /api/v1/music/albums)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/music/albums/{mbid}":
get:
operationId: "get_api_v1_music_albums_mbid"
tags: ["Music & Books"]
summary: "Get album"
description: "Get album (get /api/v1/music/albums/{mbid})."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "mbid"
in: path
required: true
description: "MusicBrainz id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/music/artist":
get:
operationId: "get_api_v1_music_artist"
tags: ["Music & Books"]
summary: "Get artist by name query param"
description: "Get artist (get /api/v1/music/artist). The artist NAME rides the required `name` query parameter, percent-encoded on the wire and decoded once by the request layer; the only spelling whose name can contain `/`, since the relay path guard rejects encoded slashes in the path segment."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "name"
in: query
required: true
description: "Artist name."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/music/artists":
get:
operationId: "get_api_v1_music_artists"
tags: ["Music & Books"]
summary: "List artists"
description: "List artists (get /api/v1/music/artists)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/music/artists/{mbid}":
get:
operationId: "get_api_v1_music_artists_mbid"
tags: ["Music & Books"]
summary: "Get artist"
description: "Get artist (get /api/v1/music/artists/{mbid})."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "mbid"
in: path
required: true
description: "MusicBrainz id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/music/now-playing":
get:
operationId: "get_api_v1_music_now_playing"
tags: ["Music & Books"]
summary: "Now playing"
description: "Now playing (get /api/v1/music/now-playing)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/music/scan":
post:
operationId: "post_api_v1_music_scan"
tags: ["Music & Books"]
summary: "Scan music directory"
description: "Scan music directory (post /api/v1/music/scan)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/music/tracks":
get:
operationId: "get_api_v1_music_tracks"
tags: ["Music & Books"]
summary: "List tracks"
description: "List tracks (get /api/v1/music/tracks)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/music/tracks/{id}":
get:
operationId: "get_api_v1_music_tracks_id"
tags: ["Music & Books"]
summary: "Get track"
description: "Get track (get /api/v1/music/tracks/{id})."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/oauth/lastfm":
get:
operationId: "get_api_v1_oauth_lastfm"
tags: ["Integrations"]
summary: "Api authorize"
description: "Api authorize (get /api/v1/oauth/lastfm)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"302":
description: "Found - browser redirect to the provider authorization URL. No JSON body."
headers:
Location:
description: "Provider authorization URL."
schema:
type: string
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/oauth/lastfm/callback":
get:
operationId: "get_api_v1_oauth_lastfm_callback"
tags: ["Integrations"]
summary: "Api callback"
description: "Api callback (get /api/v1/oauth/lastfm/callback)."
x-phlix-middleware: [AdminMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"302":
description: "Found - browser redirect to the application continuation route. No JSON body."
headers:
Location:
description: "Application route carrying the handshake outcome."
schema:
type: string
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/oauth/trakt":
get:
operationId: "get_api_v1_oauth_trakt"
tags: ["Integrations"]
summary: "Authorize"
description: "Authorize (get /api/v1/oauth/trakt)."
x-phlix-middleware: []
security: []
responses:
"302":
description: "Found - browser redirect to the provider authorization URL. No JSON body."
headers:
Location:
description: "Provider authorization URL."
schema:
type: string
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/oauth/trakt/callback":
get:
operationId: "get_api_v1_oauth_trakt_callback"
tags: ["Integrations"]
summary: "Callback"
description: "Callback (get /api/v1/oauth/trakt/callback)."
x-phlix-middleware: []
security: []
responses:
"302":
description: "Found - browser redirect to the application continuation route. No JSON body."
headers:
Location:
description: "Application route carrying the handshake outcome."
schema:
type: string
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/photo/albums":
get:
operationId: "get_api_v1_photo_albums"
tags: ["Photos"]
summary: "List albums"
description: "List albums (get /api/v1/photo/albums)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/photo/albums/{id}":
get:
operationId: "get_api_v1_photo_albums_id"
tags: ["Photos"]
summary: "Get album"
description: "Get album (get /api/v1/photo/albums/{id})."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/photo/photos":
get:
operationId: "get_api_v1_photo_photos"
tags: ["Photos"]
summary: "List photos"
description: "List photos (get /api/v1/photo/photos)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/photo/photos/{id}":
get:
operationId: "get_api_v1_photo_photos_id"
tags: ["Photos"]
summary: "Get photo"
description: "Get photo (get /api/v1/photo/photos/{id})."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
# S73: person-photo bytes from S72's flat `people-{tmdbPersonId}` artwork cache.
# Registered OUTSIDE the auth group (route-level middleware []), but gated
# handler-side by ArtworkByteResponder::rejectUnlessSigned (session user OR a
# valid signed-URL) — so `[]` is not proof of ungated (S272): a missing/invalid
# `w` width yields 400 BEFORE auth, an unauthenticated request yields 401, a
# variant miss yields 404, a conditional-GET hit yields 304, and success is the
# image/jpeg (or image/png for the logo width) byte stream. Mirrors
# tests/Unit/Server/WebPortal/WebPortalRouterWirePathGuardTest MANIFEST.
"/api/v1/people/{personId}/photo":
get:
operationId: "get_api_v1_people_person_photo"
tags: ["Media"]
summary: "Get person photo"
description: "Get person photo (get /api/v1/people/{personId}/photo)."
x-phlix-middleware: []
parameters:
- name: "personId"
in: path
required: true
description: "TMDB person id — the flat artwork cache key suffix S72 writes."
schema:
type: string
security: []
responses:
"200":
description: "Success. Streams the person-photo image (image/jpeg, or image/png for the logo width)."
content:
'*/*':
schema: {}
"304":
description: "Not Modified — conditional GET matching the resource validators."
"400":
$ref: "#/components/responses/BadRequest"
"401":
$ref: "#/components/responses/Unauthorized"
"404":
$ref: "#/components/responses/NotFound"
"/api/v1/photo/photos/{id}/full":
get:
operationId: "get_api_v1_photo_photos_id_full"
tags: ["Photos"]
summary: "Get full"
description: "Get full (get /api/v1/photo/photos/{id}/full)."
x-phlix-middleware: [SignedUrlMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success. Streams the media/binary resource."
content:
'*/*':
schema: {}
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/photo/photos/{id}/thumbnail":
get:
operationId: "get_api_v1_photo_photos_id_thumbnail"
tags: ["Photos"]
summary: "Get thumbnail"
description: "Get thumbnail (get /api/v1/photo/photos/{id}/thumbnail)."
x-phlix-middleware: [SignedUrlMiddleware]
parameters:
- name: "id"
in: path
required: true
description: "Resource id."
schema:
type: string
security: []
responses:
"200":
description: "Success. Streams the media/binary resource."
content:
'*/*':
schema: {}
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/photo/slideshow":
get:
operationId: "get_api_v1_photo_slideshow"
tags: ["Photos"]
summary: "Slideshow"
description: "Slideshow (get /api/v1/photo/slideshow)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/playlists":
post:
operationId: "post_api_v1_playlists"
tags: ["Collections"]
summary: "Create"
description: "Create (post /api/v1/playlists)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"201":
description: "Created."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/profiles":
get:
operationId: "get_api_v1_profiles"
tags: ["Profiles"]
summary: "List"
description: "List (get /api/v1/profiles)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"429":
$ref: "#/components/responses/TooManyRequests"
post:
operationId: "post_api_v1_profiles"
tags: ["Profiles"]
summary: "Create"
description: "Create (post /api/v1/profiles)."
x-phlix-middleware: [AuthMiddleware]
security:
- bearerAuth: []
- sessionCookie: []
responses:
"201":
description: "Created."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
"/api/v1/profiles/{profileId}":
get:
operationId: "get_api_v1_profiles_profileId"
tags: ["Profiles"]
summary: "Get"
description: "Get (get /api/v1/profiles/{profileId})."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "profileId"
in: path
required: true
description: "User profile id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"429":
$ref: "#/components/responses/TooManyRequests"
put:
operationId: "put_api_v1_profiles_profileId"
tags: ["Profiles"]
summary: "Update"
description: "Update (put /api/v1/profiles/{profileId})."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "profileId"
in: path
required: true
description: "User profile id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object
additionalProperties: true
"401":
$ref: "#/components/responses/Unauthorized"
"403":
$ref: "#/components/responses/Forbidden"
"404":
$ref: "#/components/responses/NotFound"
"400":
$ref: "#/components/responses/BadRequest"
"429":
$ref: "#/components/responses/TooManyRequests"
delete:
operationId: "delete_api_v1_profiles_profileId"
tags: ["Profiles"]
summary: "Delete"
description: "Delete (delete /api/v1/profiles/{profileId})."
x-phlix-middleware: [AuthMiddleware]
parameters:
- name: "profileId"
in: path
required: true
description: "User profile id."
schema:
type: string
security:
- bearerAuth: []
- sessionCookie: []
responses:
"200":
description: "Success."
content:
application/json:
schema:
type: object