openapi: 3.0.3 info: title: 'Charisma Spotify API' description: "API documentation de l'application Charisma Spotify" version: 1.0.0 servers: - url: 'https://app.api.prd.editions-charisma.fr' paths: /api/login: post: summary: 'POST /api/login' description: "Request a token for a user's session after providing credentials" parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: accessToken: eyJhbGciOiJSUz...O3pGQ refreshToken: eyJhbGci...RT8 accessExpiresIn: 1800 refreshExpiresIn: 1800 tokenType: Bearer scope: 'openid profile email' properties: accessToken: type: string example: eyJhbGciOiJSUz...O3pGQ refreshToken: type: string example: eyJhbGci...RT8 accessExpiresIn: type: integer example: 1800 refreshExpiresIn: type: integer example: 1800 tokenType: type: string example: Bearer scope: type: string example: 'openid profile email' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Invalid user credentials' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Invalid user credentials' tags: - '01 - User Authentication' requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: 'The email or userId of the user. Must be a valid email address.' example: azerty@azerty.com password: type: string description: 'The password of the user.' example: azerty required: - email - password security: [] /api/refresh: post: summary: 'Get new token from refresh token' description: 'Get a new token from refresh token' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: accessToken: eyJhbGciOiJSUz...O3pGQ refreshToken: null accessExpiresIn: 1800 refreshExpiresIn: 1800 tokenType: Bearer scope: 'openid profile email' properties: accessToken: type: string example: eyJhbGciOiJSUz...O3pGQ refreshToken: type: string example: null accessExpiresIn: type: integer example: 1800 refreshExpiresIn: type: integer example: 1800 tokenType: type: string example: Bearer scope: type: string example: 'openid profile email' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Invalid user credentials' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Invalid user credentials' tags: - '01 - User Authentication' requestBody: required: true content: application/json: schema: type: object properties: refresh_token: type: string description: '' example: voluptatem required: - refresh_token security: [] /api/userinfo: get: summary: 'GET /api/userinfo' description: "Get the user's information" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: userId: 927558a5-354c-4147-86b5-4c74392760a0 firstname: Azerty lastname: UIOP roles: - ed_streaming_administrator - offline_access - uma_authorization email: azerty@azerty.com username: azerty@azerty.com enabled: null properties: userId: type: string example: 927558a5-354c-4147-86b5-4c74392760a0 firstname: type: string example: Azerty lastname: type: string example: UIOP roles: type: array example: - ed_streaming_administrator - offline_access - uma_authorization items: type: string email: type: string example: azerty@azerty.com username: type: string example: azerty@azerty.com enabled: type: string example: null 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' tags: - '01 - User Authentication' /api/logout: post: summary: 'POST /api/logout' description: "Logout the user's session" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 204: description: '' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' tags: - '01 - User Authentication' /api/authorize: post: summary: 'Get a service access token [SAT]' description: 'Request an authorization token for a SAT session after providing credentials' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: accessToken: eyJhbGciOiJSUz...O3pGQ refreshToken: null accessExpiresIn: 1800 refreshExpiresIn: 1800 tokenType: Bearer scope: 'openid profile email' properties: accessToken: type: string example: eyJhbGciOiJSUz...O3pGQ refreshToken: type: string example: null accessExpiresIn: type: integer example: 1800 refreshExpiresIn: type: integer example: 1800 tokenType: type: string example: Bearer scope: type: string example: 'openid profile email' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Invalid user credentials' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Invalid user credentials' tags: - '01 - User Authentication' requestBody: required: true content: application/json: schema: type: object properties: clientId: type: string description: '' example: ut clientSecret: type: string description: '' example: pariatur required: - clientId - clientSecret security: [] /api/media/author/find: post: summary: 'Rechercher un auteur' description: 'Permet de rechercher les auteurs' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Invalid user credentials' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Invalid user credentials' 200: description: '' content: text/plain: schema: type: string example: "{\n \"status\": \"ok\",\n \"data\": {\n \"items\": Author[],\n \"page\": 1,\n \"maxPage\": 3,\n \"resultPerPage\": 20\n }\n}" tags: - '02 - Médias (Front)' requestBody: required: true content: application/json: schema: type: object properties: content: type: string description: 'Recherche dans les champs fullname description.' example: azerty section: type: array description: 'Liste de sections.' example: null items: type: string page: type: integer description: 'numéro de la page à renvoyer.' example: 1 resultPerPage: type: integer description: 'nombre de résultat à renvoyer.' example: 20 sortBy: type: string description: 'champ utilisé pour le tri. id, fullname, releaseDate (defaut).' example: releaseDate sortDirection: type: string description: 'ordre de tri ASC ou DESC (defaut).' example: DESC required: - section - page - resultPerPage /api/media/category/find: post: summary: 'Rechercher une catégorie' description: 'Permet de rechercher les categories' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Invalid user credentials' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Invalid user credentials' 200: description: '' content: text/plain: schema: type: string example: "{\n \"status\": \"ok\",\n \"data\": {\n \"items\": Category[],\n \"page\": 1,\n \"maxPage\": 3,\n \"resultPerPage\": 20\n }\n}" tags: - '02 - Médias (Front)' requestBody: required: true content: application/json: schema: type: object properties: content: type: string description: 'Recherche dans les champs name.' example: azerty page: type: integer description: 'numéro de la page à renvoyer.' example: 1 resultPerPage: type: integer description: 'nombre de résultat à renvoyer.' example: 20 sortBy: type: string description: 'champ utilisé pour le tri. id, fullname, releaseDate (defaut).' example: releaseDate sortDirection: type: string description: 'ordre de tri ASC ou DESC (defaut).' example: DESC required: - page - resultPerPage /api/media/theme/find: post: summary: 'Rechercher un theme' description: 'Permet de rechercher les themes' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Invalid user credentials' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Invalid user credentials' 200: description: '' content: text/plain: schema: type: string example: "{\n \"status\": \"ok\",\n \"data\": {\n \"items\": Theme[],\n \"page\": 1,\n \"maxPage\": 3,\n \"resultPerPage\": 20\n }\n}" tags: - '02 - Médias (Front)' requestBody: required: true content: application/json: schema: type: object properties: content: type: string description: 'Recherche dans les champs name.' example: azerty theme: type: integer description: 'identifiant du thème.' example: 1 startReleaseDate: type: string description: 'date de début de filtre (format YYYY-MM-DD). Must be a valid date.' example: '1950-01-01' endReleaseDate: type: string description: 'date de fin de filtre (format YYYY-MM-DD). Must be a valid date.' example: '2024-12-31' page: type: integer description: 'numéro de la page à renvoyer.' example: 1 resultPerPage: type: integer description: 'nombre de résultat à renvoyer.' example: 50 sortBy: type: string description: 'champ utilisé pour le tri. id, fullname, position (defaut).' example: position sortDirection: type: string description: 'ordre de tri ASC ou DESC (defaut).' example: ASC required: - page - resultPerPage /api/media/album/find: post: summary: 'Rechercher un album' description: 'Permet de rechercher les albums' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Invalid user credentials' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Invalid user credentials' 200: description: '' content: text/plain: schema: type: string example: "{\n \"status\": \"ok\",\n \"data\": {\n \"items\": Album[],\n \"page\": 1,\n \"maxPage\": 3,\n \"resultPerPage\": 20\n }\n}" tags: - '02 - Médias (Front)' requestBody: required: true content: application/json: schema: type: object properties: section: type: string description: 'predication | music.' example: music content: type: string description: 'Recherche dans les champs title subtitle description author(fullname).' example: azerty author: type: integer description: "Id de l' auteur." example: 0 startReleaseDate: type: string description: 'Date de publication de départ. Must be a valid date.' example: '2015-12-05' endReleaseDate: type: string description: 'Date de publication de fin. Must be a valid date.' example: '2016-12-05' page: type: integer description: 'numéro de la page à renvoyer.' example: 1 resultPerPage: type: integer description: 'nombre de résultat à renvoyer.' example: 20 sortBy: type: string description: 'champ utilisé pour le tri. id, title, authror, releaseDate (defaut).' example: releaseDate sortDirection: type: string description: 'ordre de tri ASC ou DESC (defaut).' example: DESC required: - startReleaseDate - endReleaseDate - page - resultPerPage /api/media/boxset/find: post: summary: 'Rechercher un coffret' description: 'Permet de rechercher les coffrets' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Invalid user credentials' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Invalid user credentials' 200: description: '' content: text/plain: schema: type: string example: "{\n \"status\": \"ok\",\n \"data\": {\n \"items\": Boxset[],\n \"page\": 1,\n \"maxPage\": 3,\n \"resultPerPage\": 20\n }\n}" tags: - '02 - Médias (Front)' requestBody: required: true content: application/json: schema: type: object properties: content: type: string description: 'Recherche dans les champs title subtitle description author(fullname).' example: azerty startReleaseDate: type: string description: 'Date de publication de départ. Must be a valid date.' example: '2015-12-05' endReleaseDate: type: string description: 'Date de publication de fin. Must be a valid date.' example: '2016-12-05' page: type: integer description: 'numéro de la page à renvoyer.' example: 1 resultPerPage: type: integer description: 'nombre de résultat à renvoyer.' example: 20 sortBy: type: string description: 'champ utilisé pour le tri. id, title, authror, releaseDate (defaut).' example: releaseDate sortDirection: type: string description: 'ordre de tri ASC ou DESC (defaut).' example: DESC required: - startReleaseDate - endReleaseDate - page - resultPerPage /api/media/find: post: summary: 'Rechercher un média' description: 'Permet de rechercher les médias' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Invalid user credentials' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Invalid user credentials' 200: description: '' content: text/plain: schema: type: string example: "{\n \"status\": \"ok\",\n \"data\": {\n \"items\": Media[],\n \"page\": 1,\n \"maxPage\": 3,\n \"resultPerPage\": 20\n }\n}" tags: - '02 - Médias (Front)' requestBody: required: true content: application/json: schema: type: object properties: content: type: string description: 'Recherche dans les champs title subtitle description category author(fullname).' example: azerty section: type: string description: 'predication | music.' example: predication type: type: string description: 'audio | video.' example: audio author: type: integer description: "Id de l' auteur." example: 0 theme: type: integer description: 'ID du theme.' example: 8 category: type: integer description: '' example: 15 startReleaseDate: type: string description: 'Date de publication de départ. Must be a valid date.' example: '2015-12-05' endReleaseDate: type: string description: 'Date de publication de fin. Must be a valid date.' example: '2016-12-05' page: type: integer description: 'numéro de la page à renvoyer.' example: 1 resultPerPage: type: integer description: 'nombre de résultat à renvoyer.' example: 20 isFavorite: type: boolean description: 'indique si le média est taggé comme favori.' example: false isHistory: type: boolean description: "indique si le média a été joué par l'utilisatuer." example: false sortBy: type: string description: 'champ utilisé pour le tri. id, title, releaseDate (defaut).' example: releaseDate sortDirection: type: string description: 'ordre de tri ASC ou DESC (defaut).' example: DESC required: - type - startReleaseDate - endReleaseDate - page - resultPerPage /api/media/explorer: post: summary: 'Explorer les médias' description: 'Permet de renovyer une liste contenant tous les médias classés suivant la demande utilisateur' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: status: ok data: true properties: status: type: string example: ok data: type: boolean example: true 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Invalid user credentials' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Invalid user credentials' tags: - '02 - Médias (Front)' /api/media/favorite/update: post: summary: 'Tagger un média en favoris' description: 'Permet de tagger un média en favoris' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: status: ok data: true properties: status: type: string example: ok data: type: boolean example: true 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Invalid user credentials' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Invalid user credentials' tags: - '02 - Médias (Front)' requestBody: required: true content: application/json: schema: type: object properties: mediaId: type: string description: 'Id du média à tagger.' example: 042e63a6e171ce59614a9418bf55de9c operation: type: string description: 'like ou dislike.' example: like required: - mediaId - operation '/api/media/get/{song_id}': get: summary: "Récupérer les détails d'un média" description: 'Permet de recuperer un media' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 200: description: '' content: text/plain: schema: type: string example: "{\n \"status\": \"ok\",\n \"data\": {\n \"item\": {\n\t\t\t\"id\": 0,\n\t\t\t\"previewImage\": \"\",\n\t\t\t\"title\": \"\",\n\t\t\t\"type\": \"audio | video\",\n\t\t\t\"section\": \"predication | music\",\n\t\t\t\"durationInSecond\": 0,\n\t\t\t\"positionInSecond\": 0,\n\t\t\t\"releaseDateTimestamp\": 101010000,\n\t\t\t\"releaseDate\": \"05-12-2001\",\n\t\t\t\"playUrl\": \"\",\n\t\t\t\"downloadUrl\": \"\",\n\t\t\t\"isFavorite\": false,\n\t\t\t\"description\": \"\",\n\t\t\t\"author\": Author,\n\t\t\t\"featuring\": Author[],\n\t\t\t\"album\": Album,\n\t\t\t\"category\": Category[]\n\t\t}\n }\n}" tags: - '02 - Médias (Front)' parameters: - in: path name: song_id description: 'The ID of the song.' example: 00014b36f5a5fd5066e768b04a1d2003 required: true schema: type: string - in: path name: song description: 'ID du média. Exemple : 042e63a6e171ce59614a9418bf55de9c' example: repudiandae required: true schema: type: string '/api/media/author/get/{author_id}': get: summary: "Récupérer les détails d'un auteur/artiste" description: "Permet de recuperer le détails d'un auteur." parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 200: description: '' content: application/json: schema: type: object example: status: ok data: item: id: 0 fullname: 'Pierre Dupont' description: 'description de Pierre Dupont' image: image.png section: - predication - music properties: status: type: string example: ok data: type: object example: item: id: 0 fullname: 'Pierre Dupont' description: 'description de Pierre Dupont' image: image.png section: - predication - music tags: - '02 - Médias (Front)' parameters: - in: path name: author_id description: 'The ID of the author.' example: 1 required: true schema: type: integer - in: path name: author description: "ID de l'objet author. Exemple : 1" example: 1 required: true schema: type: integer '/api/media/theme/get/{theme_id}': get: summary: "Récupérer les détails d'un theme" description: "Permet de recuperer les détails d'un theme." parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 200: description: '' content: application/json: schema: type: object example: status: ok data: item: id: 1 name: Musique slug: musique properties: status: type: string example: ok data: type: object example: item: id: 1 name: Musique slug: musique tags: - '02 - Médias (Front)' parameters: - in: path name: theme_id description: 'The ID of the theme.' example: 1 required: true schema: type: integer - in: path name: theme description: 'ID du thème. Exemple : 1' example: 15 required: true schema: type: integer '/api/media/album/get/{album_id}': get: summary: "Récupérer les détails d'un album" description: "Permet de recuperer les détails d'un album." parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 200: description: '' content: text/plain: schema: type: string example: "{\n \"status\": \"ok\",\n \"data\": {\n \"item\": {\n\t\t\t\"id\": 0,\n\t\t\t\"title\": \"\",\n\t\t\t\"subtitle\": \"\",\n\t\t\t\"image\": \"\",\n\t\t\t\"color\": \"#000000\",\n\t\t\t\"description\": \"\",\n\t\t\t\"duration\": \"5h25 | 45min\",\n\t\t\t\"items\": Media[]\n\t\t\t\"author\": Author,\n\t\t\t\"isFavorite\": false,\n\t\t}\n }\n}" tags: - '02 - Médias (Front)' parameters: - in: path name: album_id description: 'The ID of the album.' example: 10 required: true schema: type: integer - in: path name: album description: "ID de l'album. Exemple : 1" example: 13 required: true schema: type: integer '/api/media/boxset/get/{boxset_id}': get: summary: "Récupérer les détails d'un coffret" description: "Permet de recuperer les détails d'un coffret." parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 200: description: '' content: text/plain: schema: type: string example: "{\n \"status\": \"ok\",\n \"data\": {\n \"item\": {\n\t\t\t\"id\": 0,\n\t\t\t\"title\": \"\",\n\t\t\t\"subtitle\": \"\",\n\t\t\t\"image\": \"\",\n\t\t\t\"color\": \"#000000\",\n\t\t\t\"description\": \"\",\n\t\t\t\"duration\": \"5h25 | 45min\",\n\t\t\t\"items\": Media[]\n\t\t}\n }\n}" tags: - '02 - Médias (Front)' parameters: - in: path name: boxset_id description: 'The ID of the boxset.' example: 10 required: true schema: type: integer - in: path name: boxset description: 'ID du coffret. Exemple : 1' example: 15 required: true schema: type: integer /api/media/explorer-albums: post: summary: 'Explorer les albums' description: 'Permet de renovyer une liste contenant tous les albums classés suivant la demande utilisateur' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: status: ok data: true properties: status: type: string example: ok data: type: boolean example: true 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Invalid user credentials' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Invalid user credentials' tags: - '02 - Médias (Front)' /api/media/log: post: summary: 'Logger un song pour audience' description: "Permet de marquer un song pour les statistiques d'audience" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: status: ok data: true properties: status: type: string example: ok data: type: boolean example: true 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' tags: - '02 - Médias (Front)' requestBody: required: true content: application/json: schema: type: object properties: mediaId: type: string description: 'Id du média à tagger.' example: 042e63a6e171ce59614a9418bf55de9c timestamp: type: string description: 'Position du lecteur dans le media.' example: '0' required: - mediaId - timestamp /api/media/find-albums-by-category: post: summary: "Rechercher les albums d'une catégorie" description: 'Permet de renovyer une liste contenant tous les albums contenus dans la catégorie choisie' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: status: ok data: true properties: status: type: string example: ok data: type: boolean example: true 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Invalid user credentials' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Invalid user credentials' tags: - '02 - Médias (Front)' requestBody: required: true content: application/json: schema: type: object properties: content: type: string description: 'Recherche dans les champs title subtitle description category author(fullname).' example: azerty section: type: string description: 'predication | music.' example: predication type: type: string description: 'audio | video.' example: audio author: type: integer description: "Id de l' auteur." example: 0 theme: type: integer description: 'ID du theme.' example: 8 category: type: integer description: '' example: 7 startReleaseDate: type: string description: 'Date de publication de départ. Must be a valid date.' example: '2015-12-05' endReleaseDate: type: string description: 'Date de publication de fin. Must be a valid date.' example: '2016-12-05' page: type: integer description: 'numéro de la page à renvoyer.' example: 1 resultPerPage: type: integer description: 'nombre de résultat à renvoyer.' example: 20 isFavorite: type: boolean description: 'indique si le média est taggé comme favori.' example: false isHistory: type: boolean description: "indique si le média a été joué par l'utilisatuer." example: false sortBy: type: string description: 'champ utilisé pour le tri. id, title, releaseDate (defaut).' example: releaseDate sortDirection: type: string description: 'ordre de tri ASC ou DESC (defaut).' example: DESC required: - type - startReleaseDate - endReleaseDate - page - resultPerPage /api/media/category/get: post: summary: "Récupérer les détails d'une catégorie" description: 'Permet de recuperer une category.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 200: description: '' content: application/json: schema: type: object example: status: ok data: item: id: 0 name: 'Ma catégorie' image: mon_image.png color: '#000000' properties: status: type: string example: ok data: type: object example: item: id: 0 name: 'Ma catégorie' image: mon_image.png color: '#000000' tags: - '02 - Médias (Front)' requestBody: required: true content: application/json: schema: type: object properties: id: type: integer description: '$id de la catégorie.' example: 1 page: type: integer description: 'numéro de la page à renvoyer.' example: 1 resultPerPage: type: integer description: 'nombre de résultat à renvoyer.' example: 20 slug: type: string description: "slug de la catégorie (optionnel, si présent utilise le slug au lieu de l'id)." example: ma-categorie type: type: string description: 'dispostion dees élements à afficher (album ou media).' example: album required: - page - resultPerPage /api/media/category/page: get: summary: 'Récupérer les catégories pour les pages' description: 'Retourne toutes les catégories avec show_in_page=1, sans leurs albums' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: status: ok data: - id: 1 name: Gospel slug: gospel position: 1 show_in_tabs: true show_in_page: true properties: status: type: string example: ok data: type: array example: - id: 1 name: Gospel slug: gospel position: 1 show_in_tabs: true show_in_page: true items: type: object 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' tags: - '02 - Médias (Front)' security: [] /api/media/category/get-web: post: summary: "Récupérer les détails d'une catégorie (web)" description: 'Permet de recuperer une category.' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 200: description: '' content: application/json: schema: type: object example: status: ok data: item: id: 0 name: 'Ma catégorie' image: mon_image.png color: '#000000' properties: status: type: string example: ok data: type: object example: item: id: 0 name: 'Ma catégorie' image: mon_image.png color: '#000000' tags: - '02 - Médias (Front Web)' requestBody: required: true content: application/json: schema: type: object properties: id: type: integer description: '$id de la catégorie.' example: 1 page: type: integer description: 'numéro de la page à renvoyer.' example: 1 resultPerPage: type: integer description: 'nombre de résultat à renvoyer.' example: 20 slug: type: string description: "slug de la catégorie (optionnel, si présent utilise le slug au lieu de l'id)." example: ma-categorie type: type: string description: 'dispostion dees élements à afficher (album ou media).' example: album required: - page - resultPerPage '/api/media/album/get-web/{album_id}': get: summary: "Récupérer les détails d'un album (web)" description: "Permet de recuperer les détails d'un album (web)." parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 200: description: '' content: text/plain: schema: type: string example: "{\n \"status\": \"ok\",\n \"data\": {\n \"item\": {\n\t\t\t\"id\": 0,\n\t\t\t\"title\": \"\",\n\t\t\t\"subtitle\": \"\",\n\t\t\t\"image\": \"\",\n\t\t\t\"color\": \"#000000\",\n\t\t\t\"description\": \"\",\n\t\t\t\"duration\": \"5h25 | 45min\",\n\t\t\t\"items\": Media[]\n\t\t\t\"author\": Author,\n\t\t\t\"isFavorite\": false,\n\t\t}\n }\n}" tags: - '02 - Médias (Front Web)' parameters: - in: path name: album_id description: 'The ID of the album.' example: 10 required: true schema: type: integer - in: path name: album description: "ID de l'album. Exemple : 1" example: 18 required: true schema: type: integer /api/media/author/find-web: post: summary: 'Rechercher un auteur (web)' description: 'Permet de rechercher les auteurs (web)' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Invalid user credentials' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Invalid user credentials' 200: description: '' content: text/plain: schema: type: string example: "{\n \"status\": \"ok\",\n \"data\": {\n \"items\": Author[],\n \"page\": 1,\n \"maxPage\": 3,\n \"resultPerPage\": 20\n }\n}" tags: - '02 - Médias (Front Web)' requestBody: required: true content: application/json: schema: type: object properties: content: type: string description: 'Recherche dans les champs fullname description.' example: azerty section: type: array description: 'Liste de sections.' example: null items: type: string page: type: integer description: 'numéro de la page à renvoyer.' example: 1 resultPerPage: type: integer description: 'nombre de résultat à renvoyer.' example: 20 sortBy: type: string description: 'champ utilisé pour le tri. id, fullname, releaseDate (defaut).' example: releaseDate sortDirection: type: string description: 'ordre de tri ASC ou DESC (defaut).' example: DESC required: - section - page - resultPerPage /api/media/theme/find-web: post: summary: 'Rechercher un theme (web)' description: 'Permet de rechercher les themes' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Invalid user credentials' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Invalid user credentials' 200: description: '' content: text/plain: schema: type: string example: "{\n \"status\": \"ok\",\n \"data\": {\n \"items\": Theme[],\n \"page\": 1,\n \"maxPage\": 3,\n \"resultPerPage\": 20\n }\n}" tags: - '02 - Médias (Front Web)' requestBody: required: true content: application/json: schema: type: object properties: content: type: string description: 'Recherche dans les champs name.' example: azerty theme: type: integer description: 'identifiant du thème.' example: 1 startReleaseDate: type: string description: 'date de début de filtre (format YYYY-MM-DD). Must be a valid date.' example: '1950-01-01' endReleaseDate: type: string description: 'date de fin de filtre (format YYYY-MM-DD). Must be a valid date.' example: '2024-12-31' page: type: integer description: 'numéro de la page à renvoyer.' example: 1 resultPerPage: type: integer description: 'nombre de résultat à renvoyer.' example: 50 sortBy: type: string description: 'champ utilisé pour le tri. id, fullname, position (defaut).' example: position sortDirection: type: string description: 'ordre de tri ASC ou DESC (defaut).' example: ASC required: - page - resultPerPage /api/media/album/find-web: post: summary: 'Rechercher un album (web)' description: 'Permet de rechercher les albums (web)' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Invalid user credentials' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Invalid user credentials' 200: description: '' content: text/plain: schema: type: string example: "{\n \"status\": \"ok\",\n \"data\": {\n \"items\": Album[],\n \"page\": 1,\n \"maxPage\": 3,\n \"resultPerPage\": 20\n }\n}" tags: - '02 - Médias (Front Web)' requestBody: required: true content: application/json: schema: type: object properties: section: type: string description: 'predication | music.' example: music content: type: string description: 'Recherche dans les champs title subtitle description author(fullname).' example: azerty author: type: integer description: "Id de l' auteur." example: 0 startReleaseDate: type: string description: 'Date de publication de départ. Must be a valid date.' example: '2015-12-05' endReleaseDate: type: string description: 'Date de publication de fin. Must be a valid date.' example: '2016-12-05' page: type: integer description: 'numéro de la page à renvoyer.' example: 1 resultPerPage: type: integer description: 'nombre de résultat à renvoyer.' example: 20 sortBy: type: string description: 'champ utilisé pour le tri. id, title, authror, releaseDate (defaut).' example: releaseDate sortDirection: type: string description: 'ordre de tri ASC ou DESC (defaut).' example: DESC required: - startReleaseDate - endReleaseDate - page - resultPerPage /api/media/boxset/find-web: post: summary: 'Rechercher un coffret (web)' description: 'Permet de rechercher les coffrets' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Invalid user credentials' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Invalid user credentials' 200: description: '' content: text/plain: schema: type: string example: "{\n \"status\": \"ok\",\n \"data\": {\n \"items\": Boxset[],\n \"page\": 1,\n \"maxPage\": 3,\n \"resultPerPage\": 20\n }\n}" tags: - '02 - Médias (Front Web)' requestBody: required: true content: application/json: schema: type: object properties: content: type: string description: 'Recherche dans les champs title subtitle description author(fullname).' example: azerty startReleaseDate: type: string description: 'Date de publication de départ. Must be a valid date.' example: '2015-12-05' endReleaseDate: type: string description: 'Date de publication de fin. Must be a valid date.' example: '2016-12-05' page: type: integer description: 'numéro de la page à renvoyer.' example: 1 resultPerPage: type: integer description: 'nombre de résultat à renvoyer.' example: 20 sortBy: type: string description: 'champ utilisé pour le tri. id, title, authror, releaseDate (defaut).' example: releaseDate sortDirection: type: string description: 'ordre de tri ASC ou DESC (defaut).' example: DESC required: - startReleaseDate - endReleaseDate - page - resultPerPage /api/media/find-web: post: summary: 'Rechercher un média (web)' description: 'Permet de rechercher les médias' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Invalid user credentials' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Invalid user credentials' 200: description: '' content: text/plain: schema: type: string example: "{\n \"status\": \"ok\",\n \"data\": {\n \"items\": Media[],\n \"page\": 1,\n \"maxPage\": 3,\n \"resultPerPage\": 20\n }\n}" tags: - '02 - Médias (Front Web)' requestBody: required: true content: application/json: schema: type: object properties: content: type: string description: 'Recherche dans les champs title subtitle description category author(fullname).' example: azerty section: type: string description: 'predication | music.' example: predication type: type: string description: 'audio | video.' example: audio author: type: integer description: "Id de l' auteur." example: 0 theme: type: integer description: 'ID du theme.' example: 8 category: type: integer description: '' example: 10 startReleaseDate: type: string description: 'Date de publication de départ. Must be a valid date.' example: '2015-12-05' endReleaseDate: type: string description: 'Date de publication de fin. Must be a valid date.' example: '2016-12-05' page: type: integer description: 'numéro de la page à renvoyer.' example: 1 resultPerPage: type: integer description: 'nombre de résultat à renvoyer.' example: 20 isFavorite: type: boolean description: 'indique si le média est taggé comme favori.' example: false isHistory: type: boolean description: "indique si le média a été joué par l'utilisatuer." example: false sortBy: type: string description: 'champ utilisé pour le tri. id, title, releaseDate (defaut).' example: releaseDate sortDirection: type: string description: 'ordre de tri ASC ou DESC (defaut).' example: DESC required: - type - startReleaseDate - endReleaseDate - page - resultPerPage /api/media/explorer-web: post: summary: 'Explorer les médias (web)' description: 'Permet de renovyer une liste contenant tous les médias classés suivant la demande utilisateur' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: status: ok data: true properties: status: type: string example: ok data: type: boolean example: true 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Invalid user credentials' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Invalid user credentials' tags: - '02 - Médias (Front Web)' /api/media/explorer-albums-web: post: summary: 'Explorer les albums web version' description: 'Permet de renovyer une liste contenant tous les albums classés suivant la demande utilisateur (web version)' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: status: ok data: true properties: status: type: string example: ok data: type: boolean example: true 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Invalid user credentials' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Invalid user credentials' tags: - '02 - Médias (Front Web)' /api/media/category/tabs: post: summary: 'Récupérer toutes les catégories affichées dans les tabs' description: "Permet de récupérer toutes les catégories où show_in_tabs = true avec leurs albums.\nLes catégories sont triées par position." parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: text/plain: schema: type: string example: "{\n \"status\": \"ok\",\n \"data\": {\n \"items\": [\n {\n \"title\": \"Dernières sorties\",\n \"id\": 1,\n \"type\": \"album\",\n \"albums\": [...],\n \"page\": 1,\n \"perPage\": 20,\n \"maxPage\": 3\n }\n ]\n }\n}" 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' tags: - '02 - Médias (Front Web)' requestBody: required: true content: application/json: schema: type: object properties: id: type: integer description: '$id de la catégorie.' example: 1 page: type: integer description: 'numéro de la page à renvoyer.' example: 1 resultPerPage: type: integer description: 'nombre de résultat à renvoyer.' example: 20 slug: type: string description: "slug de la catégorie (optionnel, si présent utilise le slug au lieu de l'id)." example: ma-categorie type: type: string description: 'dispostion dees élements à afficher (album ou media).' example: album required: - page - resultPerPage '/api/media/author/get-web/{author_id}': get: summary: "Récupérer les détails d'un auteur/artiste" description: "Permet de recuperer le détails d'un auteur." parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 200: description: '' content: application/json: schema: type: object example: status: ok data: item: id: 0 fullname: 'Pierre Dupont' description: 'description de Pierre Dupont' image: image.png section: - predication - music properties: status: type: string example: ok data: type: object example: item: id: 0 fullname: 'Pierre Dupont' description: 'description de Pierre Dupont' image: image.png section: - predication - music tags: - '02 - Médias (Front Web)' parameters: - in: path name: author_id description: 'The ID of the author.' example: 1 required: true schema: type: integer - in: path name: author description: "ID de l'objet author. Exemple : 1" example: 4 required: true schema: type: integer /api/themes: get: summary: 'Lister les thèmes' description: 'Permet de recuperer la liste des themes (categorie côté Front)' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: text/plain: schema: type: string example: '{...}, {...}' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' tags: - '03 - Thèmes (Administration)' post: summary: 'Créer un thème' description: 'Permet de créer un nouveau thème' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' 200: description: '' content: application/json: schema: type: object example: name: Thème slug: slug image: '' color: '#000000' id: 44 properties: name: type: string example: Thème slug: type: string example: slug image: type: string example: '' color: type: string example: '#000000' id: type: integer example: 44 tags: - '03 - Thèmes (Administration)' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Nom du thème.' example: Azerty slug: type: string description: 'slug associé au thème.' example: azerty image: type: string description: 'Image associée au thème.' example: image.png color: type: string description: "Couleur d'affichage du thème. Code HTML." example: '#000000' position: type: integer description: "Position dans l'affichage." example: 1 required: - name - slug '/api/themes/{id}': get: summary: 'Afficher un thème' description: "Permet de récupérer les détails d'un thème" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' 200: description: '' content: application/json: schema: type: object example: name: Thème slug: slug image: '' color: '#000000' id: 44 properties: name: type: string example: Thème slug: type: string example: slug image: type: string example: '' color: type: string example: '#000000' id: type: integer example: 44 tags: - '03 - Thèmes (Administration)' put: summary: 'Modifier un thème' description: 'Permet de modifier un thème' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' 200: description: '' content: application/json: schema: type: object example: name: Thème slug: slug image: '' color: '#000000' id: 44 properties: name: type: string example: Thème slug: type: string example: slug image: type: string example: '' color: type: string example: '#000000' id: type: integer example: 44 tags: - '03 - Thèmes (Administration)' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Nom du thème.' example: Azerty slug: type: string description: 'slug associé au thème.' example: azerty image: type: string description: 'Image associée au thème.' example: image.png color: type: string description: "Couleur d'affichage du thème. Code HTML." example: '#000000' position: type: integer description: "Position dans l'affichage." example: 1 delete: summary: 'Supprimer un thème' description: 'Permet de supprimer un thème' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 204: description: '' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' tags: - '03 - Thèmes (Administration)' parameters: - in: path name: id description: 'The ID of the theme.' example: 1 required: true schema: type: integer /api/categories: get: summary: 'Lister les catégories' description: 'Permet de recuperer la liste des catégories (section côté Front)' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: text/plain: schema: type: string example: '{...}, {...}' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' tags: - '04 - Catégories (Administration)' post: summary: 'Créer une catégorie' description: 'Permet de créer une nouvelle catégorie' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' 200: description: '' content: application/json: schema: type: object example: name: 'Ma catégorie' slug: slug id: 33 properties: name: type: string example: 'Ma catégorie' slug: type: string example: slug id: type: integer example: 33 tags: - '04 - Catégories (Administration)' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Nom de la catégorie.' example: Azerty slug: type: string description: 'slug associé à la catégorie.' example: azerty position: type: integer description: 'position de la catégorie.' example: 5 required: - name - slug '/api/categories/{id}': get: summary: 'Afficher une catégorie' description: "Permet de récupérer les détails d'une catégorie" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' 200: description: '' content: application/json: schema: type: object example: name: 'Ma catégorie' slug: slug id: 33 properties: name: type: string example: 'Ma catégorie' slug: type: string example: slug id: type: integer example: 33 tags: - '04 - Catégories (Administration)' put: summary: 'Modifier une catégorie' description: 'Permet de modifier une catégorie' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' 200: description: '' content: application/json: schema: type: object example: name: 'Ma catégorie' slug: slug id: 33 properties: name: type: string example: 'Ma catégorie' slug: type: string example: slug id: type: integer example: 33 tags: - '04 - Catégories (Administration)' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Nom de la catégorie.' example: Azerty slug: type: string description: 'slug associé à la catégorie.' example: azerty position: type: integer description: 'position de la catégorie.' example: 5 delete: summary: 'Supprimer une catégorie' description: 'Permet de supprimer une catégorie' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 204: description: '' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' tags: - '04 - Catégories (Administration)' parameters: - in: path name: id description: 'The ID of the category.' example: 1 required: true schema: type: integer /api/mediatypes: get: summary: 'Lister les types de médias' description: 'Permet de recuperer la liste des types de médias' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: text/plain: schema: type: string example: '{...}, {...}' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' tags: - '05 - Types de Médias (Administration)' post: summary: 'Créer un type de média' description: 'Permet de créer un nouveau type de média' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' 200: description: '' content: application/json: schema: type: object example: name: Audio slug: audio id: 1 properties: name: type: string example: Audio slug: type: string example: audio id: type: integer example: 1 tags: - '05 - Types de Médias (Administration)' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Libellé du type de média.' example: Azerty slug: type: string description: 'slug associé au type de média.' example: azerty required: - name - slug '/api/mediatypes/{id}': get: summary: 'Afficher un type de média' description: "Permet de récupérer les détails d'un type de média" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' 200: description: '' content: application/json: schema: type: object example: name: Audio slug: audio id: 1 properties: name: type: string example: Audio slug: type: string example: audio id: type: integer example: 1 tags: - '05 - Types de Médias (Administration)' put: summary: 'Modifier un type de média' description: 'Permet de modifier un type de média' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' 200: description: '' content: application/json: schema: type: object example: name: Audio slug: audio id: 1 properties: name: type: string example: Audio slug: type: string example: audio id: type: integer example: 1 tags: - '05 - Types de Médias (Administration)' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Libellé du type de média.' example: Azerty slug: type: string description: 'slug associé au type de média.' example: azerty delete: summary: 'Supprimer un type de média' description: 'Permet de supprimer un type de média' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 204: description: '' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' tags: - '05 - Types de Médias (Administration)' parameters: - in: path name: id description: 'The ID of the mediatype.' example: 1 required: true schema: type: integer /api/artists: get: summary: 'Lister les artistes' description: 'Permet de recuperer la liste des artistes' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: text/plain: schema: type: string example: '{...}, {...}' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' tags: - '06 - Artistes (Administration)' post: summary: 'Créer un artiste' description: 'Permet de créer une nouvel artiste' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' 200: description: '' content: text/plain: schema: type: string example: "{\n \"id\": 3,\n \"name\": \"Charisma Eglise Chretienne\",\n \"image\": \"http://127.0.0.1:8001/artists/unknown-artist.jpg\",\n \"is_active\": 1,\n \"is_invite\": 1,\n \"description\": \"\",\n \"albums\" : Albums[],\n \"categories\" : Categories[],\n \"songs\" : Songs[]\n}" tags: - '06 - Artistes (Administration)' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: "Nom de l'artiste." example: 'Jean Dupont' image: type: string description: "Image associée à l'artiste." example: unknown-artist.jpg description: type: string description: "Description associé à l'artiste." example: 'Lorem ipsum' section: type: string description: "Section associé à l'artiste : predication, music ou predication,music." example: 'predication,music' position: type: integer description: '' example: 15 is_active: type: boolean description: "Indique si l'artiste est actif (true par defaut)." example: false is_invite: type: boolean description: "Indique si l'artiste est un invité (true par defaut)." example: false categories: type: array description: "Liste des categories associées à l'artiste." example: - 1 - 2 - 3 items: type: string required: - name '/api/artists/{id}': get: summary: 'Afficher un artiste' description: "Permet de récupérer les détails d'un artiste" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' 200: description: '' content: text/plain: schema: type: string example: "{\n \"id\": 3,\n \"name\": \"Charisma Eglise Chretienne\",\n \"image\": \"http://127.0.0.1:8001/artists/unknown-artist.jpg\",\n \"is_active\": 1,\n \"is_invite\": 1,\n \"description\": \"\",\n \"albums\" : Albums[],\n \"categories\" : Categories[],\n \"songs\" : Songs[]\n}" tags: - '06 - Artistes (Administration)' put: summary: 'Modifier un artiste' description: 'Permet de modifier un artiste' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' 200: description: '' content: text/plain: schema: type: string example: "{\n \"id\": 3,\n \"name\": \"Charisma Eglise Chretienne\",\n \"image\": \"http://127.0.0.1:8001/artists/unknown-artist.jpg\",\n \"is_active\": 1,\n \"is_invite\": 1,\n \"description\": \"\",\n \"albums\" : Albums[],\n \"categories\" : Categories[],\n \"songs\" : Songs[]\n}" tags: - '06 - Artistes (Administration)' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: "Nom de l'artiste." example: 'Jean Dupont' image: type: string description: "Image associée à l'artiste." example: unknown-artist.jpg description: type: string description: "Description associé à l'artiste." example: 'Lorem ipsum' is_active: type: boolean description: "Indique si l'artiste est actif (true par defaut)." example: false is_invite: type: boolean description: "Indique si l'artiste est un invité (true par defaut)." example: false categories: type: array description: "Liste des categories associées à l'artiste." example: - 1 - 2 - 3 items: type: string delete: summary: 'Supprimer un artiste' description: 'Permet de supprimer un artiste' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 204: description: '' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' tags: - '06 - Artistes (Administration)' parameters: - in: path name: id description: 'The ID of the artist.' example: 1 required: true schema: type: integer /api/artists/upload: post: summary: "Uploader une image d'artiste" description: "Permet d'uploader l'image d'un artiste" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: multipart/form-data schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: filename: image.png properties: filename: type: string example: image.png 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' tags: - '06 - Artistes (Administration)' requestBody: required: true content: multipart/form-data: schema: type: object properties: file: type: string format: binary description: 'Image à uploader. Must be a file.' disk: type: string description: 'Site de dépôt local ou ftp.' example: ftp required: - file - disk /api/artists/upload2: post: summary: "Uploader une image d'artiste V2" description: "Permet d'uploader l'image d'un artiste en local uniquement" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: multipart/form-data schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: filename: image.png properties: filename: type: string example: image.png 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' tags: - '06 - Artistes (Administration)' requestBody: required: true content: multipart/form-data: schema: type: object properties: file: type: string format: binary description: 'Fichier audio à uploader. La durée sera calculée automatiquement et sauvegardée avec le nom du fichier comme ID. Must be a file.' required: - file /api/albums: get: summary: 'Lister les albums' description: "Permet de recuperer la liste des albums avec l'artist, leurs categories et leurs thèmes" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: text/plain: schema: type: string example: '{...}, {...}' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' tags: - '07 - Albums (Administration)' post: summary: 'Créer un album' description: 'Permet de créer une nouvel album' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' 200: description: '' content: application/json: schema: type: object example: id: 20 artist_id: 4 name: 'Etre proche' cover: 'http://127.0.0.1:8001/covers/wyefChYJrE7cj53pTcd5YXZDZFm6yYibUP1BOr7g.jpg' created_at: '2021-11-27T19:02:10.000000Z' is_active: 1 subtitle: '' color: '' description: '' is_favorite: 0 is_boxset: 0 release_date: '0000-00-00' is_compilation: false artist: { } categories: - { } - { } themes: - { } - { } songs: - { } - { } properties: id: type: integer example: 20 artist_id: type: integer example: 4 name: type: string example: 'Etre proche' cover: type: string example: 'http://127.0.0.1:8001/covers/wyefChYJrE7cj53pTcd5YXZDZFm6yYibUP1BOr7g.jpg' created_at: type: string example: '2021-11-27T19:02:10.000000Z' is_active: type: integer example: 1 subtitle: type: string example: '' color: type: string example: '' description: type: string example: '' is_favorite: type: integer example: 0 is_boxset: type: integer example: 0 release_date: type: string example: '0000-00-00' is_compilation: type: boolean example: false artist: type: object example: { } categories: type: array example: - { } - { } items: type: object themes: type: array example: - { } - { } items: type: object songs: type: array example: - { } - { } items: type: object tags: - '07 - Albums (Administration)' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: "Nom de l'album." example: 'Titre album' artist_id: type: integer description: "Id de l'album associé." example: 5 release_date: type: string description: 'Must be a valid date.' example: '2025-12-21T12:16:27' is_active: type: boolean description: "Indique si l'album est actif (true par defaut)." example: false is_boxset: type: boolean description: "Indique si l'album est un coffret (false par defaut)." example: false cover: type: string description: "Image associée à l'album." example: unknown-album.jpg themes: type: array description: "Liste des thèmes associées à l'album." example: - 1 - 2 - 3 items: type: string categories: type: array description: "Liste des categories associées à l'album." example: - 1 - 2 - 3 items: type: string subtitle: type: string description: "Sous-titre de l'album." example: 'Lorem ipsum' color: type: string description: "Couleur d'affichage de l'album. Code HTML." example: '#000000' description: type: string description: "Description associé à l'album." example: 'Lorem ipsum' section: type: string description: "Section associé à l'artiste : predication, music ou predication,music." example: 'predication,music' required: - name - artist_id - release_date '/api/albums/{id}': get: summary: 'Afficher un album' description: "Permet de récupérer les détails d'un album" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' 200: description: '' content: application/json: schema: type: object example: id: 20 artist_id: 4 name: 'Etre proche' cover: 'http://127.0.0.1:8001/covers/wyefChYJrE7cj53pTcd5YXZDZFm6yYibUP1BOr7g.jpg' created_at: '2021-11-27T19:02:10.000000Z' is_active: 1 subtitle: '' color: '' description: '' is_favorite: 0 is_boxset: 0 release_date: '0000-00-00' is_compilation: false artist: { } categories: - { } - { } themes: - { } - { } songs: - { } - { } properties: id: type: integer example: 20 artist_id: type: integer example: 4 name: type: string example: 'Etre proche' cover: type: string example: 'http://127.0.0.1:8001/covers/wyefChYJrE7cj53pTcd5YXZDZFm6yYibUP1BOr7g.jpg' created_at: type: string example: '2021-11-27T19:02:10.000000Z' is_active: type: integer example: 1 subtitle: type: string example: '' color: type: string example: '' description: type: string example: '' is_favorite: type: integer example: 0 is_boxset: type: integer example: 0 release_date: type: string example: '0000-00-00' is_compilation: type: boolean example: false artist: type: object example: { } categories: type: array example: - { } - { } items: type: object themes: type: array example: - { } - { } items: type: object songs: type: array example: - { } - { } items: type: object tags: - '07 - Albums (Administration)' put: summary: 'Modifier un album' description: 'Permet de modifier un album' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' 200: description: '' content: application/json: schema: type: object example: id: 20 artist_id: 4 name: 'Etre proche' cover: 'http://127.0.0.1:8001/covers/wyefChYJrE7cj53pTcd5YXZDZFm6yYibUP1BOr7g.jpg' created_at: '2021-11-27T19:02:10.000000Z' is_active: 1 subtitle: '' color: '' description: '' is_favorite: 0 is_boxset: 0 release_date: '0000-00-00' is_compilation: false artist: { } categories: - { } - { } themes: - { } - { } songs: - { } - { } properties: id: type: integer example: 20 artist_id: type: integer example: 4 name: type: string example: 'Etre proche' cover: type: string example: 'http://127.0.0.1:8001/covers/wyefChYJrE7cj53pTcd5YXZDZFm6yYibUP1BOr7g.jpg' created_at: type: string example: '2021-11-27T19:02:10.000000Z' is_active: type: integer example: 1 subtitle: type: string example: '' color: type: string example: '' description: type: string example: '' is_favorite: type: integer example: 0 is_boxset: type: integer example: 0 release_date: type: string example: '0000-00-00' is_compilation: type: boolean example: false artist: type: object example: { } categories: type: array example: - { } - { } items: type: object themes: type: array example: - { } - { } items: type: object songs: type: array example: - { } - { } items: type: object tags: - '07 - Albums (Administration)' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: "Nom de l'album." example: 'Titre album' artist_id: type: integer description: "Id de l'album associé." example: 5 release_date: type: string description: 'Must be a valid date.' example: '2025-12-21T12:16:27' is_active: type: boolean description: "Indique si l'album est actif (true par defaut)." example: false is_boxset: type: boolean description: "Indique si l'album est un coffret (false par defaut)." example: false cover: type: string description: "Image associée à l'album." example: unknown-album.jpg themes: type: array description: "Liste des thèmes associées à l'album." example: - 1 - 2 - 3 items: type: string categories: type: array description: "Liste des categories associées à l'album." example: - 1 - 2 - 3 items: type: string subtitle: type: string description: "Sous-titre de l'album." example: 'Lorem ipsum' color: type: string description: "Couleur d'affichage de l'album. Code HTML." example: '#000000' description: type: string description: "Description associé à l'album." example: 'Lorem ipsum' delete: summary: 'Supprimer un album' description: 'Permet de supprimer un album' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 204: description: '' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' tags: - '07 - Albums (Administration)' parameters: - in: path name: id description: 'The ID of the album.' example: 10 required: true schema: type: integer /api/albums/upload: post: summary: "Uploader une image d'album" description: "Permet d'uploader l'image d'un album" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: multipart/form-data schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: filename: image.png properties: filename: type: string example: image.png 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' tags: - '07 - Albums (Administration)' requestBody: required: true content: multipart/form-data: schema: type: object properties: file: type: string format: binary description: 'Image à uploader. Must be a file.' disk: type: string description: 'Site de dépôt local ou ftp.' example: ftp required: - file - disk /api/albums/upload2: post: summary: "Uploader une image d'album - V2" description: "Permet d'uploader l'image d'un album en local" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: multipart/form-data schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: filename: image.png properties: filename: type: string example: image.png 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' tags: - '07 - Albums (Administration)' requestBody: required: true content: multipart/form-data: schema: type: object properties: file: type: string format: binary description: 'Fichier audio à uploader. La durée sera calculée automatiquement et sauvegardée avec le nom du fichier comme ID. Must be a file.' required: - file '/api/boxsets/{album_id}/{song_id}/{track}': post: summary: 'Ajouter un media à un coffret' description: "Permet d'ajouter un média à un coffret" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 204: description: '' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' tags: - '07 - Albums (Administration)' parameters: - in: path name: album_id description: 'The ID of the album.' example: 10 required: true schema: type: integer - in: path name: song_id description: 'The ID of the song.' example: 00014b36f5a5fd5066e768b04a1d2003 required: true schema: type: string - in: path name: track description: 'Position dans le coffret. Exemple : 1' example: 12 required: true schema: type: integer - in: path name: album description: "Id de l'album. Exemple : 1" example: 4 required: true schema: type: integer - in: path name: song description: 'Id du média. Exemple: 042e63a6e171ce59614a9418bf55de9c' example: tempora required: true schema: type: string '/api/boxsets/{album_id}/{song_id}': delete: summary: "Enlever un media d'un coffret" description: "Permet d'enlever un média d'un coffret" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 204: description: '' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' tags: - '07 - Albums (Administration)' parameters: - in: path name: album_id description: 'The ID of the album.' example: 10 required: true schema: type: integer - in: path name: song_id description: 'The ID of the song.' example: 00014b36f5a5fd5066e768b04a1d2003 required: true schema: type: string - in: path name: album description: "Id de l'album. Exemple : 1" example: 15 required: true schema: type: integer - in: path name: song description: 'Id du média. Exemple: 042e63a6e171ce59614a9418bf55de9c' example: exercitationem required: true schema: type: string /api/songs: get: summary: 'Lister les songs' description: "Permet de recuperer la liste des songs avec l'artist, l'albums leurs thèmes associés" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: text/plain: schema: type: string example: '{...}, {...}' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' tags: - '08 - Songs (Administration)' post: summary: 'Créer un song' description: 'Permet de créer une nouveau song (media)' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' 200: description: '' content: application/json: schema: type: object example: id: 042e63a6e171ce59614a9418bf55de9c album_id: 1 artist_id: 1 title: 'NP12T1.3 fonctions de la prieres en langues' length: 3560.44 track: 0 disc: 1 path: 'NPEDRO/NP12T1.3 fonctions de la prieres en langues.mp3' release_date: '2007-10-15' created_at: '2021-09-01T16:31:37.000000Z' is_active: 1 mediatype_id: 1 description: '' positionInSecond: 0 url: 'http://127.0.0.1:8001/files/NPEDRO%2FNP12T1.3%20fonctions%20de%20la%20prieres%20en%20langues.mp3' album: { } artist: { } themes: - { } - { } - { } properties: id: type: string example: 042e63a6e171ce59614a9418bf55de9c album_id: type: integer example: 1 artist_id: type: integer example: 1 title: type: string example: 'NP12T1.3 fonctions de la prieres en langues' length: type: number example: 3560.44 track: type: integer example: 0 disc: type: integer example: 1 path: type: string example: 'NPEDRO/NP12T1.3 fonctions de la prieres en langues.mp3' release_date: type: string example: '2007-10-15' created_at: type: string example: '2021-09-01T16:31:37.000000Z' is_active: type: integer example: 1 mediatype_id: type: integer example: 1 description: type: string example: '' positionInSecond: type: integer example: 0 url: type: string example: 'http://127.0.0.1:8001/files/NPEDRO%2FNP12T1.3%20fonctions%20de%20la%20prieres%20en%20langues.mp3' album: type: object example: { } artist: type: object example: { } themes: type: array example: - { } - { } - { } items: type: object tags: - '08 - Songs (Administration)' requestBody: required: true content: application/json: schema: type: object properties: album_id: type: integer description: "Id de l'album associé." example: 5 title: type: string description: 'Titre du média.' example: 'Titre song' release_date: type: string description: 'Date de publication du média. Must be a valid date.' example: '2015-12-05' length: type: integer description: 'Durée du média en seocndes.' example: 3455 path: type: string description: "chemin relatif d'accès au média." example: 9iNQWG4QgaNd1PBKX6CHMOeVxPXNB93nr0v7aou4.mp3 mediatype_id: type: integer description: 'Type du média 1 (audio) ou 2 (vidéo).' example: 1 is_active: type: boolean description: "Indique si l'album est actif (true par defaut)." example: false themes: type: array description: 'Liste des thèmes associées au média.' example: - 1 - 2 - 3 items: type: string tags: type: array description: 'Liste des mots-clé associées au média.' example: - 1 - 2 - 3 items: type: string positionInSecond: type: integer description: 'Position en second de début du media.' example: 0 track: type: integer description: 'Numéro de piste du média.' example: 1 section: type: string description: "Section associé à l'artiste : predication, music ou predication,music." example: 'predication,music' required: - album_id - title - release_date - length - path - mediatype_id put: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: data: type: array description: '' example: - facere items: type: string songs: type: array description: '' example: - vel items: type: string required: - data - songs security: [] '/api/songs/{id}': get: summary: 'Afficher un song' description: "Permet de récupérer les détails d'un media" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' 200: description: '' content: application/json: schema: type: object example: id: 042e63a6e171ce59614a9418bf55de9c album_id: 1 artist_id: 1 title: 'NP12T1.3 fonctions de la prieres en langues' length: 3560.44 track: 0 disc: 1 path: 'NPEDRO/NP12T1.3 fonctions de la prieres en langues.mp3' release_date: '2007-10-15' created_at: '2021-09-01T16:31:37.000000Z' is_active: 1 mediatype_id: 1 description: '' positionInSecond: 0 url: 'http://127.0.0.1:8001/files/NPEDRO%2FNP12T1.3%20fonctions%20de%20la%20prieres%20en%20langues.mp3' album: { } artist: { } themes: - { } - { } - { } properties: id: type: string example: 042e63a6e171ce59614a9418bf55de9c album_id: type: integer example: 1 artist_id: type: integer example: 1 title: type: string example: 'NP12T1.3 fonctions de la prieres en langues' length: type: number example: 3560.44 track: type: integer example: 0 disc: type: integer example: 1 path: type: string example: 'NPEDRO/NP12T1.3 fonctions de la prieres en langues.mp3' release_date: type: string example: '2007-10-15' created_at: type: string example: '2021-09-01T16:31:37.000000Z' is_active: type: integer example: 1 mediatype_id: type: integer example: 1 description: type: string example: '' positionInSecond: type: integer example: 0 url: type: string example: 'http://127.0.0.1:8001/files/NPEDRO%2FNP12T1.3%20fonctions%20de%20la%20prieres%20en%20langues.mp3' album: type: object example: { } artist: type: object example: { } themes: type: array example: - { } - { } - { } items: type: object tags: - '08 - Songs (Administration)' put: summary: 'Modifier un song' description: 'Permet de modifier un song' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' 200: description: '' content: application/json: schema: type: object example: id: 042e63a6e171ce59614a9418bf55de9c album_id: 1 artist_id: 1 title: 'NP12T1.3 fonctions de la prieres en langues' length: 3560.44 track: 0 disc: 1 path: 'NPEDRO/NP12T1.3 fonctions de la prieres en langues.mp3' release_date: '2007-10-15' created_at: '2021-09-01T16:31:37.000000Z' is_active: 1 mediatype_id: 1 description: '' positionInSecond: 0 url: 'http://127.0.0.1:8001/files/NPEDRO%2FNP12T1.3%20fonctions%20de%20la%20prieres%20en%20langues.mp3' album: { } artist: { } themes: - { } - { } - { } properties: id: type: string example: 042e63a6e171ce59614a9418bf55de9c album_id: type: integer example: 1 artist_id: type: integer example: 1 title: type: string example: 'NP12T1.3 fonctions de la prieres en langues' length: type: number example: 3560.44 track: type: integer example: 0 disc: type: integer example: 1 path: type: string example: 'NPEDRO/NP12T1.3 fonctions de la prieres en langues.mp3' release_date: type: string example: '2007-10-15' created_at: type: string example: '2021-09-01T16:31:37.000000Z' is_active: type: integer example: 1 mediatype_id: type: integer example: 1 description: type: string example: '' positionInSecond: type: integer example: 0 url: type: string example: 'http://127.0.0.1:8001/files/NPEDRO%2FNP12T1.3%20fonctions%20de%20la%20prieres%20en%20langues.mp3' album: type: object example: { } artist: type: object example: { } themes: type: array example: - { } - { } - { } items: type: object tags: - '08 - Songs (Administration)' requestBody: required: true content: application/json: schema: type: object properties: album_id: type: integer description: '' example: 8 title: type: string description: '' example: omnis release_date: type: string description: 'Must be a valid date.' example: '2025-12-21T12:16:27' length: type: integer description: '' example: 17 path: type: string description: '' example: at mediatype_id: type: integer description: '' example: 8 is_active: type: boolean description: 'Indique si le média est actif (true par defaut).' example: false themes: type: array description: 'Liste des thèmes associées au média.' example: - 1 - 2 - 3 items: type: string tags: type: array description: 'Liste des mots-clés associées au média.' example: - 1 - 2 - 3 items: type: string positionInSecond: type: integer description: '' example: 19 track: type: integer description: '' example: 13 required: - album_id - title - release_date - length - path - mediatype_id delete: summary: 'Supprimer un song' description: 'Permet de supprimer un média' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 204: description: '' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' tags: - '08 - Songs (Administration)' parameters: - in: path name: id description: 'The ID of the song.' example: 00014b36f5a5fd5066e768b04a1d2003 required: true schema: type: string /api/songs/upload: post: summary: 'Uploader un fichier Song' description: "Permet d'uploader un média" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: multipart/form-data schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: filename: audio.mp3 properties: filename: type: string example: audio.mp3 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' tags: - '08 - Songs (Administration)' requestBody: required: true content: multipart/form-data: schema: type: object properties: file: type: string format: binary description: 'Image à uploader. Must be a file.' disk: type: string description: 'Site de dépôt local ou ftp.' example: ftp required: - file - disk /api/songs/upload2: post: summary: 'Uploader un fichier Song V2' description: "Permet d'uploader un média en local uniquement et calcule sa durée automatiquement.\nLe nom du fichier (sans extension) est utilisé comme song_id pour l'enregistrement en base." parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: multipart/form-data schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: filename: audio.mp3 duration: 180.5 song_id: audio properties: filename: type: string example: audio.mp3 duration: type: number example: 180.5 song_id: type: string example: audio 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' tags: - '08 - Songs (Administration)' requestBody: required: true content: multipart/form-data: schema: type: object properties: file: type: string format: binary description: 'Fichier audio à uploader. La durée sera calculée automatiquement et sauvegardée avec le nom du fichier comme ID. Must be a file.' required: - file /api/songs/update-tags: post: summary: 'Ajouter les tags par défaut' description: 'Permet de rajouter les tags manquant aux médias existant (titre, artiste)' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: text/plain: schema: type: string example: '{...}, {...}' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' tags: - '08 - Songs (Administration)' '/api/songs/{song_id}/duration': get: summary: "Récupérer la durée d'un song" description: "Permet de récupérer la durée d'un song en secondes" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: song_id: 1 duration: 180.5 properties: song_id: type: integer example: 1 duration: type: number example: 180.5 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No duration found for this song' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No duration found for this song' tags: - '08 - Songs (Administration)' parameters: - in: path name: song_id description: 'The ID of the song.' example: 00014b36f5a5fd5066e768b04a1d2003 required: true schema: type: string /api/audiences: get: summary: 'Récupérer les audiences' description: 'Permet de recuperer toutes les audiences' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 200: description: '' content: application/json: schema: type: array items: type: object example: - audience_id: 1 user_id: 7 song_id: 1e2a099afe462a41d09d2ea6f23461e7 description: '' age: 0 genre: '' device_name: '0' operating_system: ' ' ip_address: 127.0.0.1 browser_name: ' ' is_robot: 1 user_agent: PostmanRuntime/7.29.0 is_desktop: 0 is_phone: 0 is_mobile: 0 is_tablet: 0 song: id: 1e2a099afe462a41d09d2ea6f23461e7 album_id: 1 artist_id: 1 title: '7.Etablissement de buts pratiques' length: 5373.02 track: 0 disc: 1 path: '7.Etablissement de buts pratiques.mp3' release_date: '2005-07-12' is_active: 1 mediatype_id: 1 description: '' positionInSecond: 0 section: '' url: 'http://127.0.0.1:8001/songs/./7.Etablissement%20de%20buts%20pratiques.mp3' user: id: 7 name: Jacques email: jacques@localhost.com ip_address: 127.0.0.1 - audience_id: 2 user_id: 7 song_id: 199115e59701be9992b8ece7730e9029 description: '' age: 0 genre: '' device_name: '0' operating_system: ' ' ip_address: 127.0.0.1 browser_name: ' ' is_robot: 1 user_agent: PostmanRuntime/7.29.0 is_desktop: 0 is_phone: 0 is_mobile: 0 is_tablet: 0 song: id: 199115e59701be9992b8ece7730e9029 album_id: 1 artist_id: 1 title: 'NP20T7.Les precurseurs du reveil' length: 2731.31 track: 0 disc: 1 path: 'NPEDRO/NP20T7.Les precurseurs du reveil.mp3' release_date: '2000-04-15' is_active: 1 mediatype_id: 1 description: '' positionInSecond: 0 section: 'music,predication' url: 'http://127.0.0.1:8001/songs/NPEDRO/NP20T7.Les%20precurseurs%20du%20reveil.mp3' user: id: 7 name: Jacques email: jacques@localhost.com ip_address: 127.0.0.1 tags: - '09 - Audiences' post: summary: 'Store a newly created resource in storage.' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints security: [] /api/tags: get: summary: 'Lister les mots-clé' description: 'Permet de recuperer la liste des mots-clés (tags)' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: text/plain: schema: type: string example: '{...}, {...}' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' tags: - '10 - Mots-Clés (Administration)' post: summary: 'Créer un mot-clé' description: 'Permet de créer un nouveau mot-clé (tag)' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' 200: description: '' content: application/json: schema: type: object example: name: Tag slug: slug id: 44 properties: name: type: string example: Tag slug: type: string example: slug id: type: integer example: 44 tags: - '10 - Mots-Clés (Administration)' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Nom du mot-clé.' example: Azerty slug: type: string description: 'slug associé au mot-clé.' example: azerty required: - name - slug '/api/tags/{id}': get: summary: 'Afficher un mot-clé (tag)' description: "Permet de récupérer les détails d'un mot-clé" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' 200: description: '' content: application/json: schema: type: object example: name: Tag slug: slug id: 44 properties: name: type: string example: Tag slug: type: string example: slug id: type: integer example: 44 tags: - '10 - Mots-Clés (Administration)' put: summary: 'Modifier un mot-clé' description: 'Permet de modifier un mot-clé' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' 200: description: '' content: application/json: schema: type: object example: name: Tag slug: slug id: 44 properties: name: type: string example: Tag slug: type: string example: slug id: type: integer example: 44 tags: - '10 - Mots-Clés (Administration)' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Nom du mot-clé.' example: Azerty slug: type: string description: 'slug associé au mot-clé.' example: azerty delete: summary: 'Supprimer un mot-clé' description: 'Permet de supprimer un mot-clé' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 204: description: '' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' tags: - '10 - Mots-Clés (Administration)' parameters: - in: path name: id description: 'The ID of the tag.' example: 1 required: true schema: type: integer /api/users: get: summary: 'Lister les utilisateurs' description: 'Permet de recuperer la liste des utilisateurs (SAT)' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: text/plain: schema: type: string example: '{ [ {...}, {...} ] }' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' tags: - '11 - User Administration' post: summary: 'Créer un utilisateur' description: 'Permet de créer une affectation de suivi' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' tags: - '11 - User Administration' requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: "The user's email. Must be a valid email address." example: admin@admin.com username: type: string description: '' example: et firstname: type: string description: "The user's firstname." example: admin lastname: type: string description: "The user's lastname." example: admin required: - email - username - firstname - lastname '/api/users/{userId}/reset-password': put: summary: "Changer le mot de passe d'un utilisateur" description: "Permet de reinitialiser le mot de passe d'un utilisateur" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 204: description: '' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' tags: - '11 - User Administration' requestBody: required: true content: application/json: schema: type: object properties: password: type: string description: "The user's password." example: admin temporary: type: boolean description: 'Specify if the password is temporary.' example: false required: - password parameters: - in: path name: userId description: "ID de l'utilisateur. Exemple : 7b5be751-a49c-4b73-85a7-61a567bb8187" example: nam required: true schema: type: string /api/users/subscribe: post: summary: 'Add user to subscribe list' description: 'Add user to subscribe list' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: accessToken: eyJhbGciOiJSUz...O3pGQ refreshToken: null accessExpiresIn: 1800 refreshExpiresIn: 1800 tokenType: Bearer scope: 'openid profile email' properties: accessToken: type: string example: eyJhbGciOiJSUz...O3pGQ refreshToken: type: string example: null accessExpiresIn: type: integer example: 1800 refreshExpiresIn: type: integer example: 1800 tokenType: type: string example: Bearer scope: type: string example: 'openid profile email' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Invalid user credentials' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Invalid user credentials' tags: - '11 - User Administration' requestBody: required: true content: application/json: schema: type: object properties: user_id: type: string description: "The user's keycloak id." example: admin@admin.com client_id: type: string description: 'The application cleint id.' example: admin client_secret: type: string description: '' example: nemo required: - user_id - client_id - client_secret security: [] /api/users/unsubscribe: post: summary: 'Remove user from subscribe list' description: 'Remove user from subscribe list' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: accessToken: eyJhbGciOiJSUz...O3pGQ refreshToken: null accessExpiresIn: 1800 refreshExpiresIn: 1800 tokenType: Bearer scope: 'openid profile email' properties: accessToken: type: string example: eyJhbGciOiJSUz...O3pGQ refreshToken: type: string example: null accessExpiresIn: type: integer example: 1800 refreshExpiresIn: type: integer example: 1800 tokenType: type: string example: Bearer scope: type: string example: 'openid profile email' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Invalid user credentials' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Invalid user credentials' tags: - '11 - User Administration' requestBody: required: true content: application/json: schema: type: object properties: user_id: type: string description: "The user's keycloak id." example: admin@admin.com client_id: type: string description: 'The application cleint id.' example: admin client_secret: type: string description: '' example: omnis required: - user_id - client_id - client_secret security: [] /api/statistics: get: summary: 'Recupérer les statistics' description: "Permet de recuperer la liste des statistics d'écoute (section côté Admin)" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: text/plain: schema: type: string example: '{...}, {...}' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' tags: - '12 - Statistiques (Administration)' /api/media/get-stats: get: summary: 'Recupérer les statistics entre 2 dates' description: '' parameters: - in: query name: start_date description: 'date Date de début.' example: vero required: true schema: type: string description: 'date Date de début.' example: vero - in: query name: end_date description: "date Date de fin\n\nPermet de recuperer la liste des statistics d'écoute (section côté Admin)" example: esse required: true schema: type: string description: "date Date de fin\n\nPermet de recuperer la liste des statistics d'écoute (section côté Admin)" example: esse - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: text/plain: schema: type: string example: '{...}, {...}' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' tags: - '12 - Statistiques (Administration)' requestBody: required: true content: application/json: schema: type: object properties: start_date: type: string description: 'Must be a valid date in the format Y-m-d.' example: '2025-12-21' end_date: type: string description: 'Must be a valid date in the format Y-m-d.' example: '2025-12-21' required: - start_date - end_date /api/jackets: get: summary: 'Lister les jaquettes' description: 'Permet de recuperer la liste des jaquettes' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: text/plain: schema: type: string example: '{...}, {...}' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' tags: - '13 - Jaquettes (Administration)' post: summary: 'Créer une nouvelle jaquette' description: 'Permet de créer une nouvelle jaquette' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' 200: description: '' content: application/json: schema: type: array items: type: object example: - id: 3 name: 'Jaquette 0' path: '/assets/jaquettes/jaquette_benny hinn.png' position: 0 description: 'Description de la jaquette 0' is_active: true - id: 3 name: 'Jaquette 0' path: '/assets/jaquettes/jaquette_benny hinn.png' position: 0 description: 'Description de la jaquette 0' is_active: true - id: 3 name: 'Jaquette 0' path: '/assets/jaquettes/jaquette_benny hinn.png' position: 0 description: 'Description de la jaquette 0' is_active: true tags: - '13 - Jaquettes (Administration)' requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'Nom de la jaquette.' example: Azerty description: type: string description: 'Description de la jaquette.' example: 'Lorem ipsum' path: type: string description: 'Chemin relatif de la jaquette.' example: assets/jaquettes/jaquette_benny_hinn.png position: type: integer description: "Position dans l'affichage." example: 1 is_active: type: boolean description: '' example: true required: - name - path '/api/jackets/{id}': get: summary: 'Afficher une jaquette' description: "Permet de récupérer les détails d'une jaquette" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' 200: description: '' content: application/json: schema: type: array items: type: object example: - id: 3 name: 'Jaquette 0' path: '/assets/jaquettes/jaquette_benny hinn.png' position: 0 description: 'Description de la jaquette 0' is_active: true - id: 3 name: 'Jaquette 0' path: '/assets/jaquettes/jaquette_benny hinn.png' position: 0 description: 'Description de la jaquette 0' is_active: true - id: 3 name: 'Jaquette 0' path: '/assets/jaquettes/jaquette_benny hinn.png' position: 0 description: 'Description de la jaquette 0' is_active: true tags: - '13 - Jaquettes (Administration)' put: summary: 'Modifier une jaquette' description: 'Permet de modifier une jaquette' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' 200: description: '' content: application/json: schema: type: array items: type: object example: - id: 3 name: 'Jaquette 0' path: '/assets/jaquettes/jaquette_benny hinn.png' position: 0 description: 'Description de la jaquette 0' is_active: true - id: 3 name: 'Jaquette 0' path: '/assets/jaquettes/jaquette_benny hinn.png' position: 0 description: 'Description de la jaquette 0' is_active: true - id: 3 name: 'Jaquette 0' path: '/assets/jaquettes/jaquette_benny hinn.png' position: 0 description: 'Description de la jaquette 0' is_active: true tags: - '13 - Jaquettes (Administration)' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Nom de la jaquette.' example: Azerty description: type: string description: 'Description de la jaquette.' example: 'Lorem ipsum' path: type: string description: '' example: ut position: type: integer description: "Position dans l'affichage." example: 1 delete: summary: 'Supprimer une jaquette' description: 'Permet de supprimer une jaquette' parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 204: description: '' 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' tags: - '13 - Jaquettes (Administration)' parameters: - in: path name: id description: 'The ID of the jacket.' example: 13 required: true schema: type: integer /api/jackets/upload: post: summary: 'Uploader une image de jaquette' description: "Permet d'uploader l'image d'une jaquette en local" parameters: - in: header name: Authorization description: '' example: 'Bearer {YOUR_AUTH_KEY}' schema: type: string - in: header name: Content-Type description: '' example: multipart/form-data schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: filename: assets/jaquettes/jaquette_benny_hinn.png properties: filename: type: string example: assets/jaquettes/jaquette_benny_hinn.png 401: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized path: null description: 'Bad token' properties: code: type: integer example: 401 message: type: string example: Unauthorized path: type: string example: null description: type: string example: 'Bad token' 422: description: '' content: text/plain: schema: type: string example: '{ "message" : "The given data was invalid.", "error" : {...}}' tags: - '13 - Jaquettes (Administration)' requestBody: required: true content: multipart/form-data: schema: type: object properties: file: type: string format: binary description: 'Fichier audio à uploader. La durée sera calculée automatiquement et sauvegardée avec le nom du fichier comme ID. Must be a file.' required: - file /api/broadcasting/auth: post: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints security: [] /api/data: get: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized. path: null description: Unauthorized. properties: code: type: integer example: 401 message: type: string example: Unauthorized. path: type: string example: null description: type: string example: Unauthorized. tags: - Endpoints security: [] /api/settings: post: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: media_path: type: string description: '' example: autem required: - media_path security: [] /api/upload: post: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: multipart/form-data schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints requestBody: required: true content: multipart/form-data: schema: type: object properties: file: type: string format: binary description: 'Must be a file.' required: - file security: [] /api/interaction/play: post: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: song: type: string description: '' example: fuga required: - song security: [] /api/interaction/like: post: summary: 'Mark / Unmark a new song as favorite.' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: mediaId: type: string description: 'Id du média à tagger.' example: 042e63a6e171ce59614a9418bf55de9c operation: type: string description: 'like ou dislike.' example: like required: - mediaId - operation security: [] /api/interaction/batch/like: post: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: songs: type: array description: '' example: - itaque items: type: string required: - songs security: [] /api/interaction/batch/unlike: post: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: songs: type: array description: '' example: - velit items: type: string required: - songs security: [] '/api/interaction/recently-played/{count}': get: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 500: description: '' content: application/json: schema: type: object example: message: 'Too few arguments to function App\Http\Controllers\API\Interaction\Controller::__construct(), 2 passed in /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/app/Http/Controllers/API/Interaction/RecentlyPlayedController.php on line 18 and exactly 4 expected' exception: ArgumentCountError file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/app/Http/Controllers/API/Interaction/Controller.php line: 27 trace: - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/app/Http/Controllers/API/Interaction/RecentlyPlayedController.php line: 18 function: __construct class: App\Http\Controllers\API\Interaction\Controller type: '->' - function: __construct class: App\Http\Controllers\API\Interaction\RecentlyPlayedController type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/Container.php line: 929 function: newInstanceArgs class: ReflectionClass type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/Container.php line: 770 function: build class: Illuminate\Container\Container type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Application.php line: 881 function: resolve class: Illuminate\Container\Container type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/Container.php line: 706 function: resolve class: Illuminate\Foundation\Application type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Application.php line: 866 function: make class: Illuminate\Container\Container type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Route.php line: 274 function: make class: Illuminate\Foundation\Application type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Route.php line: 1099 function: getController class: Illuminate\Routing\Route type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Route.php line: 1030 function: controllerMiddleware class: Illuminate\Routing\Route type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Router.php line: 810 function: gatherMiddleware class: Illuminate\Routing\Route type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Router.php line: 792 function: gatherRouteMiddleware class: Illuminate\Routing\Router type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Router.php line: 776 function: runRouteWithinStack class: Illuminate\Routing\Router type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Router.php line: 740 function: runRoute class: Illuminate\Routing\Router type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Router.php line: 729 function: dispatchToRoute class: Illuminate\Routing\Router type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php line: 190 function: dispatch class: Illuminate\Routing\Router type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 141 function: 'Illuminate\Foundation\Http\{closure}' class: Illuminate\Foundation\Http\Kernel type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/fruitcake/laravel-cors/src/HandleCors.php line: 52 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Fruitcake\Cors\HandleCors type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/app/Http/Middleware/ForceHttps.php line: 26 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: App\Http\Middleware\ForceHttps type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php line: 21 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php line: 31 function: handle class: Illuminate\Foundation\Http\Middleware\TransformsRequest type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php line: 21 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php line: 40 function: handle class: Illuminate\Foundation\Http\Middleware\TransformsRequest type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Illuminate\Foundation\Http\Middleware\TrimStrings type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php line: 27 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Illuminate\Foundation\Http\Middleware\ValidatePostSize type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php line: 86 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 116 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php line: 165 function: then class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php line: 134 function: sendRequestThroughRouter class: Illuminate\Foundation\Http\Kernel type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php line: 299 function: handle class: Illuminate\Foundation\Http\Kernel type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php line: 287 function: callLaravelOrLumenRoute class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php line: 89 function: makeApiCall class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php line: 45 function: makeResponseCall class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php line: 35 function: makeResponseCallIfConditionsPass class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php line: 222 function: __invoke class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php line: 179 function: iterateThroughStrategies class: Knuckles\Scribe\Extracting\Extractor type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php line: 116 function: fetchResponses class: Knuckles\Scribe\Extracting\Extractor type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php line: 123 function: processRoute class: Knuckles\Scribe\Extracting\Extractor type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php line: 80 function: extractEndpointsInfoFromLaravelApp class: Knuckles\Scribe\GroupedEndpoints\GroupedEndpointsFromApp type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php line: 56 function: extractEndpointsInfoAndWriteToDisk class: Knuckles\Scribe\GroupedEndpoints\GroupedEndpointsFromApp type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php line: 55 function: get class: Knuckles\Scribe\GroupedEndpoints\GroupedEndpointsFromApp type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php line: 36 function: handle class: Knuckles\Scribe\Commands\GenerateDocumentation type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/Util.php line: 41 function: 'Illuminate\Container\{closure}' class: Illuminate\Container\BoundMethod type: '::' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php line: 93 function: unwrapIfClosure class: Illuminate\Container\Util type: '::' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php line: 37 function: callBoundMethod class: Illuminate\Container\BoundMethod type: '::' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/Container.php line: 661 function: call class: Illuminate\Container\BoundMethod type: '::' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Console/Command.php line: 183 function: call class: Illuminate\Container\Container type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/symfony/console/Command/Command.php line: 326 function: execute class: Illuminate\Console\Command type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Console/Command.php line: 153 function: run class: Symfony\Component\Console\Command\Command type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/symfony/console/Application.php line: 1078 function: run class: Illuminate\Console\Command type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/symfony/console/Application.php line: 324 function: doRunCommand class: Symfony\Component\Console\Application type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/symfony/console/Application.php line: 175 function: doRun class: Symfony\Component\Console\Application type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Console/Application.php line: 102 function: run class: Symfony\Component\Console\Application type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php line: 155 function: run class: Illuminate\Console\Application type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/artisan line: 36 function: handle class: Illuminate\Foundation\Console\Kernel type: '->' properties: message: type: string example: 'Too few arguments to function App\Http\Controllers\API\Interaction\Controller::__construct(), 2 passed in /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/app/Http/Controllers/API/Interaction/RecentlyPlayedController.php on line 18 and exactly 4 expected' exception: type: string example: ArgumentCountError file: type: string example: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/app/Http/Controllers/API/Interaction/Controller.php line: type: integer example: 27 trace: type: array example: - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/app/Http/Controllers/API/Interaction/RecentlyPlayedController.php line: 18 function: __construct class: App\Http\Controllers\API\Interaction\Controller type: '->' - function: __construct class: App\Http\Controllers\API\Interaction\RecentlyPlayedController type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/Container.php line: 929 function: newInstanceArgs class: ReflectionClass type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/Container.php line: 770 function: build class: Illuminate\Container\Container type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Application.php line: 881 function: resolve class: Illuminate\Container\Container type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/Container.php line: 706 function: resolve class: Illuminate\Foundation\Application type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Application.php line: 866 function: make class: Illuminate\Container\Container type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Route.php line: 274 function: make class: Illuminate\Foundation\Application type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Route.php line: 1099 function: getController class: Illuminate\Routing\Route type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Route.php line: 1030 function: controllerMiddleware class: Illuminate\Routing\Route type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Router.php line: 810 function: gatherMiddleware class: Illuminate\Routing\Route type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Router.php line: 792 function: gatherRouteMiddleware class: Illuminate\Routing\Router type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Router.php line: 776 function: runRouteWithinStack class: Illuminate\Routing\Router type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Router.php line: 740 function: runRoute class: Illuminate\Routing\Router type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Router.php line: 729 function: dispatchToRoute class: Illuminate\Routing\Router type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php line: 190 function: dispatch class: Illuminate\Routing\Router type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 141 function: 'Illuminate\Foundation\Http\{closure}' class: Illuminate\Foundation\Http\Kernel type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/fruitcake/laravel-cors/src/HandleCors.php line: 52 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Fruitcake\Cors\HandleCors type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/app/Http/Middleware/ForceHttps.php line: 26 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: App\Http\Middleware\ForceHttps type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php line: 21 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php line: 31 function: handle class: Illuminate\Foundation\Http\Middleware\TransformsRequest type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php line: 21 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php line: 40 function: handle class: Illuminate\Foundation\Http\Middleware\TransformsRequest type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Illuminate\Foundation\Http\Middleware\TrimStrings type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php line: 27 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Illuminate\Foundation\Http\Middleware\ValidatePostSize type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php line: 86 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 116 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php line: 165 function: then class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php line: 134 function: sendRequestThroughRouter class: Illuminate\Foundation\Http\Kernel type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php line: 299 function: handle class: Illuminate\Foundation\Http\Kernel type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php line: 287 function: callLaravelOrLumenRoute class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php line: 89 function: makeApiCall class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php line: 45 function: makeResponseCall class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php line: 35 function: makeResponseCallIfConditionsPass class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php line: 222 function: __invoke class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php line: 179 function: iterateThroughStrategies class: Knuckles\Scribe\Extracting\Extractor type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php line: 116 function: fetchResponses class: Knuckles\Scribe\Extracting\Extractor type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php line: 123 function: processRoute class: Knuckles\Scribe\Extracting\Extractor type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php line: 80 function: extractEndpointsInfoFromLaravelApp class: Knuckles\Scribe\GroupedEndpoints\GroupedEndpointsFromApp type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php line: 56 function: extractEndpointsInfoAndWriteToDisk class: Knuckles\Scribe\GroupedEndpoints\GroupedEndpointsFromApp type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php line: 55 function: get class: Knuckles\Scribe\GroupedEndpoints\GroupedEndpointsFromApp type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php line: 36 function: handle class: Knuckles\Scribe\Commands\GenerateDocumentation type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/Util.php line: 41 function: 'Illuminate\Container\{closure}' class: Illuminate\Container\BoundMethod type: '::' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php line: 93 function: unwrapIfClosure class: Illuminate\Container\Util type: '::' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php line: 37 function: callBoundMethod class: Illuminate\Container\BoundMethod type: '::' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/Container.php line: 661 function: call class: Illuminate\Container\BoundMethod type: '::' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Console/Command.php line: 183 function: call class: Illuminate\Container\Container type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/symfony/console/Command/Command.php line: 326 function: execute class: Illuminate\Console\Command type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Console/Command.php line: 153 function: run class: Symfony\Component\Console\Command\Command type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/symfony/console/Application.php line: 1078 function: run class: Illuminate\Console\Command type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/symfony/console/Application.php line: 324 function: doRunCommand class: Symfony\Component\Console\Application type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/symfony/console/Application.php line: 175 function: doRun class: Symfony\Component\Console\Application type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Console/Application.php line: 102 function: run class: Symfony\Component\Console\Application type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php line: 155 function: run class: Illuminate\Console\Application type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/artisan line: 36 function: handle class: Illuminate\Foundation\Console\Kernel type: '->' items: type: object tags: - Endpoints security: [] parameters: - in: path name: count description: 'Optional parameter.' required: true schema: type: string examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: '7030538' /api/interaction/favorites: get: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized. path: null description: Unauthorized. properties: code: type: integer example: 401 message: type: string example: Unauthorized. path: type: string example: null description: type: string example: Unauthorized. tags: - Endpoints security: [] /api/playlist: get: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized. path: null description: Unauthorized. properties: code: type: integer example: 401 message: type: string example: Unauthorized. path: type: string example: null description: type: string example: Unauthorized. tags: - Endpoints security: [] post: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: placeat songs: type: array description: '' example: - sed items: type: string required: - name security: [] '/api/playlist/{id}': put: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints security: [] delete: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints security: [] parameters: - in: path name: id description: 'The ID of the playlist.' example: 17 required: true schema: type: integer /api/lastfm/session-key: post: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: key: type: string description: '' example: totam required: - key security: [] /api/lastfm/disconnect: delete: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints security: [] /api/search: get: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized. path: null description: Unauthorized. properties: code: type: integer example: 401 message: type: string example: Unauthorized. path: type: string example: null description: type: string example: Unauthorized. tags: - Endpoints security: [] /api/search/songs: get: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: code: 401 message: Unauthorized. path: null description: Unauthorized. properties: code: type: integer example: 401 message: type: string example: Unauthorized. path: type: string example: null description: type: string example: Unauthorized. tags: - Endpoints security: [] /api/os/s3/song: post: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: bucket: type: string description: '' example: facere key: type: string description: '' example: qui tags: type: object description: '' example: [] properties: duration: type: number description: '' example: 105122177.764 required: - bucket - key security: [] delete: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: bucket: type: string description: '' example: amet key: type: string description: '' example: reiciendis required: - bucket - key security: [] /api/hello: get: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 200: description: '' content: text/plain: schema: type: string example: ':)' tags: - Endpoints security: [] '/api/audiences/{id}': get: summary: 'Display the specified resource.' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 500: description: '' content: application/json: schema: type: object example: message: "SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id' in 'WHERE' (SQL: select * from `audiences` where `id` = 1 limit 1)" exception: Illuminate\Database\QueryException file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Database/Connection.php line: 760 trace: - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Database/Connection.php line: 720 function: runQueryCallback class: Illuminate\Database\Connection type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Database/Connection.php line: 422 function: run class: Illuminate\Database\Connection type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php line: 2706 function: select class: Illuminate\Database\Connection type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php line: 2694 function: runSelect class: Illuminate\Database\Query\Builder type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php line: 3230 function: 'Illuminate\Database\Query\{closure}' class: Illuminate\Database\Query\Builder type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php line: 2695 function: onceWithColumns class: Illuminate\Database\Query\Builder type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php line: 710 function: get class: Illuminate\Database\Query\Builder type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php line: 694 function: getModels class: Illuminate\Database\Eloquent\Builder type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php line: 296 function: get class: Illuminate\Database\Eloquent\Builder type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php line: 2042 function: first class: Illuminate\Database\Eloquent\Builder type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/ImplicitRouteBinding.php line: 61 function: resolveRouteBinding class: Illuminate\Database\Eloquent\Model type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Router.php line: 947 function: resolveForRoute class: Illuminate\Routing\ImplicitRouteBinding type: '::' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php line: 41 function: substituteImplicitBindings class: Illuminate\Routing\Router type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Illuminate\Routing\Middleware\SubstituteBindings type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php line: 126 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php line: 62 function: handleRequest class: Illuminate\Routing\Middleware\ThrottleRequests type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Illuminate\Routing\Middleware\ThrottleRequests type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 116 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Router.php line: 799 function: then class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Router.php line: 776 function: runRouteWithinStack class: Illuminate\Routing\Router type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Router.php line: 740 function: runRoute class: Illuminate\Routing\Router type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Router.php line: 729 function: dispatchToRoute class: Illuminate\Routing\Router type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php line: 190 function: dispatch class: Illuminate\Routing\Router type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 141 function: 'Illuminate\Foundation\Http\{closure}' class: Illuminate\Foundation\Http\Kernel type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/fruitcake/laravel-cors/src/HandleCors.php line: 52 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Fruitcake\Cors\HandleCors type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/app/Http/Middleware/ForceHttps.php line: 26 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: App\Http\Middleware\ForceHttps type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php line: 21 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php line: 31 function: handle class: Illuminate\Foundation\Http\Middleware\TransformsRequest type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php line: 21 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php line: 40 function: handle class: Illuminate\Foundation\Http\Middleware\TransformsRequest type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Illuminate\Foundation\Http\Middleware\TrimStrings type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php line: 27 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Illuminate\Foundation\Http\Middleware\ValidatePostSize type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php line: 86 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 116 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php line: 165 function: then class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php line: 134 function: sendRequestThroughRouter class: Illuminate\Foundation\Http\Kernel type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php line: 299 function: handle class: Illuminate\Foundation\Http\Kernel type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php line: 287 function: callLaravelOrLumenRoute class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php line: 89 function: makeApiCall class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php line: 45 function: makeResponseCall class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php line: 35 function: makeResponseCallIfConditionsPass class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php line: 222 function: __invoke class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php line: 179 function: iterateThroughStrategies class: Knuckles\Scribe\Extracting\Extractor type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php line: 116 function: fetchResponses class: Knuckles\Scribe\Extracting\Extractor type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php line: 123 function: processRoute class: Knuckles\Scribe\Extracting\Extractor type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php line: 80 function: extractEndpointsInfoFromLaravelApp class: Knuckles\Scribe\GroupedEndpoints\GroupedEndpointsFromApp type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php line: 56 function: extractEndpointsInfoAndWriteToDisk class: Knuckles\Scribe\GroupedEndpoints\GroupedEndpointsFromApp type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php line: 55 function: get class: Knuckles\Scribe\GroupedEndpoints\GroupedEndpointsFromApp type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php line: 36 function: handle class: Knuckles\Scribe\Commands\GenerateDocumentation type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/Util.php line: 41 function: 'Illuminate\Container\{closure}' class: Illuminate\Container\BoundMethod type: '::' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php line: 93 function: unwrapIfClosure class: Illuminate\Container\Util type: '::' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php line: 37 function: callBoundMethod class: Illuminate\Container\BoundMethod type: '::' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/Container.php line: 661 function: call class: Illuminate\Container\BoundMethod type: '::' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Console/Command.php line: 183 function: call class: Illuminate\Container\Container type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/symfony/console/Command/Command.php line: 326 function: execute class: Illuminate\Console\Command type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Console/Command.php line: 153 function: run class: Symfony\Component\Console\Command\Command type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/symfony/console/Application.php line: 1078 function: run class: Illuminate\Console\Command type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/symfony/console/Application.php line: 324 function: doRunCommand class: Symfony\Component\Console\Application type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/symfony/console/Application.php line: 175 function: doRun class: Symfony\Component\Console\Application type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Console/Application.php line: 102 function: run class: Symfony\Component\Console\Application type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php line: 155 function: run class: Illuminate\Console\Application type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/artisan line: 36 function: handle class: Illuminate\Foundation\Console\Kernel type: '->' properties: message: type: string example: "SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id' in 'WHERE' (SQL: select * from `audiences` where `id` = 1 limit 1)" exception: type: string example: Illuminate\Database\QueryException file: type: string example: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Database/Connection.php line: type: integer example: 760 trace: type: array example: - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Database/Connection.php line: 720 function: runQueryCallback class: Illuminate\Database\Connection type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Database/Connection.php line: 422 function: run class: Illuminate\Database\Connection type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php line: 2706 function: select class: Illuminate\Database\Connection type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php line: 2694 function: runSelect class: Illuminate\Database\Query\Builder type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php line: 3230 function: 'Illuminate\Database\Query\{closure}' class: Illuminate\Database\Query\Builder type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php line: 2695 function: onceWithColumns class: Illuminate\Database\Query\Builder type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php line: 710 function: get class: Illuminate\Database\Query\Builder type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php line: 694 function: getModels class: Illuminate\Database\Eloquent\Builder type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php line: 296 function: get class: Illuminate\Database\Eloquent\Builder type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php line: 2042 function: first class: Illuminate\Database\Eloquent\Builder type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/ImplicitRouteBinding.php line: 61 function: resolveRouteBinding class: Illuminate\Database\Eloquent\Model type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Router.php line: 947 function: resolveForRoute class: Illuminate\Routing\ImplicitRouteBinding type: '::' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php line: 41 function: substituteImplicitBindings class: Illuminate\Routing\Router type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Illuminate\Routing\Middleware\SubstituteBindings type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php line: 126 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php line: 62 function: handleRequest class: Illuminate\Routing\Middleware\ThrottleRequests type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Illuminate\Routing\Middleware\ThrottleRequests type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 116 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Router.php line: 799 function: then class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Router.php line: 776 function: runRouteWithinStack class: Illuminate\Routing\Router type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Router.php line: 740 function: runRoute class: Illuminate\Routing\Router type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Routing/Router.php line: 729 function: dispatchToRoute class: Illuminate\Routing\Router type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php line: 190 function: dispatch class: Illuminate\Routing\Router type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 141 function: 'Illuminate\Foundation\Http\{closure}' class: Illuminate\Foundation\Http\Kernel type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/fruitcake/laravel-cors/src/HandleCors.php line: 52 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Fruitcake\Cors\HandleCors type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/app/Http/Middleware/ForceHttps.php line: 26 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: App\Http\Middleware\ForceHttps type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php line: 21 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php line: 31 function: handle class: Illuminate\Foundation\Http\Middleware\TransformsRequest type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php line: 21 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php line: 40 function: handle class: Illuminate\Foundation\Http\Middleware\TransformsRequest type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Illuminate\Foundation\Http\Middleware\TrimStrings type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php line: 27 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Illuminate\Foundation\Http\Middleware\ValidatePostSize type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php line: 86 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 180 function: handle class: Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php line: 116 function: 'Illuminate\Pipeline\{closure}' class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php line: 165 function: then class: Illuminate\Pipeline\Pipeline type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php line: 134 function: sendRequestThroughRouter class: Illuminate\Foundation\Http\Kernel type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php line: 299 function: handle class: Illuminate\Foundation\Http\Kernel type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php line: 287 function: callLaravelOrLumenRoute class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php line: 89 function: makeApiCall class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php line: 45 function: makeResponseCall class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php line: 35 function: makeResponseCallIfConditionsPass class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php line: 222 function: __invoke class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php line: 179 function: iterateThroughStrategies class: Knuckles\Scribe\Extracting\Extractor type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php line: 116 function: fetchResponses class: Knuckles\Scribe\Extracting\Extractor type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php line: 123 function: processRoute class: Knuckles\Scribe\Extracting\Extractor type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php line: 80 function: extractEndpointsInfoFromLaravelApp class: Knuckles\Scribe\GroupedEndpoints\GroupedEndpointsFromApp type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php line: 56 function: extractEndpointsInfoAndWriteToDisk class: Knuckles\Scribe\GroupedEndpoints\GroupedEndpointsFromApp type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php line: 55 function: get class: Knuckles\Scribe\GroupedEndpoints\GroupedEndpointsFromApp type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php line: 36 function: handle class: Knuckles\Scribe\Commands\GenerateDocumentation type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/Util.php line: 41 function: 'Illuminate\Container\{closure}' class: Illuminate\Container\BoundMethod type: '::' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php line: 93 function: unwrapIfClosure class: Illuminate\Container\Util type: '::' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php line: 37 function: callBoundMethod class: Illuminate\Container\BoundMethod type: '::' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Container/Container.php line: 661 function: call class: Illuminate\Container\BoundMethod type: '::' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Console/Command.php line: 183 function: call class: Illuminate\Container\Container type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/symfony/console/Command/Command.php line: 326 function: execute class: Illuminate\Console\Command type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Console/Command.php line: 153 function: run class: Symfony\Component\Console\Command\Command type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/symfony/console/Application.php line: 1078 function: run class: Illuminate\Console\Command type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/symfony/console/Application.php line: 324 function: doRunCommand class: Symfony\Component\Console\Application type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/symfony/console/Application.php line: 175 function: doRun class: Symfony\Component\Console\Application type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Console/Application.php line: 102 function: run class: Symfony\Component\Console\Application type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php line: 155 function: run class: Illuminate\Console\Application type: '->' - file: /home/bwuq2475/public_html/Editions_Charisma/production/Api/streaming_audio/koel_api_test/artisan line: 36 function: handle class: Illuminate\Foundation\Console\Kernel type: '->' items: type: object tags: - Endpoints security: [] put: summary: 'Update the specified resource in storage.' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints security: [] delete: summary: 'Remove the specified resource from storage.' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints security: [] parameters: - in: path name: id description: 'The ID of the audience.' example: 3 required: true schema: type: integer '/api/{song_id}/scrobble': post: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: timestamp: type: number description: '' example: 0.0 required: - timestamp security: [] parameters: - in: path name: song_id description: 'The ID of the song.' example: 00014b36f5a5fd5066e768b04a1d2003 required: true schema: type: string '/api/playlist/{playlist_id}/sync': put: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints requestBody: required: false content: application/json: schema: type: object properties: songs: type: array description: '' example: - voluptatem items: type: string security: [] parameters: - in: path name: playlist_id description: 'The ID of the playlist.' example: 1 required: true schema: type: integer '/api/playlist/{playlist_id}/songs': get: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: 404: description: '' content: application/json: schema: type: object example: code: 404 message: 'Resource not found' path: null description: 'No query result found for this Id' properties: code: type: integer example: 404 message: type: string example: 'Resource not found' path: type: string example: null description: type: string example: 'No query result found for this Id' tags: - Endpoints security: [] parameters: - in: path name: playlist_id description: 'The ID of the playlist.' example: 13 required: true schema: type: integer /api/songs/test-upload: post: summary: 'Test upload sans validation de song_id (temporaire)' description: '' parameters: - in: header name: Content-Type description: '' example: multipart/form-data schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string responses: { } tags: - Endpoints requestBody: required: true content: multipart/form-data: schema: type: object properties: file: type: string format: binary description: 'Fichier audio à uploader. La durée sera calculée automatiquement et sauvegardée avec le nom du fichier comme ID. Must be a file.' required: - file security: [] tags: - name: '01 - User Authentication' description: '' - name: '02 - Médias (Front)' description: '' - name: '02 - Médias (Front Web)' description: '' - name: '03 - Thèmes (Administration)' description: '' - name: '04 - Catégories (Administration)' description: '' - name: '05 - Types de Médias (Administration)' description: '' - name: '06 - Artistes (Administration)' description: '' - name: '07 - Albums (Administration)' description: '' - name: '08 - Songs (Administration)' description: '' - name: '09 - Audiences' description: '' - name: '10 - Mots-Clés (Administration)' description: '' - name: '11 - User Administration' description: '' - name: '12 - Statistiques (Administration)' description: '' - name: '13 - Jaquettes (Administration)' description: '' - name: Endpoints description: '' components: securitySchemes: default: type: http scheme: bearer description: '' security: - default: []