{
    "openapi": "3.0.0",
    "info": {
        "title": "ELVIS API",
        "description": "<h3>ELVIS API</h3>",
        "version": "1"
    },
    "servers": [
        {
            "url": "http://ecomm.elvis.ksi.test"
        }
    ],
    "paths": {
        "/api/password/email": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Forgot password",
                "description": "After success reset password email is sent",
                "operationId": "user_forgot_password",
                "requestBody": {
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/ForgotPasswordRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Email has been sent",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "success message",
                                            "type": "string",
                                            "example": "We have emailed your password reset link!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "These credentials do not match our records."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": [],
                        "0": []
                    }
                ]
            }
        },
        "/api/login": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Login with password or authenticate with Facebook, Google, Apple.",
                "description": "After successful auth you will receive sanctum token.",
                "operationId": "user_login",
                "requestBody": {
                    "description": "For social login providers are facebook, apple, google, viisp. Leave email and password fields empty to use social login and vice versa",
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/LoginRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "User logged in",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "success message",
                                            "type": "string"
                                        },
                                        "user": {
                                            "$ref": "#/components/schemas/UserLoggedInResource"
                                        },
                                        "token": {
                                            "description": "sanctum token",
                                            "type": "string",
                                            "example": "2|a3eOaDgiIhTMdX8dmxvosU3IwrOEnpM1gNy8Hjpw"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "User doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "User doesn''t exist"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "These credentials do not match our records."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Error during authentication (social)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "An error has occurred during login."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": [],
                        "0": []
                    }
                ]
            }
        },
        "/api/logout": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Logout user",
                "description": "After successful log out user tokens will be revoked.",
                "operationId": "user_logout",
                "responses": {
                    "200": {
                        "description": "User has been logged out",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "success message",
                                            "type": "string",
                                            "example": "Log out successfully!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Unauthorized"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/register/basic-info": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "operationId": "user_basic_info",
                "requestBody": {
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/BasicUserInfoRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "User basic info created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "success message",
                                            "type": "string",
                                            "example": "Basic info was created successfully!"
                                        },
                                        "user": {
                                            "$ref": "#/components/schemas/UserLoggedInResource"
                                        },
                                        "token": {
                                            "description": "token",
                                            "type": "string",
                                            "example": "token"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Incorrect phone number formatting"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Unauthorized"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": [],
                        "0": []
                    }
                ]
            }
        },
        "/api/register/additional-info": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "operationId": "user_additional_info",
                "requestBody": {
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/AdditionalUserInfoRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "User additional info created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "success message",
                                            "type": "string",
                                            "example": "Additional info was created successfully!"
                                        },
                                        "user": {
                                            "$ref": "#/components/schemas/UserLoggedInResource"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Incorrect phone number formatting"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Unauthorized"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": [],
                        "0": []
                    }
                ]
            }
        },
        "/api/register/complete": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "operationId": "user_complete_step",
                "requestBody": {
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/CompleteUserRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "User complete",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "success message",
                                            "type": "string",
                                            "example": "User was completed successfully!"
                                        },
                                        "user": {
                                            "$ref": "#/components/schemas/UserLoggedInResource"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Incorrect phone number formatting"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Unauthorized"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": [],
                        "0": []
                    }
                ]
            }
        },
        "/api/password/reset": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Reset password",
                "description": "After success password is going to be changed",
                "operationId": "user_reset_password",
                "requestBody": {
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/ResetPasswordRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Password has been reset",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "success message",
                                            "type": "string",
                                            "example": "Your password has been reset!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "These credentials do not match our records."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": [],
                        "0": []
                    }
                ]
            }
        },
        "/api/password/reset/{token}": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "Reset password form",
                "description": "Gets needed form data",
                "operationId": "user_reset_password_get",
                "parameters": [
                    {
                        "name": "token",
                        "in": "path"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Password token",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "token": {
                                            "description": "Reset pass token",
                                            "type": "string",
                                            "example": "token"
                                        },
                                        "email": {
                                            "description": "User email",
                                            "type": "string",
                                            "example": "email@example.com"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "These credentials do not match our records."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": [],
                        "0": []
                    }
                ]
            }
        },
        "/api/authors": {
            "get": {
                "tags": [
                    "Author"
                ],
                "summary": "Author list",
                "description": "Gets author list",
                "operationId": "authors",
                "parameters": [
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "Per page",
                        "required": false,
                        "example": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Author collection",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Author"
                                            }
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/PaginationTopLevelLinks"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Pagination"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/authors/{author}": {
            "get": {
                "tags": [
                    "Author"
                ],
                "summary": "Author",
                "description": "Gets author<br>\n            <b>In this endpoint these relations are loaded: </b> <br>\n            publications <br>\n            <b>If user is logged these fields are attached:</b> <br>\n            is_followed",
                "operationId": "author",
                "parameters": [
                    {
                        "name": "author",
                        "in": "path",
                        "description": "Author ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Author",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "author": {
                                            "$ref": "#/components/schemas/Author"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Author doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": [],
                        "0": []
                    }
                ]
            }
        },
        "/api/authors/{author}/follow": {
            "post": {
                "tags": [
                    "Author"
                ],
                "summary": "Follow author",
                "description": "Follow author",
                "operationId": "author_follow",
                "parameters": [
                    {
                        "name": "author",
                        "in": "path",
                        "description": "Author ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "requestBody": {
                    "description": "Follow author"
                },
                "responses": {
                    "200": {
                        "description": "Author",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Author"
                                        },
                                        "message": {
                                            "description": "success text",
                                            "type": "string",
                                            "example": "Success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Already followed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Already followed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Author doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/authors/{author}/unfollow": {
            "post": {
                "tags": [
                    "Author"
                ],
                "summary": "Unfollow author",
                "description": "Unfollow author",
                "operationId": "author_unfollow",
                "parameters": [
                    {
                        "name": "author",
                        "in": "path",
                        "description": "Author ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "requestBody": {
                    "description": "Unfollow author"
                },
                "responses": {
                    "200": {
                        "description": "Author",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Author"
                                        },
                                        "message": {
                                            "description": "success text",
                                            "type": "string",
                                            "example": "Success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Already unfollowed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Already unfollowed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Author doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/pages/{page}": {
            "get": {
                "tags": [
                    "Page"
                ],
                "summary": "Publication",
                "description": "Gets static page content (available pages: 'about', 'privacy', 'cookies', 'terms', 'faq', 'user_guide')",
                "operationId": "page",
                "parameters": [
                    {
                        "name": "page",
                        "in": "path",
                        "description": "Page name",
                        "required": true,
                        "example": "about"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Page",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "page": {
                                            "$ref": "#/components/schemas/Page"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Page doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/publication/{id}/player/bookmarks": {
            "get": {
                "tags": [
                    "Player"
                ],
                "summary": "Bookmark list",
                "description": "Gets bookmark list",
                "operationId": "player_bookmark_list",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Publication ID",
                        "required": true,
                        "example": "1"
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "Per page",
                        "required": false,
                        "example": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Bookmark collection",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "bookrmarks": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Bookmark"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Pagination"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/PaginationTopLevelLinks"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/publication/{id}/player/bookmark": {
            "post": {
                "tags": [
                    "Player"
                ],
                "summary": "Bookmark create",
                "description": "Create bookmark",
                "operationId": "player_bookmark_create",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Publication ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "requestBody": {
                    "description": "Create bookmark",
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/BookmarkRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Bookmark created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/PlayerHistory"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Already exists",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Error message"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Error message"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/publication/{id}/player/bookmark_delete": {
            "post": {
                "tags": [
                    "Player"
                ],
                "summary": "Bookmark delete",
                "description": "Delete bookmark",
                "operationId": "player_bookmark_delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Publication ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "requestBody": {
                    "description": "Delete bookmark",
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/BookmarkRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Bookmark deleted",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Bookmark"
                                        },
                                        "message": {
                                            "description": "success text",
                                            "type": "string",
                                            "example": "Success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Already exists",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Error message"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/publication/{id}/player/history": {
            "get": {
                "tags": [
                    "Player"
                ],
                "summary": "History timestamp",
                "description": "Gets history timestamp",
                "operationId": "player_history_timestamp",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Publication ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Player history",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/PlayerHistory"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Player"
                ],
                "summary": "History create",
                "description": "Create history",
                "operationId": "player_history_create",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Publication ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "requestBody": {
                    "description": "Create player history",
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/PlayerHistoryRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Player history created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/PlayerHistory"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Already exists",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Error message"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/publications": {
            "get": {
                "tags": [
                    "Publication"
                ],
                "summary": "Publication list",
                "description": "Gets publication list (available to filter via filters provided by api/filters endpoint) <br>\n            authors do not load publications <br>\n            Available sorts: oldest => created_at, newest => -created_at , by alphabet DESC => title , by alphabet ASC => -title , by vote avg DESC => -vote_avg,\n            by vote avg ASC => vote_avg, by most_readable DESC => -most-readable,  by most_readable ASC => most-readable\n            ",
                "operationId": "publications",
                "parameters": [
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort",
                        "required": false,
                        "example": "-created_at"
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "Per page",
                        "required": false,
                        "example": "20"
                    },
                    {
                        "name": "filter[paieska]",
                        "in": "query",
                        "description": "Search filter",
                        "required": false
                    },
                    {
                        "name": "filter[formatai]",
                        "in": "query",
                        "description": "Format filter (id)",
                        "required": false
                    },
                    {
                        "name": "filter[zanras]",
                        "in": "query",
                        "description": "Genre filter (id)",
                        "required": false
                    },
                    {
                        "name": "filter[kalbos]",
                        "in": "query",
                        "description": "Language filter (id)",
                        "required": false
                    },
                    {
                        "name": "filter[diktoriai]",
                        "in": "query",
                        "description": "Speaker filter (id)",
                        "required": false
                    },
                    {
                        "name": "filter[statusas]",
                        "in": "query",
                        "description": "Status filter",
                        "required": false
                    },
                    {
                        "name": "filter[leidejas]",
                        "in": "query",
                        "description": "Original publisher filter (id)",
                        "required": false
                    },
                    {
                        "name": "filter[metai]",
                        "in": "query",
                        "description": "Original year filter",
                        "required": false
                    },
                    {
                        "name": "filter[leidimo_metai]",
                        "in": "query",
                        "description": "Release year filter",
                        "required": false
                    },
                    {
                        "name": "filter[tipai]",
                        "in": "query",
                        "description": "Publication type filter (id)",
                        "required": false
                    },
                    {
                        "name": "filter[grupe]",
                        "in": "query",
                        "description": "User group filter (id)",
                        "required": false
                    },
                    {
                        "name": "filter[grupes]",
                        "in": "query",
                        "description": "Publication group filter (id)",
                        "required": false
                    },
                    {
                        "name": "filter[kolektyvas]",
                        "in": "query",
                        "description": "Collective filter",
                        "required": false
                    },
                    {
                        "name": "filter[zyme]",
                        "in": "query",
                        "description": "Tag filter",
                        "required": false
                    },
                    {
                        "name": "filter[autoriai]",
                        "in": "query",
                        "description": "Author filter (id)",
                        "required": false
                    },
                    {
                        "name": "filter[autorius]",
                        "in": "query",
                        "description": "Fuzzy Filter by name, surname",
                        "required": false
                    },
                    {
                        "name": "filter[leidykla]",
                        "in": "query",
                        "description": "Publisher filter (by name)",
                        "required": false
                    },
                    {
                        "name": "filter[rengejas]",
                        "in": "query",
                        "description": "Release collective filter (by name)",
                        "required": false
                    },
                    {
                        "name": "filter[antraste]",
                        "in": "query",
                        "description": "Filter by title",
                        "required": false
                    },
                    {
                        "name": "filter[paantraste]",
                        "in": "query",
                        "description": "Filter by subtitle",
                        "required": false
                    },
                    {
                        "name": "filter[isleidimo_metai]",
                        "in": "query",
                        "description": "Filter by release year",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Publication collection",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "publications": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PublicationCollectionResource"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Pagination"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/PaginationTopLevelLinks"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/publications/{publication}": {
            "get": {
                "tags": [
                    "Publication"
                ],
                "summary": "Publication",
                "description": "Gets publication <br>\n            <b>In this endpoint these relations are loaded (if they are not null):</b> <br>\n            authors,\n            speakers,\n            format,\n            languages,\n            licenses,\n            activeLicenses,\n            votes,\n            relatedPublications,\n            comments,\n            genres,\n            originalPublisher,\n            releasePublisher,\n            type,\n            userGroup,\n            tags,\n            publicationGroups,\n            collectives (additional_information) <br>\n            <b>If user is logged in these fields are attached:</b> <br>\n            is_in_history, is_favorite <br>\n            <b>If publication has listening/reading files attached object these fields are attached:</b> <br>\n            files, accelerated_files, <br>\n            <b>If user is logged in and has disabillity status these fields are attached:</b> <br>\n            active_user_reservation, active_user_license, active_license_count, used_license_count, reservation_count",
                "operationId": "publication",
                "parameters": [
                    {
                        "name": "publication",
                        "in": "path",
                        "description": "Publication ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Publication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Publication"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Publication doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": [],
                        "0": []
                    }
                ]
            }
        },
        "/api/publications/{publication}/likes": {
            "post": {
                "tags": [
                    "Publication"
                ],
                "summary": "Add publication to favorites",
                "description": "Adds publication to favorites",
                "operationId": "publication_like",
                "parameters": [
                    {
                        "name": "publication",
                        "in": "path",
                        "description": "Publication ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Publication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Publication"
                                        },
                                        "message": {
                                            "description": "success text",
                                            "type": "string",
                                            "example": "Success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Publication doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Publication"
                ],
                "summary": "Remove publication from favorites",
                "description": "Removes publication from favorites",
                "operationId": "publication_like_delete",
                "parameters": [
                    {
                        "name": "publication",
                        "in": "path",
                        "description": "Publication ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Publication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Publication"
                                        },
                                        "message": {
                                            "description": "success text",
                                            "type": "string",
                                            "example": "Success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Publication doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/publications/{publication}/history": {
            "delete": {
                "tags": [
                    "Publication"
                ],
                "summary": "Remove publication from history",
                "description": "Removes publication from history",
                "operationId": "publication_history_delete",
                "parameters": [
                    {
                        "name": "publication",
                        "in": "path",
                        "description": "Publication ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Publication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Publication"
                                        },
                                        "message": {
                                            "description": "success text",
                                            "type": "string",
                                            "example": "Success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Publication doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/publications/{publication}/download/remove": {
            "delete": {
                "tags": [
                    "Publication"
                ],
                "summary": "Remove publication from downloaded publications list",
                "operationId": "remove_download_action",
                "parameters": [
                    {
                        "name": "publication",
                        "in": "path",
                        "description": "Publication ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Publication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "success text",
                                            "type": "string",
                                            "example": "ok"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/publications/{publication}/download/add": {
            "post": {
                "tags": [
                    "Publication"
                ],
                "summary": "Add publication to downloaded publications list",
                "operationId": "add_download_action",
                "parameters": [
                    {
                        "name": "publication",
                        "in": "path",
                        "description": "Publication ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Publication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "success text",
                                            "type": "string",
                                            "example": "ok"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/publications/filters": {
            "get": {
                "tags": [
                    "Publication"
                ],
                "summary": "Publication filter list",
                "description": "Gets publication filter list",
                "operationId": "publication_filters",
                "parameters": [
                    {
                        "name": "s",
                        "in": "query",
                        "description": "Author search",
                        "required": false,
                        "example": "A"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "All available filters",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "filters": {
                                            "$ref": "#/components/schemas/Filters"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Publication doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/publications/{publication}/comments": {
            "post": {
                "tags": [
                    "Publication"
                ],
                "summary": "Comment on publication",
                "description": "Comment on publication <br>\n            <b>Comment statuses:</b> <br>\n            0 => Naujas (new)\n            1 => Patvirtintas (confirmed)\n            2 => Atmestas (denied)",
                "operationId": "publication_comment",
                "parameters": [
                    {
                        "name": "publication",
                        "in": "path",
                        "description": "Publication ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "requestBody": {
                    "description": "Comment on publication",
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/CommentRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Message data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "comment": {
                                            "$ref": "#/components/schemas/Comment"
                                        },
                                        "message": {
                                            "description": "User email",
                                            "type": "string",
                                            "example": "Success!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Unauthorized"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Publication doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/publications/category": {
            "get": {
                "tags": [
                    "Publication"
                ],
                "summary": "Get publication categories",
                "description": "Get publication categories",
                "operationId": "publication_category",
                "responses": {
                    "200": {
                        "description": "Publication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "description": "filter object",
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PublicationGenre"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/publications/groups": {
            "get": {
                "tags": [
                    "Publication"
                ],
                "summary": "Get publication groups",
                "description": "Get publication groups",
                "operationId": "publication_groups",
                "responses": {
                    "200": {
                        "description": "groups",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/PublicationGroup"
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/publications/{publication}/evaluate": {
            "post": {
                "tags": [
                    "Publication"
                ],
                "summary": "Evaluate publication",
                "description": "Evaluate publication",
                "operationId": "publication_evaluate",
                "parameters": [
                    {
                        "name": "publication",
                        "in": "path",
                        "description": "Publication ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "requestBody": {
                    "description": "Rate publication",
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/VoteRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Publication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Publication"
                                        },
                                        "message": {
                                            "description": "success text",
                                            "type": "string",
                                            "example": "Success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Publication doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/publications/{publication}/save": {
            "get": {
                "tags": [
                    "Publication"
                ],
                "summary": "Publication download",
                "description": "Downloads publication",
                "operationId": "publication_download",
                "parameters": [
                    {
                        "name": "publication",
                        "in": "path",
                        "description": "Publication ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Audio file",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "file": {
                                            "description": "Audio file",
                                            "type": "string",
                                            "format": "binary"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Unauthorized"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Publication doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/publications/{publication}/download_book": {
            "get": {
                "tags": [
                    "Publication"
                ],
                "summary": "Publication download",
                "description": "Downloads publication",
                "operationId": "download_publication",
                "parameters": [
                    {
                        "name": "publication",
                        "in": "path",
                        "description": "Publication ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Book file binary"
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Unauthorized"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Publication doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/publications/{publication}/save_accelerated": {
            "get": {
                "tags": [
                    "Publication"
                ],
                "summary": "Publication accelerated download",
                "description": "Downloads accelerated publication",
                "operationId": "publication_download_accelerated",
                "parameters": [
                    {
                        "name": "publication",
                        "in": "path",
                        "description": "Publication ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Audio file",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "file": {
                                            "description": "Audio file",
                                            "type": "string",
                                            "format": "binary"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Unauthorized"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "No audio files available",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "No audio files available"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/publications/{publication}/issue": {
            "post": {
                "tags": [
                    "Publication license"
                ],
                "summary": "Issue publication license",
                "description": "Issue publication license <br>\n            <b>In this endpoint these relations are loaded:</b> <br>\n            licenses <br>\n            <b>Additionally these fields are attached:</b><br>\n            active_user_reservation, active_user_license",
                "operationId": "publication_license_issue",
                "parameters": [
                    {
                        "name": "publication",
                        "in": "path",
                        "description": "Publication ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Publication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Publication"
                                        },
                                        "message": {
                                            "description": "success text",
                                            "type": "string",
                                            "example": "Success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Publication doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "User already has license!",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "User already has license!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "Publication license"
                ],
                "summary": "Extend publication license",
                "description": "Extend publication license <br>\n            <b>In this endpoint these relations are loaded:</b> <br>\n            licenses <br>\n            <b>Additionally these fields are attached:</b><br>\n            active_user_reservation, active_user_license",
                "operationId": "publication_license_extend",
                "parameters": [
                    {
                        "name": "publication",
                        "in": "path",
                        "description": "Publication ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Publication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Publication"
                                        },
                                        "message": {
                                            "description": "success text",
                                            "type": "string",
                                            "example": "Success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Publication doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "User cannot extend reservation!",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "User cannot extend reservation!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/publications/{publication}/reserve": {
            "post": {
                "tags": [
                    "Publication license"
                ],
                "summary": "Reserve publication license",
                "description": "Reserve publication license <br>\n            <b>In this endpoint these relations are loaded:</b> <br>\n            licenses <br>\n            <b>Additionally these fields are attached:</b><br>\n            active_user_reservation, active_user_license",
                "operationId": "publication_license_reserve",
                "parameters": [
                    {
                        "name": "publication",
                        "in": "path",
                        "description": "Publication ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Publication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Publication"
                                        },
                                        "message": {
                                            "description": "success text",
                                            "type": "string",
                                            "example": "Success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Publication doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "User already has reservation!",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "User already has reservation!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Publication license"
                ],
                "summary": "Remove publication license reservation",
                "description": "Remove publication license reservation <br>\n            <b>In this endpoint these relations are loaded:</b> <br>\n            licenses <br>\n            <b>Additionally these fields are attached:</b><br>\n            active_user_reservation, active_user_license",
                "operationId": "publication_license_reservation_remove",
                "parameters": [
                    {
                        "name": "publication",
                        "in": "path",
                        "description": "Publication ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Publication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Publication"
                                        },
                                        "message": {
                                            "description": "success text",
                                            "type": "string",
                                            "example": "Success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Publication doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "User does not have reservation!",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "User does not have reservation!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/publications/{publication}/return": {
            "post": {
                "tags": [
                    "Publication license"
                ],
                "summary": "Return publication license",
                "description": "Return publication license  <br>\n            <b>In this endpoint these relations are loaded:</b> <br>\n            licenses <br>\n            <b>Additionally these fields are attached:</b><br>\n            active_user_reservation, active_user_license",
                "operationId": "publication_license_return",
                "parameters": [
                    {
                        "name": "publication",
                        "in": "path",
                        "description": "Publication ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Publication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Publication"
                                        },
                                        "message": {
                                            "description": "success text",
                                            "type": "string",
                                            "example": "Success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Publication doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "User already has reservation!",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "User already has reservation!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/speakers": {
            "get": {
                "tags": [
                    "Speaker"
                ],
                "summary": "Speaker list",
                "description": "Gets speaker list",
                "operationId": "speakers",
                "parameters": [
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "Per page",
                        "required": false,
                        "example": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Speaker collection",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "speakers": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Speaker"
                                            }
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/PaginationTopLevelLinks"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Pagination"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/speakers/{speaker}": {
            "get": {
                "tags": [
                    "Speaker"
                ],
                "summary": "Speaker",
                "description": "Gets speaker <br>\n            <b>In this endpoint these relations are loaded: </b> <br>\n            publications <br>\n            <b>If user is logged these fields are attached:</b> <br>\n            is_followed",
                "operationId": "speaker",
                "parameters": [
                    {
                        "name": "speaker",
                        "in": "path",
                        "description": "Speaker ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Speaker",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Speaker"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Speaker doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": [],
                        "0": []
                    }
                ]
            }
        },
        "/api/speaker/{speaker}/comments": {
            "post": {
                "tags": [
                    "Speaker"
                ],
                "summary": "Comment on speaker",
                "description": "Comment on speaker <br>\n            <b>Comment statuses:</b> <br>\n            0 => Naujas (new)\n            1 => Patvirtintas (confirmed)\n            2 => Atmestas (denied)",
                "operationId": "speaker_comment",
                "parameters": [
                    {
                        "name": "speaker",
                        "in": "path",
                        "description": "Speaker ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "requestBody": {
                    "description": "Comment on speaker",
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/CommentRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Message data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "comment": {
                                            "$ref": "#/components/schemas/Comment"
                                        },
                                        "message": {
                                            "description": "User email",
                                            "type": "string",
                                            "example": "Success!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Unauthorized"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Speaker doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/speakers/{speaker}/evaluate": {
            "post": {
                "tags": [
                    "Speaker"
                ],
                "summary": "Evaluate speaker",
                "description": "Evaluate speaker",
                "operationId": "speaker_evaluate",
                "parameters": [
                    {
                        "name": "speaker",
                        "in": "path",
                        "description": "Speaker ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "requestBody": {
                    "description": "Rate speaker",
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/VoteRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Publication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Speaker"
                                        },
                                        "message": {
                                            "description": "success text",
                                            "type": "string",
                                            "example": "Success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Speaker doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/speakers/{speaker}/follow": {
            "post": {
                "tags": [
                    "Speaker"
                ],
                "summary": "Follow speaker",
                "description": "Follow speaker",
                "operationId": "speaker_follow",
                "parameters": [
                    {
                        "name": "speaker",
                        "in": "path",
                        "description": "Speaker ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "requestBody": {
                    "description": "Follow speaker"
                },
                "responses": {
                    "200": {
                        "description": "Speaker",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Speaker"
                                        },
                                        "message": {
                                            "description": "success text",
                                            "type": "string",
                                            "example": "Success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Already followed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Already followed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Speaker doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/speakers/{speaker}/unfollow": {
            "post": {
                "tags": [
                    "Speaker"
                ],
                "summary": "Unfollow speaker",
                "description": "Unfollow speaker",
                "operationId": "speaker_unfollow",
                "parameters": [
                    {
                        "name": "speaker",
                        "in": "path",
                        "description": "Speaker ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "requestBody": {
                    "description": "Unfollow speaker"
                },
                "responses": {
                    "200": {
                        "description": "Speaker",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/Speaker"
                                        },
                                        "message": {
                                            "description": "success text",
                                            "type": "string",
                                            "example": "Success"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Already unfollowed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Already unfollowed"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Speaker doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Not found!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/user": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "Get user data",
                "description": "Get user data <br>\n            <b>Disability document statuses</b> <br>\n            1 => Įkeltas (uploaded),\n            2 => Patvirtintas (confirmed),\n            3 => Atmestas (denied),\n            0 => Neįkeltas (not uploaded) <br>\n            <b>This endpoint additionally attaches user disability documents</b>",
                "operationId": "user_data",
                "responses": {
                    "200": {
                        "description": "User",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "user": {
                                            "$ref": "#/components/schemas/UserLoggedInResource"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "User doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "User doesn''t exist"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/user/update": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Update user",
                "description": "After successful update user data is updated",
                "operationId": "user_update_user",
                "requestBody": {
                    "description": "Update user data",
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/ProfileUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "User data updated successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "user": {
                                            "$ref": "#/components/schemas/UserLoggedInResource"
                                        },
                                        "message": {
                                            "description": "success message",
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "These credentials do not match our records."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Unauthorized"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/user/update_newsletter": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Update newsletter",
                "description": "After successful request update user newsletter options are updated",
                "operationId": "user_update_newsletter",
                "requestBody": {
                    "description": "Update newsletter",
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/ProfileNewsletterUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Newsletter updated successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "user": {
                                            "$ref": "#/components/schemas/UserLoggedInResource"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "These credentials do not match our records."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Unauthorized"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/user/update_password": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Update password",
                "description": "After successful update user password is updated",
                "operationId": "user_update_password",
                "requestBody": {
                    "description": "Update password",
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/ProfilePasswordUpdateRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Password updated successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "user": {
                                            "$ref": "#/components/schemas/UserLoggedInResource"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Success!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "These credentials do not match our records."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Unauthorized"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/user/profile": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "Get user data with statistics",
                "description": "Gets user data with statistics <br>\n            <b>Disability document statuses</b> <br>\n            1 => Įkeltas (uploaded),\n            2 => Patvirtintas (confirmed),\n            3 => Atmestas (denied),\n            0 => Neįkeltas (not uploaded)",
                "operationId": "user_data_with_stats",
                "parameters": [
                    {
                        "name": "year",
                        "in": "query",
                        "description": "Input the year",
                        "required": false,
                        "example": "2022"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "User data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "user": {
                                            "$ref": "#/components/schemas/UserLoggedInResourceStatistics"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Unauthorized"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/messages/{message}/reply": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Send message",
                "description": "Replies to message <br> Creates a ChildMessage",
                "operationId": "message_reply",
                "parameters": [
                    {
                        "name": "message",
                        "in": "path",
                        "description": "Message ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "requestBody": {
                    "description": "Update password",
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/MessageReplyRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Message data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ChildMessageResource"
                                        },
                                        "message": {
                                            "description": "User email",
                                            "type": "string",
                                            "example": "Success!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Unauthorized"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Access denied",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Access denied"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Message doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Message doesn''t exist"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/message/send": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Send message",
                "description": "Sends message <br> Creates a ParentMessage",
                "operationId": "message_send",
                "requestBody": {
                    "description": "Update password",
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "$ref": "#/components/schemas/MessageRequest"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Message data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ParentMessageResource"
                                        },
                                        "message": {
                                            "description": "User email",
                                            "type": "string",
                                            "example": "Success!"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Unauthorized"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Access denied",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Neturite prieigos"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/messages/{message}": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "Get message data",
                "description": "Gets one message data (shows parent or child resource depending on which is retrieved)",
                "operationId": "message_data",
                "parameters": [
                    {
                        "name": "message",
                        "in": "path",
                        "description": "Message ID",
                        "required": true,
                        "example": "1"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Parent message data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "$ref": "#/components/schemas/ParentMessageResource"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Unauthorized"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Access denied",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Neturite prieigos"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Message doesn't exist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Message doesn''t exist"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/messages": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "Get user messages",
                "description": "Gets all user message data (gets parent (top-level) messages)",
                "operationId": "messages",
                "parameters": [
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "Per page",
                        "required": false,
                        "example": "5"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Message data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "messages": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ParentMessageResource"
                                            }
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/PaginationTopLevelLinks"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Pagination"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/user/publications/{format}": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "User favourite, player history, downloaded publication list",
                "description": "Gets publication list",
                "operationId": "user_publications",
                "parameters": [
                    {
                        "name": "format",
                        "in": "path",
                        "description": "Format type id",
                        "required": false,
                        "allowEmptyValue": true,
                        "example": "1"
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "Per page",
                        "required": false,
                        "example": "20"
                    },
                    {
                        "name": "reading_days",
                        "in": "query",
                        "description": "Raading history for days",
                        "required": false,
                        "example": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Publication collection",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "favorites": {
                                                "type": "array",
                                                "items": {
                                                    "properties": {
                                                        "data": {
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/PublicationCollectionResource"
                                                            }
                                                        },
                                                        "meta": {
                                                            "$ref": "#/components/schemas/Pagination"
                                                        },
                                                        "links": {
                                                            "$ref": "#/components/schemas/PaginationTopLevelLinks"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "history": {
                                                "type": "array",
                                                "items": {
                                                    "properties": {
                                                        "data": {
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/PublicationCollectionResource"
                                                            }
                                                        },
                                                        "meta": {
                                                            "$ref": "#/components/schemas/Pagination"
                                                        },
                                                        "links": {
                                                            "$ref": "#/components/schemas/PaginationTopLevelLinks"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "downloaded": {
                                                "type": "array",
                                                "items": {
                                                    "properties": {
                                                        "data": {
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/PublicationCollectionResource"
                                                            }
                                                        },
                                                        "meta": {
                                                            "$ref": "#/components/schemas/Pagination"
                                                        },
                                                        "links": {
                                                            "$ref": "#/components/schemas/PaginationTopLevelLinks"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "followed_speakers": {
                                                "type": "array",
                                                "items": {
                                                    "properties": {
                                                        "data": {
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/PublicationCollectionResource"
                                                            }
                                                        },
                                                        "meta": {
                                                            "$ref": "#/components/schemas/Pagination"
                                                        },
                                                        "links": {
                                                            "$ref": "#/components/schemas/PaginationTopLevelLinks"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "followed_authors": {
                                                "type": "array",
                                                "items": {
                                                    "properties": {
                                                        "data": {
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/PublicationCollectionResource"
                                                            }
                                                        },
                                                        "meta": {
                                                            "$ref": "#/components/schemas/Pagination"
                                                        },
                                                        "links": {
                                                            "$ref": "#/components/schemas/PaginationTopLevelLinks"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/user/publications/favorite/{format}": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "Favorite publication list",
                "operationId": "favorite-publications",
                "parameters": [
                    {
                        "name": "format",
                        "in": "path",
                        "description": "Format type id",
                        "required": false,
                        "allowEmptyValue": true,
                        "example": "1"
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "Per page",
                        "required": false,
                        "example": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Publication collection",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "publications": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PublicationCollectionResource"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Pagination"
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/PaginationTopLevelLinks"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/user/pub_audio": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "User favourite, player history, downloaded publication list in audio format ONLY",
                "description": "Gets audio publication list",
                "operationId": "user_pub_audio",
                "parameters": [
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "Per page",
                        "required": false,
                        "example": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Publication audio collection",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "favorites": {
                                                "type": "array",
                                                "items": {
                                                    "properties": {
                                                        "data": {
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/PublicationCollectionResource"
                                                            }
                                                        },
                                                        "meta": {
                                                            "$ref": "#/components/schemas/Pagination"
                                                        },
                                                        "links": {
                                                            "$ref": "#/components/schemas/PaginationTopLevelLinks"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "history": {
                                                "type": "array",
                                                "items": {
                                                    "properties": {
                                                        "data": {
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/PublicationCollectionResource"
                                                            }
                                                        },
                                                        "meta": {
                                                            "$ref": "#/components/schemas/Pagination"
                                                        },
                                                        "links": {
                                                            "$ref": "#/components/schemas/PaginationTopLevelLinks"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "downloaded": {
                                                "type": "array",
                                                "items": {
                                                    "properties": {
                                                        "data": {
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/PublicationCollectionResource"
                                                            }
                                                        },
                                                        "meta": {
                                                            "$ref": "#/components/schemas/Pagination"
                                                        },
                                                        "links": {
                                                            "$ref": "#/components/schemas/PaginationTopLevelLinks"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "followed_speakers": {
                                                "type": "array",
                                                "items": {
                                                    "properties": {
                                                        "data": {
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/PublicationCollectionResource"
                                                            }
                                                        },
                                                        "meta": {
                                                            "$ref": "#/components/schemas/Pagination"
                                                        },
                                                        "links": {
                                                            "$ref": "#/components/schemas/PaginationTopLevelLinks"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "followed_authors": {
                                                "type": "array",
                                                "items": {
                                                    "properties": {
                                                        "data": {
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/PublicationCollectionResource"
                                                            }
                                                        },
                                                        "meta": {
                                                            "$ref": "#/components/schemas/Pagination"
                                                        },
                                                        "links": {
                                                            "$ref": "#/components/schemas/PaginationTopLevelLinks"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/user/followed": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "Followed authors and speakers",
                "description": "Gets users follow list",
                "operationId": "user_followed",
                "responses": {
                    "200": {
                        "description": "Speaker and authors collections",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "authors": {
                                                "type": "array",
                                                "items": {
                                                    "properties": {
                                                        "data": {
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/Author"
                                                            }
                                                        },
                                                        "meta": {
                                                            "$ref": "#/components/schemas/Pagination"
                                                        },
                                                        "links": {
                                                            "$ref": "#/components/schemas/PaginationTopLevelLinks"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "speakers": {
                                                "type": "array",
                                                "items": {
                                                    "properties": {
                                                        "data": {
                                                            "type": "array",
                                                            "items": {
                                                                "$ref": "#/components/schemas/Speaker"
                                                            }
                                                        },
                                                        "meta": {
                                                            "$ref": "#/components/schemas/Pagination"
                                                        },
                                                        "links": {
                                                            "$ref": "#/components/schemas/PaginationTopLevelLinks"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/libraries": {
            "get": {
                "tags": [
                    "User"
                ],
                "summary": "User library list",
                "description": "Gets User library list",
                "operationId": "libraries",
                "parameters": [
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "Per page",
                        "required": false,
                        "example": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "User library collection",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/UserLibrary"
                                            }
                                        },
                                        "links": {
                                            "$ref": "#/components/schemas/PaginationTopLevelLinks"
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/Pagination"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/user/delete": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Request user delete",
                "description": "User request to delete his profile",
                "operationId": "user_delete",
                "responses": {
                    "200": {
                        "description": "User request registered",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "profile.delete_requested"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        },
        "/api/user/delete": {
            "post": {
                "tags": [
                    "User"
                ],
                "summary": "Request user delete",
                "description": "User request to delete his profile",
                "operationId": "user_delete",
                "responses": {
                    "200": {
                        "description": "User request registered",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "profile.delete_requested"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "description": "error text",
                                            "type": "string",
                                            "example": "Server error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "apiAuth": []
                    }
                ]
            }
        }
    },
    "components": {
        "schemas": {
            "ForgotPasswordRequest": {
                "properties": {
                    "email": {
                        "description": "Email",
                        "type": "string",
                        "default": "email@example.com"
                    }
                },
                "type": "object"
            },
            "LoginRequest": {
                "properties": {
                    "token": {
                        "description": "Token",
                        "type": "string",
                        "default": "provider_token"
                    },
                    "provider": {
                        "description": "Provider",
                        "type": "string",
                        "default": "facebook"
                    },
                    "email": {
                        "description": "Email",
                        "type": "string",
                        "default": "email@example.com"
                    },
                    "password": {
                        "description": "Password",
                        "type": "string",
                        "default": "password"
                    }
                },
                "type": "object"
            },
            "ResetPasswordRequest": {
                "properties": {
                    "email": {
                        "description": "Email",
                        "type": "string",
                        "default": "email@example.com"
                    },
                    "password": {
                        "description": "Password",
                        "type": "string",
                        "default": "email@example.com"
                    },
                    "password_confirmation": {
                        "description": "Confirm password",
                        "type": "string",
                        "default": "email@example.com"
                    },
                    "token": {
                        "description": "Token",
                        "type": "string",
                        "default": "token"
                    }
                },
                "type": "object"
            },
            "Pagination": {
                "properties": {
                    "current_page": {
                        "type": "integer",
                        "example": "1"
                    },
                    "from": {
                        "type": "integer",
                        "example": "1"
                    },
                    "last_page": {
                        "type": "integer",
                        "example": "1"
                    },
                    "links": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PaginationItemLink"
                        }
                    },
                    "path": {
                        "type": "string",
                        "example": "http://example.test/api/publications"
                    },
                    "per_page": {
                        "type": "integer",
                        "example": "12"
                    },
                    "to": {
                        "type": "integer",
                        "example": "12"
                    },
                    "total": {
                        "type": "integer",
                        "example": "50"
                    }
                },
                "type": "object"
            },
            "PaginationTopLevelLinks": {
                "properties": {
                    "first": {
                        "type": "integer",
                        "example": "http://example.test/api/publications?page=1"
                    },
                    "last": {
                        "type": "integer",
                        "example": "http://example.test/api/publications?page=1"
                    },
                    "prev": {
                        "type": "string",
                        "example": "null"
                    },
                    "next": {
                        "type": "string",
                        "example": "null"
                    }
                },
                "type": "object"
            },
            "PaginationItemLink": {
                "properties": {
                    "active": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "label": {
                        "type": "string",
                        "example": "1"
                    },
                    "url": {
                        "type": "string",
                        "example": "http://example.test/api/publications?page=1"
                    }
                },
                "type": "object"
            },
            "AdditionalUserInfoRequest": {
                "properties": {
                    "user_library_id": {
                        "description": "User library id",
                        "type": "integer",
                        "example": "1"
                    },
                    "have_a_disability": {
                        "description": "Have a disability",
                        "type": "boolean",
                        "example": "1"
                    },
                    "nature_of_disability": {
                        "description": "visual or reading or physical or other",
                        "type": "string",
                        "example": "other"
                    },
                    "other_nature_of_disability": {
                        "type": "string",
                        "example": "other disability"
                    },
                    "rules_1": {
                        "description": "Rules 1",
                        "type": "boolean",
                        "example": "1"
                    },
                    "rules_2": {
                        "description": "Rules 2",
                        "type": "boolean",
                        "example": "1"
                    },
                    "document[]": {
                        "description": "Documents",
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "binary"
                        }
                    }
                },
                "type": "object"
            },
            "BasicUserInfoRequest": {
                "properties": {
                    "name": {
                        "description": "User name",
                        "type": "string",
                        "example": "John"
                    },
                    "surname": {
                        "description": "User surname",
                        "type": "string",
                        "example": "Doe"
                    },
                    "email": {
                        "description": "User email",
                        "type": "string",
                        "example": "john@email.com"
                    },
                    "password": {
                        "description": "User password",
                        "type": "string",
                        "example": "password"
                    },
                    "password_confirmation": {
                        "description": "User password confirmation",
                        "type": "string",
                        "example": "password"
                    }
                },
                "type": "object"
            },
            "BookmarkRequest": {
                "properties": {
                    "sector": {
                        "description": "File number from which to seek the time <br>\n            (e.g: publication has 5 audio files, history is added to file number 2, second 50. So the response is sector=2, time=50)",
                        "type": "integer",
                        "example": "5"
                    },
                    "sectorName": {
                        "description": "In case of MP3, file name or in case of Daisy paragraph name",
                        "type": "string",
                        "example": "sector"
                    },
                    "timer": {
                        "description": "Time",
                        "type": "integer",
                        "example": "5"
                    }
                },
                "type": "object"
            },
            "CommentRequest": {
                "properties": {
                    "comment": {
                        "description": "Comment",
                        "example": "Comment body"
                    }
                },
                "type": "object"
            },
            "CompleteUserRequest": {
                "properties": {
                    "personal_code": {
                        "description": "User personal code",
                        "type": "string",
                        "example": "12345678901"
                    },
                    "email": {
                        "description": "User email",
                        "type": "string",
                        "example": "email@email.com"
                    },
                    "phone": {
                        "description": "User phone number",
                        "type": "string",
                        "example": "+37061234567"
                    },
                    "address": {
                        "description": "User address",
                        "type": "string",
                        "example": "Vilnius, Lithuania"
                    },
                    "country": {
                        "description": "User country",
                        "type": "string",
                        "example": "LT"
                    },
                    "document[]": {
                        "description": "Documents",
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "binary"
                        }
                    }
                },
                "type": "object"
            },
            "MessageReplyRequest": {
                "properties": {
                    "message": {
                        "description": "Message",
                        "example": "Message body"
                    },
                    "message_images[]": {
                        "description": "Attached images",
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "binary"
                        }
                    }
                },
                "type": "object"
            },
            "MessageRequest": {
                "properties": {
                    "subject": {
                        "description": "Subject",
                        "type": "string",
                        "example": "Subject of message"
                    },
                    "message": {
                        "description": "Message",
                        "example": "Message body"
                    },
                    "message_images[]": {
                        "description": "Attached images",
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "binary"
                        }
                    }
                },
                "type": "object"
            },
            "PlayerHistoryRequest": {
                "properties": {
                    "sector": {
                        "description": "File number from which to seek the time <br>\n            (e.g: publication has 5 audio files, history is added to file number 2, second 50. So the response is sector=2, time=50)",
                        "example": "5"
                    },
                    "time": {
                        "description": "Time",
                        "example": "5"
                    },
                    "epub_href": {
                        "description": "Epub Href",
                        "example": "OEBPS/Text/Section0001.xhtml"
                    },
                    "epub_id": {
                        "description": "Epub id",
                        "example": "tobi_h_53"
                    }
                },
                "type": "object"
            },
            "ProfileNewsletterUpdateRequest": {
                "properties": {
                    "subscribed_sms": {
                        "description": "Subscribed SMS (boolean)",
                        "type": "integer",
                        "default": "1"
                    },
                    "subscribed_email": {
                        "description": "Subscribed Email (boolean)",
                        "type": "integer",
                        "default": "1"
                    }
                },
                "type": "object"
            },
            "ProfilePasswordUpdateRequest": {
                "properties": {
                    "current_password": {
                        "description": "Old password",
                        "type": "string",
                        "default": "current_password"
                    },
                    "new_password": {
                        "description": "New password",
                        "type": "string",
                        "default": "new_password"
                    },
                    "new_password_confirmation": {
                        "description": "New password confirmation",
                        "type": "string",
                        "default": "new_password"
                    }
                },
                "type": "object"
            },
            "ProfileUpdateRequest": {
                "properties": {
                    "email": {
                        "description": "Email",
                        "type": "string",
                        "default": "user@email.com"
                    },
                    "phone": {
                        "description": "Phone number",
                        "default": "+37070044700"
                    },
                    "address": {
                        "description": "Address",
                        "default": "Kauno g. 14"
                    },
                    "country": {
                        "description": "Country",
                        "default": "LT"
                    },
                    "is_physical_user": {
                        "type": "integer",
                        "example": "1"
                    },
                    "user_library_id": {
                        "description": "Library",
                        "type": "string",
                        "default": "6"
                    },
                    "have_a_disability": {
                        "type": "integer",
                        "example": "1"
                    },
                    "nature_of_disability": {
                        "description": "visual or reading or physical or other",
                        "type": "string",
                        "example": "other"
                    },
                    "other_nature_of_disability": {
                        "type": "string",
                        "example": "other disability"
                    },
                    "document[]": {
                        "description": "Documents",
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "binary"
                        }
                    },
                    "photo": {
                        "description": "Profile picture",
                        "type": "string",
                        "format": "binary"
                    }
                },
                "type": "object"
            },
            "RegisterCompleteRequest": {
                "properties": {
                    "personal_code": {
                        "description": "Personal code",
                        "default": "36666666666"
                    },
                    "phone": {
                        "description": "Phone number",
                        "default": "+37070044700"
                    },
                    "email": {
                        "description": "Email",
                        "default": "staging@elvis.lt.local"
                    },
                    "address": {
                        "description": "Address",
                        "default": "Kauno g. 14"
                    },
                    "country": {
                        "description": "Country",
                        "default": "LT"
                    },
                    "have_a_disability": {
                        "description": "Has a disability",
                        "type": "boolean",
                        "default": 1
                    },
                    "nature_of_disability": {
                        "description": "visual or reading or physical or other",
                        "type": "string",
                        "example": "other"
                    },
                    "other_nature_of_disability": {
                        "type": "string",
                        "example": "other disability"
                    },
                    "rules_1": {
                        "description": "Accept site rules",
                        "type": "boolean",
                        "default": 1
                    },
                    "rules_2": {
                        "description": "Accept data processing rules",
                        "type": "boolean",
                        "default": 1
                    },
                    "user_library_id": {
                        "description": "Library",
                        "default": "6"
                    },
                    "subscribed_email": {
                        "description": "Subscribe to email",
                        "type": "boolean",
                        "default": 1
                    },
                    "subscribed_sms": {
                        "description": "Subscribe to SMS",
                        "type": "boolean",
                        "default": 1
                    },
                    "documents[]": {
                        "description": "Documents",
                        "type": "array",
                        "items": {
                            "type": "string",
                            "format": "binary"
                        }
                    }
                },
                "type": "object"
            },
            "VoteRequest": {
                "properties": {
                    "score": {
                        "description": "Score",
                        "type": "integer",
                        "example": "3"
                    }
                },
                "type": "object"
            },
            "Author": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": "true",
                        "example": "1"
                    },
                    "name": {
                        "type": "string",
                        "example": "Jane"
                    },
                    "surname": {
                        "type": "string",
                        "example": "Doe"
                    },
                    "transcription": {
                        "type": "string",
                        "example": "Transcription"
                    },
                    "birthday": {
                        "type": "integer",
                        "example": "1950"
                    },
                    "date_of_death": {
                        "type": "integer",
                        "example": "1870"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    },
                    "publications": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PublicationCollectionResource"
                        }
                    },
                    "is_followed": {
                        "type": "boolean",
                        "example": "true"
                    }
                },
                "type": "object"
            },
            "Bookmark": {
                "properties": {
                    "publication": {
                        "$ref": "#/components/schemas/PublicationCollectionResource"
                    },
                    "sector": {
                        "description": "File number from which to seek the time <br>\n            (e.g: publication has 5 audio files, bookmark is added to file number 2, second 50. So the response is sector=2, time=50)",
                        "example": "5"
                    },
                    "time": {
                        "type": "integer",
                        "example": "5"
                    },
                    "sectorName": {
                        "description": "In case of MP3, file name or in case of Daisy paragraph name",
                        "type": "string",
                        "example": "Title"
                    }
                },
                "type": "object"
            },
            "ChildMessageResource": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": "true",
                        "example": "1"
                    },
                    "parent_message": {
                        "$ref": "#/components/schemas/ParentMessageResource"
                    },
                    "user": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/UserLoggedInResource"
                        }
                    },
                    "admin_user": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/UserResource"
                        }
                    },
                    "subject": {
                        "type": "string",
                        "example": "Subject"
                    },
                    "body": {
                        "type": "string",
                        "example": "Message text"
                    },
                    "read": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "is_parent": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "is_message_answered": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    },
                    "images": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MediaFile"
                        }
                    }
                },
                "type": "object"
            },
            "Collective": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": "5"
                    },
                    "role_id": {
                        "description": "5",
                        "type": "integer",
                        "example": "Title"
                    },
                    "role_name": {
                        "type": "string",
                        "example": "Aktorius (-ė)"
                    },
                    "full_name": {
                        "type": "string",
                        "example": "Jane Doe"
                    }
                },
                "type": "object"
            },
            "Comment": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": "true",
                        "example": "1"
                    },
                    "commentable_type": {
                        "type": "string",
                        "example": "App\\Models\\Publication"
                    },
                    "commentable_id": {
                        "type": "integer",
                        "example": "5"
                    },
                    "userable_type": {
                        "type": "string",
                        "example": "App\\Models\\User"
                    },
                    "status": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "body": {
                        "type": "string",
                        "example": "Comment"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    },
                    "comment_url": {
                        "type": "string",
                        "example": "www.example.com/post/20"
                    }
                },
                "type": "object"
            },
            "Page": {
                "properties": {
                    "type": {
                        "type": "string",
                        "example": "route"
                    },
                    "name": {
                        "type": "string",
                        "example": "page.about"
                    },
                    "title": {
                        "type": "array",
                        "items": {
                            "properties": {
                                "lt": {
                                    "type": "string",
                                    "example": "Pavadinimas"
                                },
                                "en": {
                                    "type": "string",
                                    "example": "Title"
                                },
                                "ru": {
                                    "type": "string",
                                    "example": "Заголовок"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "content": {
                        "type": "array",
                        "items": {
                            "properties": {
                                "key": {
                                    "type": "string",
                                    "example": "Pavadinimas"
                                },
                                "layout": {
                                    "type": "string",
                                    "example": "Title"
                                },
                                "attributes": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "title": {
                                                "type": "array",
                                                "items": {
                                                    "properties": {
                                                        "lt": {
                                                            "type": "string",
                                                            "example": "Pavadinimas"
                                                        },
                                                        "en": {
                                                            "type": "string",
                                                            "example": "Title"
                                                        },
                                                        "ru": {
                                                            "type": "string",
                                                            "example": "Заголовок"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            },
                                            "body": {
                                                "type": "array",
                                                "items": {
                                                    "properties": {
                                                        "lt": {
                                                            "type": "string",
                                                            "example": "Tūrinys"
                                                        },
                                                        "en": {
                                                            "type": "string",
                                                            "example": "Body"
                                                        },
                                                        "ru": {
                                                            "type": "string",
                                                            "example": "Содержание"
                                                        }
                                                    },
                                                    "type": "object"
                                                }
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            },
                            "type": "object"
                        }
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    }
                },
                "type": "object"
            },
            "ParentMessageResource": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": "true",
                        "example": "1"
                    },
                    "child_messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ChildMessageResource"
                        }
                    },
                    "user": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/UserLoggedInResource"
                        }
                    },
                    "admin_user": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/UserResource"
                        }
                    },
                    "subject": {
                        "type": "string",
                        "example": "Subject"
                    },
                    "body": {
                        "type": "string",
                        "example": "Message text"
                    },
                    "read": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "is_parent": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "is_message_answered": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    },
                    "images": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MediaFile"
                        }
                    }
                },
                "type": "object"
            },
            "PlayerHistory": {
                "properties": {
                    "publication": {
                        "$ref": "#/components/schemas/PublicationCollectionResource"
                    },
                    "sector": {
                        "description": "File number from which to seek the time <br>\n            (e.g: publication has 5 audio files, history is added to file number 2, second 50. So the response is sector=2, time=50)",
                        "type": "integer",
                        "example": "5"
                    },
                    "time": {
                        "type": "integer",
                        "example": "5"
                    },
                    "epub_id": {
                        "type": "string",
                        "example": "tobi_h_53"
                    },
                    "epub_href": {
                        "type": "string",
                        "example": "OEBPS/Text/Section0001.xhtml"
                    }
                },
                "type": "object"
            },
            "PublicationCollectionResource": {
                "properties": {
                    "authors": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Author"
                        }
                    },
                    "speakers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Speaker"
                        }
                    },
                    "title": {
                        "type": "string",
                        "example": "Publication title"
                    },
                    "format": {
                        "$ref": "#/components/schemas/Format"
                    },
                    "language": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PublicationLanguage"
                        }
                    },
                    "photo": {
                        "type": "string",
                        "example": "example.jpg"
                    },
                    "photo_file": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MediaFile"
                        }
                    }
                },
                "type": "object"
            },
            "PublicationGenre": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": "true",
                        "example": "1"
                    },
                    "name": {
                        "type": "string",
                        "example": "Poezija"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    }
                },
                "type": "object"
            },
            "Publication": {
                "properties": {
                    "publication": {
                        "properties": {
                            "id": {
                                "type": "integer",
                                "readOnly": "true",
                                "example": "1"
                            },
                            "is_open": {
                                "type": "boolean",
                                "example": "true"
                            },
                            "lt_only": {
                                "type": "string",
                                "example": "Jane"
                            },
                            "identity_nr": {
                                "type": "string",
                                "example": "Transcription"
                            },
                            "description": {
                                "type": "string",
                                "example": "Description"
                            },
                            "title": {
                                "type": "string",
                                "example": "Title"
                            },
                            "subtitle": {
                                "type": "string",
                                "example": "Title"
                            },
                            "status": {
                                "type": "boolean",
                                "example": "true"
                            },
                            "release_city": {
                                "type": "string",
                                "example": "City"
                            },
                            "release_year": {
                                "type": "integer",
                                "example": "1870"
                            },
                            "original_city": {
                                "type": "string",
                                "example": "City"
                            },
                            "original_country": {
                                "type": "string",
                                "example": "US"
                            },
                            "original_year": {
                                "type": "integer",
                                "example": "1870"
                            },
                            "format_version": {
                                "type": "string",
                                "example": "Doe"
                            },
                            "page_count": {
                                "type": "integer",
                                "example": "20"
                            },
                            "duration": {
                                "type": "integer",
                                "example": "5000"
                            },
                            "sent_to_subscribers": {
                                "type": "boolean",
                                "example": "true"
                            },
                            "meta_title": {
                                "type": "string",
                                "example": "Book"
                            },
                            "meta_description": {
                                "type": "string",
                                "example": "Description"
                            },
                            "meta_keywords": {
                                "type": "string",
                                "example": "book, publication"
                            },
                            "created_at": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2022-01-01 00:00:00"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2022-01-01 00:00:00"
                            }
                        },
                        "type": "object"
                    },
                    "additional_information": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Collective"
                        }
                    },
                    "genres": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PublicationGenre"
                        }
                    },
                    "authors": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Author"
                        }
                    },
                    "speakers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Speaker"
                        }
                    },
                    "licenses": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PublicationLicense"
                        }
                    },
                    "photo": {
                        "type": "string",
                        "example": "http://example.test/storage/55/conversions/main.jpg"
                    },
                    "photo_file": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MediaFile"
                        }
                    },
                    "user_group": {
                        "$ref": "#/components/schemas/UserGroup"
                    },
                    "publication_groups": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PublicationGroup"
                        }
                    },
                    "release_publisher": {
                        "$ref": "#/components/schemas/Publisher"
                    },
                    "original_publisher": {
                        "$ref": "#/components/schemas/Publisher"
                    },
                    "type": {
                        "$ref": "#/components/schemas/PublicationType"
                    },
                    "format": {
                        "$ref": "#/components/schemas/Format"
                    },
                    "language": {
                        "$ref": "#/components/schemas/PublicationLanguage"
                    },
                    "files": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MediaFile"
                        }
                    },
                    "accelerated_files": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MediaFile"
                        }
                    },
                    "comments": {
                        "type": "array",
                        "items": {
                            "properties": {
                                "data": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Comment"
                                    }
                                },
                                "links": {
                                    "$ref": "#/components/schemas/PaginationTopLevelLinks"
                                },
                                "meta": {
                                    "$ref": "#/components/schemas/Pagination"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "related": {
                        "description": "Related publications",
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Publication"
                        }
                    },
                    "votes_result": {
                        "type": "string",
                        "example": "5.0"
                    },
                    "votes_count": {
                        "type": "integer",
                        "example": "1"
                    },
                    "active_user_license": {
                        "$ref": "#/components/schemas/PublicationLicense"
                    },
                    "active_user_reservation": {
                        "type": "boolean",
                        "example": "false"
                    },
                    "active_license_count": {
                        "type": "integer",
                        "example": "1"
                    },
                    "used_license_count": {
                        "type": "integer",
                        "example": "1"
                    },
                    "reservation_count": {
                        "type": "integer",
                        "example": "1"
                    },
                    "is_favorite": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "is_in_history": {
                        "type": "boolean",
                        "example": "true"
                    }
                },
                "type": "object"
            },
            "Speaker": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": "true",
                        "example": "1"
                    },
                    "name": {
                        "type": "string",
                        "example": "Jane"
                    },
                    "surname": {
                        "type": "string",
                        "example": "Doe"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    },
                    "publications": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PublicationCollectionResource"
                        }
                    },
                    "is_followed": {
                        "type": "boolean",
                        "example": "true"
                    }
                },
                "type": "object"
            },
            "UserLibrary": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": "true",
                        "example": "1"
                    },
                    "name": {
                        "type": "string",
                        "example": "Kaišiadorių rajono savivaldybės viešoji biblioteka"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    }
                },
                "type": "object"
            },
            "UserLoggedInResource": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": "true",
                        "example": "1"
                    },
                    "name": {
                        "type": "string",
                        "example": "Jane"
                    },
                    "surname": {
                        "type": "string",
                        "example": "Doe"
                    },
                    "email": {
                        "type": "string",
                        "example": "test@email.com"
                    },
                    "registration_incomplete": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "phone": {
                        "type": "integer",
                        "example": "+37070044700"
                    },
                    "address": {
                        "type": "string",
                        "example": "Kauno g. 14"
                    },
                    "country": {
                        "type": "string",
                        "example": "LT"
                    },
                    "photo": {
                        "type": "string",
                        "example": "photo.png"
                    },
                    "user_library_id": {
                        "type": "integer",
                        "example": "6"
                    },
                    "rules_1": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "rules_2": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "subscribed_email": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "subscribed_sms": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "have_a_disability": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "is_physical_user": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "disability_document_status": {
                        "type": "integer",
                        "example": "2"
                    },
                    "profile_photo": {
                        "type": "string",
                        "example": "http://example.test/storage/55/conversions/main.jpg"
                    },
                    "documents_of_disability": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/MediaFile"
                        }
                    }
                },
                "type": "object"
            },
            "UserResource": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": "true",
                        "example": "1"
                    },
                    "name": {
                        "type": "string",
                        "example": "Test"
                    },
                    "email": {
                        "type": "string",
                        "example": "test@email.com"
                    },
                    "registration_incomplete": {
                        "type": "boolean",
                        "example": "true"
                    }
                },
                "type": "object"
            },
            "UserLoggedInResourceStatistics": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": "true",
                        "example": "1"
                    },
                    "name": {
                        "type": "string",
                        "example": "Jane"
                    },
                    "surname": {
                        "type": "string",
                        "example": "Doe"
                    },
                    "email": {
                        "type": "string",
                        "example": "test@email.com"
                    },
                    "registration_incomplete": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "phone": {
                        "type": "integer",
                        "example": "+37070044700"
                    },
                    "address": {
                        "type": "string",
                        "example": "Kauno g. 14"
                    },
                    "country": {
                        "type": "string",
                        "example": "LT"
                    },
                    "photo": {
                        "type": "string",
                        "example": "photo.png"
                    },
                    "user_library_id": {
                        "type": "integer",
                        "example": "6"
                    },
                    "rules_1": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "rules_2": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "subscribed_email": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "subscribed_sms": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "have_a_disability": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "is_physical_user": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "statistics": {
                        "properties": {
                            "read_book_count": {
                                "properties": {
                                    "all_time": {
                                        "type": "integer",
                                        "example": "20"
                                    },
                                    "by_year": {
                                        "type": "integer",
                                        "example": "20"
                                    }
                                },
                                "type": "object"
                            },
                            "user_comments": {
                                "properties": {
                                    "all_time": {
                                        "properties": {
                                            "count": {
                                                "type": "integer",
                                                "example": "20"
                                            },
                                            "comments": {
                                                "properties": {
                                                    "data": {
                                                        "type": "array",
                                                        "items": {
                                                            "$ref": "#/components/schemas/Comment"
                                                        }
                                                    },
                                                    "links": {
                                                        "$ref": "#/components/schemas/PaginationTopLevelLinks"
                                                    },
                                                    "meta": {
                                                        "$ref": "#/components/schemas/Pagination"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "type": "object"
                                    },
                                    "by_year": {
                                        "properties": {
                                            "count": {
                                                "type": "integer",
                                                "example": "20"
                                            },
                                            "comments": {
                                                "type": "array",
                                                "items": {
                                                    "$ref": "#/components/schemas/Comment"
                                                }
                                            }
                                        },
                                        "type": "object"
                                    }
                                },
                                "type": "object"
                            },
                            "best_rated_book": {
                                "properties": {
                                    "all_time": {
                                        "properties": {
                                            "evaluation": {
                                                "type": "integer",
                                                "example": "50"
                                            },
                                            "publication_data": {
                                                "$ref": "#/components/schemas/Publication"
                                            }
                                        },
                                        "type": "object"
                                    },
                                    "by_year": {
                                        "properties": {
                                            "evaluation": {
                                                "type": "integer",
                                                "example": "50"
                                            },
                                            "publication_data": {
                                                "$ref": "#/components/schemas/Publication"
                                            }
                                        },
                                        "type": "object"
                                    }
                                },
                                "type": "object"
                            },
                            "worst_rated_book": {
                                "properties": {
                                    "all_time": {
                                        "properties": {
                                            "evaluation": {
                                                "type": "integer",
                                                "example": "50"
                                            },
                                            "publication_data": {
                                                "$ref": "#/components/schemas/Publication"
                                            }
                                        },
                                        "type": "object"
                                    },
                                    "by_year": {
                                        "properties": {
                                            "evaluation": {
                                                "type": "integer",
                                                "example": "50"
                                            },
                                            "publication_data": {
                                                "$ref": "#/components/schemas/Publication"
                                            }
                                        },
                                        "type": "object"
                                    }
                                },
                                "type": "object"
                            },
                            "longest_read_book": {
                                "properties": {
                                    "all_time": {
                                        "$ref": "#/components/schemas/Publication"
                                    },
                                    "by_year": {
                                        "$ref": "#/components/schemas/Publication"
                                    }
                                },
                                "type": "object"
                            },
                            "shortest_read_book": {
                                "properties": {
                                    "all_time": {
                                        "$ref": "#/components/schemas/Publication"
                                    },
                                    "by_year": {
                                        "$ref": "#/components/schemas/Publication"
                                    }
                                },
                                "type": "object"
                            },
                            "all_read_book_duration": {
                                "properties": {
                                    "all_time": {
                                        "properties": {
                                            "audio_duration": {
                                                "type": "integer",
                                                "example": "5000"
                                            },
                                            "page_count": {
                                                "type": "integer",
                                                "example": "2000"
                                            }
                                        },
                                        "type": "object"
                                    },
                                    "by_year": {
                                        "properties": {
                                            "audio_duration": {
                                                "type": "integer",
                                                "example": "5000"
                                            },
                                            "page_count": {
                                                "type": "integer",
                                                "example": "2000"
                                            }
                                        },
                                        "type": "object"
                                    }
                                },
                                "type": "object"
                            }
                        },
                        "type": "object"
                    }
                },
                "type": "object"
            },
            "MediaFile": {
                "description": "Spatie Media Library component",
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": "1"
                    },
                    "model_type": {
                        "type": "string",
                        "example": "App\\\\Models\\\\Publication"
                    },
                    "uuid": {
                        "type": "string",
                        "example": "0c80fb35-9320-4874-8268-23fad2162ca3"
                    },
                    "model_id": {
                        "type": "integer",
                        "example": "58"
                    },
                    "collection_name": {
                        "type": "string",
                        "example": "audio_files"
                    },
                    "name": {
                        "type": "string",
                        "example": "file_example_MP3_1MG"
                    },
                    "file_name": {
                        "type": "string",
                        "example": "file_example_MP3_1MG.mp3"
                    },
                    "mime_type": {
                        "type": "string",
                        "example": "audio/mpeg"
                    },
                    "disk": {
                        "type": "string",
                        "example": "public_ssd"
                    },
                    "conversions_disk": {
                        "type": "string",
                        "example": "public_ssd"
                    },
                    "size": {
                        "type": "integer",
                        "example": "1087849"
                    },
                    "order_column": {
                        "type": "integer",
                        "example": "1"
                    },
                    "custom_properties": {
                        "type": "array",
                        "items": {
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "example": "ready"
                                },
                                "progress": {
                                    "type": "integer",
                                    "example": "100"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "responsive_images": {
                        "type": "array",
                        "items": {},
                        "maxItems": 0
                    },
                    "generated_conversions": {
                        "type": "array",
                        "items": {},
                        "maxItems": 0
                    },
                    "manipulations": {
                        "type": "array",
                        "items": {},
                        "maxItems": 0
                    },
                    "original_url": {
                        "type": "string",
                        "example": "http://example.test/audio/100/2?signature=569227d4de01cfc59d37653709db61476af783a9991ba41d08eafefcc334ccd9"
                    },
                    "preview_url": {
                        "type": "integer",
                        "example": "http://example.test/audio/100/2?signature=569227d4de01cfc59d37653709db61476af783a9991ba41d08eafefcc334ccd9"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    }
                },
                "type": "object"
            },
            "Format": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": "true",
                        "example": "1"
                    },
                    "is_textual": {
                        "type": "boolean",
                        "example": "true"
                    },
                    "name": {
                        "type": "string",
                        "example": "MP3"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    }
                },
                "type": "object"
            },
            "PublicationGroup": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": "true",
                        "example": "1"
                    },
                    "title": {
                        "type": "string",
                        "example": "Group"
                    }
                },
                "type": "object"
            },
            "PublicationLanguage": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": "true",
                        "example": "1"
                    },
                    "name": {
                        "type": "string",
                        "example": "Lietuvių"
                    },
                    "code": {
                        "type": "string",
                        "example": "lit"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    }
                },
                "type": "object"
            },
            "PublicationLicense": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": "true",
                        "example": "1"
                    },
                    "publication_id": {
                        "type": "integer",
                        "example": "22"
                    },
                    "qty": {
                        "type": "integer",
                        "example": "20"
                    },
                    "issue_term_days": {
                        "type": "integer",
                        "example": "30"
                    },
                    "expires_at": {
                        "type": "string",
                        "format": "date",
                        "example": "2022-11-12"
                    },
                    "name": {
                        "type": "string",
                        "example": "Knyga"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    }
                },
                "type": "object"
            },
            "PublicationType": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": "true",
                        "example": "1"
                    },
                    "name": {
                        "type": "string",
                        "example": "Knyga"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time",
                        "example": "2022-01-01 00:00:00"
                    }
                },
                "type": "object"
            },
            "Publisher": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "example": "1"
                    },
                    "name": {
                        "type": "string",
                        "example": "Publisher"
                    }
                },
                "type": "object"
            },
            "UserGroup": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "readOnly": "true",
                        "example": "1"
                    },
                    "title": {
                        "type": "string",
                        "example": {
                            "lt": "Vaikams"
                        }
                    }
                },
                "type": "object"
            },
            "Filters": {
                "properties": {
                    "authors": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Author"
                        }
                    },
                    "formats": {
                        "type": "array",
                        "items": {
                            "title": "resource",
                            "type": "string",
                            "example": "MP3"
                        }
                    },
                    "genres": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PublicationGenre"
                        }
                    },
                    "languages": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PublicationLanguage"
                        }
                    },
                    "speakers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Speaker"
                        }
                    },
                    "types": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PublicationType"
                        }
                    },
                    "years": {
                        "type": "array",
                        "items": {
                            "title": "resource",
                            "type": "string",
                            "example": "1975"
                        }
                    },
                    "groups": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PublicationGroup"
                        }
                    },
                    "userGroups": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/UserGroup"
                        }
                    }
                },
                "type": "object"
            }
        },
        "responses": {
            "500": {
                "description": "Server error",
                "content": {
                    "application/json": {
                        "schema": {
                            "properties": {
                                "message": {
                                    "description": "error text",
                                    "type": "string",
                                    "example": "Server error"
                                }
                            },
                            "type": "object"
                        }
                    }
                }
            },
            "401": {
                "description": "Unauthorized",
                "content": {
                    "application/json": {
                        "schema": {
                            "properties": {
                                "message": {
                                    "description": "error text",
                                    "type": "string",
                                    "example": "Unauthorized"
                                }
                            },
                            "type": "object"
                        }
                    }
                }
            }
        },
        "securitySchemes": {
            "apiAuth": {
                "type": "http",
                "description": "Login or register get the authentication sanctum token",
                "name": "Token based Based",
                "in": "header",
                "scheme": "bearer"
            }
        }
    }
}
