Your IP : 216.73.216.145


Current Path : /home/users/unlimited/www/ultimate-ai.codeskitter.site/storage/api-docs/
Upload File :
Current File : /home/users/unlimited/www/ultimate-ai.codeskitter.site/storage/api-docs/api-docs.json

{
    "openapi": "3.0.0",
    "info": {
        "title": "API",
        "version": "1.0.0"
    },
    "paths": {
        "/api/aichat/history/{cat_slug}": {
            "get": {
                "tags": [
                    "AI Chats (Convesations)"
                ],
                "summary": "Get chatbot conversations",
                "description": "get chatbot conversations by template category slug.",
                "operationId": "getOpenAIChat",
                "parameters": [
                    {
                        "name": "cat_slug",
                        "in": "path",
                        "description": "cat_slug of the OpenAI chat category",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "ai-chat-bot"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "category": {
                                            "type": "object"
                                        },
                                        "conversations": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Category not found"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aichat/recent-chats": {
            "get": {
                "tags": [
                    "AI Chats (Convesations)"
                ],
                "summary": "Get recent chatbot conversations",
                "description": "get chatbot conversations by last 20 recent documents.",
                "operationId": "recentChats",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "conversations": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aichat/search-recent-chats": {
            "post": {
                "tags": [
                    "AI Chats (Convesations)"
                ],
                "summary": "Search all chatbot conversations and return last 20",
                "description": "Search all chatbot conversations and return last 20 recent.",
                "operationId": "searchRecentChats",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "conversations": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aichat/new-chat": {
            "post": {
                "tags": [
                    "AI Chats (Convesations)"
                ],
                "summary": "Create new chat conversation",
                "description": "Create new chat conversation",
                "operationId": "startNewChat",
                "requestBody": {
                    "description": "Request chat template data",
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "category_id": {
                                        "description": "Category (Template) ID",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    },
                    "412": {
                        "description": "Precondition Failed"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aichat/history": {
            "delete": {
                "tags": [
                    "AI Chats (Convesations)"
                ],
                "summary": "Delete a conversation",
                "description": "Delete a conversation and all its messages",
                "operationId": "deleteChat",
                "requestBody": {
                    "description": "Conversation ID to delete",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "conver_id": {
                                        "type": "string",
                                        "example": "109"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "Successful operation"
                    },
                    "401": {
                        "description": "Unauthenticated"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Chat not found"
                    },
                    "412": {
                        "description": "Precondition Failed"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            },
            "patch": {
                "tags": [
                    "AI Chats (Convesations)"
                ],
                "summary": "Rename a conversation",
                "description": "Rename a user's OpenAI conversation.",
                "operationId": "renameChat",
                "requestBody": {
                    "description": "Chat ID and new title",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "conver_id": {
                                        "type": "string",
                                        "example": "109"
                                    },
                                    "title": {
                                        "type": "string",
                                        "example": "New Chat Title"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation"
                    },
                    "401": {
                        "description": "Unauthenticated"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Chat not found"
                    },
                    "412": {
                        "description": "Precondition Failed"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aichat/search-history": {
            "post": {
                "tags": [
                    "AI Chats (Convesations)"
                ],
                "summary": "Search for chats in template category",
                "description": "Search for user's OpenAI chats based on the provided category and search word.",
                "operationId": "searchChatHistory",
                "requestBody": {
                    "description": "Category ID and search word",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "category_id": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "search_word": {
                                        "type": "string",
                                        "example": "keyword"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "html": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aichat/chat/chat-send": {
            "get": {
                "tags": [
                    "AI Chats (Convesations)"
                ],
                "summary": "Retrieve chat details",
                "operationId": "chatOutputGet",
                "parameters": [
                    {
                        "name": "conver_id",
                        "in": "query",
                        "description": "ID of the chat",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "message_id",
                        "in": "query",
                        "description": "ID of the message",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "text/event-stream": {
                                "schema": {
                                    "type": "string",
                                    "example": "data: This is a streamed response\\n\\n"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Chat or message not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "string",
                                            "example": "Chat or message not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "AI Chats (Convesations)"
                ],
                "summary": "Process chat output",
                "operationId": "chatOutputPost",
                "requestBody": {
                    "description": "Request body for chat output",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "conver_id": {
                                        "type": "integer",
                                        "example": "31"
                                    },
                                    "prompt": {
                                        "type": "string",
                                        "example": "Your chat prompt goes here"
                                    },
                                    "category_id": {
                                        "type": "integer",
                                        "example": "1"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "conver_id": {
                                            "type": "integer",
                                            "example": "1"
                                        },
                                        "message_id": {
                                            "type": "integer",
                                            "example": "123"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "419": {
                        "description": "No credits left",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            },
                                            "example": [
                                                "You have no credits left. Please consider upgrading your plan."
                                            ]
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Error from API call",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "string",
                                            "example": "Error from API call. Please try again. If error persists again, please contact the system administrator."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aichat/chat/{conver_id}": {
            "get": {
                "tags": [
                    "AI Chats (Messages)"
                ],
                "summary": "Get OpenAI conversation details (relate category, related conversation, related chat_completions)",
                "description": "Get OpenAI conversation by conver_id.",
                "operationId": "conversations",
                "parameters": [
                    {
                        "name": "conver_id",
                        "in": "path",
                        "description": "conver_id of the OpenAI chat conversations",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "31"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation"
                    },
                    "404": {
                        "description": "Category not found"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aichat/chat/{conver_id}/messages/{id}": {
            "get": {
                "tags": [
                    "AI Chats (Messages)"
                ],
                "summary": "Get OpenAI chat details (relate category, related conversation, related messages, related chat_completions).",
                "description": "Get OpenAI chat details (relate category, related conversation, related messages, related chat_completions). ID parameter is optional. To get all messages end path with /messages",
                "operationId": "conversationChats",
                "parameters": [
                    {
                        "name": "conver_id",
                        "in": "path",
                        "description": "conver_id of the OpenAI chat conversations",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "31"
                        }
                    },
                    {
                        "name": "id",
                        "in": "path",
                        "description": "id of the OpenAI chat message. Use to get one message only",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "example": "0"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Page number",
                        "schema": {
                            "type": "integer",
                            "default": 1
                        }
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "description": "Items per page",
                        "schema": {
                            "type": "integer",
                            "default": 10
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation"
                    },
                    "404": {
                        "description": "Category not found"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/general/recent-documents": {
            "get": {
                "tags": [
                    "General (Helpers)"
                ],
                "summary": "Get the last 6 recent documents",
                "description": "Get the last 6 recent documents for the authenticated user, excluding documents of type 'image'.",
                "operationId": "getRecentDocuments",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized: User not authenticated"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/general/favorite-openai": {
            "get": {
                "tags": [
                    "General (Helpers)"
                ],
                "summary": "Get last 6 favorite OpenAI items",
                "description": "Get the last 6 favorite OpenAI items for the authenticated user.",
                "operationId": "openAIFavoritesList",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "id": {
                                                "type": "integer",
                                                "example": 1
                                            },
                                            "title": {
                                                "type": "string",
                                                "example": "Post Title Generator"
                                            },
                                            "description": {
                                                "type": "string",
                                                "example": "Get captivating post titles instantly with our title generator. Boost engagement and save time."
                                            },
                                            "slug": {
                                                "type": "string",
                                                "example": "post_title_generator"
                                            },
                                            "active": {
                                                "type": "integer",
                                                "example": 1
                                            },
                                            "questions": {
                                                "type": "string",
                                                "example": ""
                                            },
                                            "image": {
                                                "type": "string",
                                                "example": ""
                                            },
                                            "premium": {
                                                "type": "integer",
                                                "example": 0
                                            },
                                            "type": {
                                                "type": "string",
                                                "example": "text"
                                            },
                                            "created_at": {
                                                "type": "string",
                                                "example": "2023-03-11T08:26:49.000000Z"
                                            },
                                            "updated_at": {
                                                "type": "string",
                                                "example": "2023-03-11T08:26:49.000000Z"
                                            },
                                            "prompt": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "custom_template": {
                                                "type": "integer",
                                                "example": 0
                                            },
                                            "tone_of_voice": {
                                                "type": "integer",
                                                "example": 0
                                            },
                                            "color": {
                                                "type": "string",
                                                "example": "#A3D6C2"
                                            },
                                            "filters": {
                                                "type": "string",
                                                "example": "blog"
                                            },
                                            "package": {
                                                "type": "string",
                                                "nullable": true
                                            },
                                            "pivot": {
                                                "properties": {
                                                    "user_id": {
                                                        "type": "integer",
                                                        "example": 1
                                                    },
                                                    "openai_id": {
                                                        "type": "integer",
                                                        "example": 1
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        },
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized: User not authenticated"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/general/search": {
            "post": {
                "tags": [
                    "General (Helpers)"
                ],
                "summary": "Search for templates, workbooks, and AI chats",
                "description": "Search for templates, workbooks, and AI chats based on the provided keyword.",
                "operationId": "search",
                "requestBody": {
                    "description": "Keyword for the search",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "search": {
                                        "type": "string",
                                        "example": "keyword"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "template_search": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        },
                                        "workbook_search": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        },
                                        "ai_chat_search": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        },
                                        "result": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aiwriter/generate": {
            "post": {
                "tags": [
                    "AI Writer"
                ],
                "summary": "Build AI-generated content please see the function there is custom inputs foreach template",
                "description": "Build AI-generated content based on user input.",
                "operationId": "buildOutputApi",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "post_type": {
                                        "type": "string",
                                        "enum": [
                                            "post_title_generator",
                                            "article_generator",
                                            "summarize_text",
                                            "product_description",
                                            "product_name",
                                            "testimonial_review",
                                            "problem_agitate_solution",
                                            "blog_section",
                                            "blog_post_ideas",
                                            "blog_intros",
                                            "blog_conclusion",
                                            "facebook_ads",
                                            "youtube_video_description",
                                            "youtube_video_title",
                                            "youtube_video_tag",
                                            "instagram_captions",
                                            "instagram_hashtag",
                                            "social_media_post_tweet",
                                            "social_media_post_business",
                                            "facebook_headlines",
                                            "google_ads_headlines",
                                            "google_ads_description",
                                            "content_rewrite",
                                            "paragraph_generator",
                                            "pros_cons",
                                            "meta_description",
                                            "faq_generator",
                                            "email_generator",
                                            "email_answer_generator",
                                            "newsletter_generator",
                                            "grammar_correction",
                                            "tldr_summarization",
                                            "ai_image_generator",
                                            "ai_code_generator"
                                        ],
                                        "example": "summarize_text"
                                    },
                                    "maximum_length": {
                                        "description": "Maximum length of the generated text",
                                        "type": "integer",
                                        "example": 200
                                    },
                                    "number_of_results": {
                                        "description": "Number of summary results to generate",
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "creativity": {
                                        "description": "Creativity level for the generated content (0 to 1)",
                                        "type": "number",
                                        "example": 0.75
                                    },
                                    "tone_of_voice": {
                                        "description": "Tone of voice for the generated content",
                                        "type": "string",
                                        "example": "Professional"
                                    },
                                    "language": {
                                        "description": "Language code for the input text",
                                        "type": "string",
                                        "example": "en-US"
                                    },
                                    "text_to_summary": {
                                        "description": "Text to be summarized",
                                        "type": "string",
                                        "example": "dfg"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message_id": {
                                            "description": "ID of the generated content message",
                                            "type": "integer"
                                        },
                                        "workbook": {
                                            "description": "Details about the generated content workbook",
                                            "type": "object"
                                        },
                                        "creativity": {
                                            "description": "Creativity factor (between 0 and 1)",
                                            "type": "number"
                                        },
                                        "maximum_length": {
                                            "description": "Maximum length of the generated content",
                                            "type": "integer"
                                        },
                                        "number_of_results": {
                                            "description": "Number of desired results",
                                            "type": "integer"
                                        },
                                        "inputPrompt": {
                                            "description": "User input prompt",
                                            "type": "string"
                                        },
                                        "generated_content": {
                                            "description": "Generated content",
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "errors": {
                                            "description": "Error message",
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "description": "Internal Server Error",
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aiimage/versions": {
            "get": {
                "tags": [
                    "AI Image Generation"
                ],
                "summary": "Get Model Versions for AI Image Generation (DALL-E, Stable Diffusion) from settings",
                "description": "Get Model Versions for AI Image Generation",
                "operationId": "versions",
                "responses": {
                    "200": {
                        "description": "Successful operation"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aiimage/check-availability": {
            "get": {
                "tags": [
                    "AI Image Generation"
                ],
                "summary": "Check if image generation is active / available",
                "description": "Check if image generation is active",
                "operationId": "checkActiveGeneration",
                "responses": {
                    "200": {
                        "description": "Image generation is available."
                    },
                    "409": {
                        "description": "Image generation in progress. Please try again later."
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aiimage/generate-image": {
            "post": {
                "tags": [
                    "AI Image Generation"
                ],
                "summary": "Generate Image (DALL-E / Stable Diffusion parameters required in request)",
                "description": "Generate Image",
                "operationId": "generateImage",
                "responses": {
                    "200": {
                        "description": "Image generation successful. Image info in json response [images]."
                    },
                    "409": {
                        "description": "Image generation in progress. Please try again later."
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aiwriter/generator/{slug}": {
            "get": {
                "tags": [
                    "AI Writer"
                ],
                "summary": "returns the openai writer info and related user generated docs",
                "description": "Retrieve details of an OpenAI generator by slug",
                "operationId": "openAIGeneratorApi",
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "description": "Slug of the OpenAI generator",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "openai": {
                                            "type": "object"
                                        },
                                        "userOpenai": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "OpenAI generator not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "string",
                                            "example": "Resource not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aiwriter/generator/{slug}/workbook": {
            "get": {
                "tags": [
                    "AI Writer"
                ],
                "summary": "returns the openai writer info ",
                "description": "Retrieve details of an OpenAI generator workbook by slug",
                "operationId": "openAIGeneratorWorkbookApi",
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "description": "Slug of the OpenAI generator",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "openai": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "OpenAI generator not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "string",
                                            "example": "Resource not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aiwriter/generate-output": {
            "post": {
                "tags": [
                    "AI Writer"
                ],
                "summary": "Streaming Text Output",
                "description": "Handle streamed text output based on specified parameters.",
                "operationId": "77d4ddc47c1c65d83222acc81ec45458",
                "parameters": [
                    {
                        "name": "message_id",
                        "in": "query",
                        "description": "ID of the message",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1
                        }
                    },
                    {
                        "name": "creativity",
                        "in": "query",
                        "description": "Creativity level for the generated content (0 to 1)",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1
                        }
                    },
                    {
                        "name": "maximum_length",
                        "in": "query",
                        "description": "Maximum length of the generated text",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 500
                        }
                    },
                    {
                        "name": "number_of_results",
                        "in": "query",
                        "description": "Number of summary results to generate",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 1
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "DONE"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "412": {
                        "description": "Precondition Failed"
                    },
                    "500": {
                        "description": "Error response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "string",
                                            "example": "Error from API call. Please try again."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aiwriter/generate/lazyload": {
            "get": {
                "tags": [
                    "AI Writer"
                ],
                "summary": "Lazy Load Images",
                "description": "Load images based on the specified parameters.",
                "operationId": "1a8987bdfc501929bf043154e4a447b2",
                "parameters": [
                    {
                        "name": "post_type",
                        "in": "query",
                        "description": "Type of post",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "ai_image_generator"
                            ],
                            "example": "ai_image_generator"
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for lazy loading",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "example": 0
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "images": {
                                            "description": "Array of images",
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        },
                                        "hasMore": {
                                            "description": "Indicates whether there are more images",
                                            "type": "boolean"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Post not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "description": "Error message",
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aiwriter/generate/save": {
            "post": {
                "tags": [
                    "AI Writer"
                ],
                "summary": "Low Generate Save",
                "description": "Save the generated response and update user information.",
                "operationId": "b75116ced05d0eb8ed50cf07ef763767",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "message_id": {
                                        "description": "ID of the message",
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "response": {
                                        "description": "Generated response",
                                        "type": "string",
                                        "example": "This is a generated response."
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "Data saved successfully."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Error response",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "error": {
                                            "type": "string",
                                            "example": "Error saving data."
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aiwriter/openai-list": {
            "get": {
                "tags": [
                    "AI Writer"
                ],
                "summary": "Gets all AI Generators related to text",
                "description": "Gets all AI Generators related to text. Controls user access to premium generators.",
                "operationId": "getOpenAIWriterList",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized: User not authenticated"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aiwriter/favorite-openai-list": {
            "get": {
                "tags": [
                    "AI Writer"
                ],
                "summary": "Gets favorite openai list",
                "description": "Returns favorite openai id list of current user.",
                "operationId": "favoriteOpenaiList",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aiwriter/favorite-openai-list-add": {
            "post": {
                "tags": [
                    "AI Writer"
                ],
                "summary": "Adds openai to favorite openai list",
                "description": "Returns favorite openai id list of current user.",
                "operationId": "addToFavoriteOpenaiList",
                "parameters": [
                    {
                        "name": "openai_id",
                        "in": "query",
                        "description": "OpenAI ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 0
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    },
                    "412": {
                        "description": "Precondition Failed"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aiwriter/favorite-openai-list-remove": {
            "post": {
                "tags": [
                    "AI Writer"
                ],
                "summary": "Removes openai from favorite openai list",
                "description": "Returns favorite openai id list of current user.",
                "operationId": "removeFromFavoriteOpenaiList",
                "parameters": [
                    {
                        "name": "openai_id",
                        "in": "query",
                        "description": "OpenAI ID",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "example": 0
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "412": {
                        "description": "Precondition Failed"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/affiliates/": {
            "get": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Get affiliate totals of current user",
                "description": "Get affiliate earnings and withdrawal totals of current user.",
                "operationId": "affiliates",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/affiliates/withdrawals": {
            "get": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Get withdrawals of current user",
                "description": "Get affiliate withdrawals list of current user.",
                "operationId": "withdrawals",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/affiliates/request-withdrawal": {
            "post": {
                "tags": [
                    "Affiliates"
                ],
                "summary": "Request withdrawal for current user",
                "description": "Request withdrawal for current user",
                "operationId": "requestWithdrawal",
                "requestBody": {
                    "description": "Request withdrawal data",
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "affiliate_bank_account": {
                                        "description": "Bank Account info",
                                        "type": "string"
                                    },
                                    "amount": {
                                        "description": "Amount to withdraw",
                                        "type": "number",
                                        "format": "float"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    },
                    "412": {
                        "description": "Precondition Failed"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/app/email-confirmation-setting": {
            "get": {
                "tags": [
                    "App Settings"
                ],
                "summary": "Get email confirmation setting",
                "description": "Get the email confirmation setting from the application settings.",
                "operationId": "getEmailConfirmationSetting",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "emailconfirmation": true
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/app/get-setting": {
            "get": {
                "tags": [
                    "App Settings"
                ],
                "summary": "Get application settings",
                "description": "Get general application settings.",
                "operationId": "getAppSettings",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/app/usage-data": {
            "get": {
                "tags": [
                    "App Settings"
                ],
                "summary": "Get usage data of current user",
                "description": "Get usage data and subscription plan details of current user.",
                "operationId": "getUsageData",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/app/currency/{id?}": {
            "get": {
                "tags": [
                    "App Settings"
                ],
                "summary": "Get default currency",
                "description": "Returns default currency if id is not provided, else returns currency by id. Use 'all' to get all currencies.",
                "operationId": "getCurrency",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Id of currency or 'all' or null to get default currency.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    },
                    "404": {
                        "description": "No currency found."
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/auth/logo": {
            "get": {
                "tags": [
                    "General (Helpers)"
                ],
                "summary": "Get logo path",
                "description": "Returns logo path from settings.",
                "operationId": "getLogo",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    },
                    "404": {
                        "description": "No logo found."
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/auth/register": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Register a new user",
                "description": "Registers a new user with the provided data",
                "operationId": "register",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "name",
                                    "surname",
                                    "email",
                                    "password",
                                    "password_confirmation"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "example": "John"
                                    },
                                    "surname": {
                                        "type": "string",
                                        "example": "Doe"
                                    },
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "example": "john.doe@example.com"
                                    },
                                    "password": {
                                        "type": "string",
                                        "format": "password",
                                        "example": "password123"
                                    },
                                    "password_confirmation": {
                                        "type": "string",
                                        "format": "password",
                                        "example": "password123"
                                    },
                                    "affiliate_code": {
                                        "type": "string",
                                        "example": "your_affiliate_code",
                                        "nullable": true
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "User registered successfully"
                    },
                    "422": {
                        "description": "Validation error or user already exists"
                    }
                }
            }
        },
        "/api/auth/logout": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Logout the authenticated user",
                "description": "Logs out the authenticated user and revokes the access token",
                "operationId": "logout",
                "responses": {
                    "200": {
                        "description": "Logout successful"
                    },
                    "401": {
                        "description": "Unauthenticated"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/auth/forgot-password": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Initiate password reset",
                "description": "Initiate the password reset process by sending an email with a reset link.",
                "operationId": "forgotPassword",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "email"
                                ],
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "example": "user@example.com"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Password reset link sent successfully"
                    },
                    "422": {
                        "description": "Validation error or user not found"
                    }
                }
            }
        },
        "/api/auth/email/verify": {
            "get": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Verify user's email",
                "description": "Verify the user's email using the provided confirmation code.",
                "operationId": "verifyEmail",
                "parameters": [
                    {
                        "name": "email_confirmation_code",
                        "in": "query",
                        "description": "Email confirmation code",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Email verified successfully"
                    },
                    "422": {
                        "description": "Validation error or user not found"
                    }
                }
            }
        },
        "/api/auth/email/verify/resend": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Resend confirmation email",
                "description": "Resend the confirmation email to the user if not already verified.",
                "operationId": "resendConfirmationEmail",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "email"
                                ],
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "example": "user@example.com"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Confirmation email resent successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "message": "Confirmation email resent successfully"
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Email already verified",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                },
                                "example": {
                                    "error": "Email already verified"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/auth/social-login": {
            "get": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Get supported login methods",
                "description": "Get actively supported login methods as a list.",
                "operationId": "getSupportedLoginMethods",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "example": "github"
                                    }
                                },
                                "example": [
                                    "github",
                                    "google"
                                ]
                            }
                        }
                    }
                }
            }
        },
        "/api/brandvoice": {
            "get": {
                "tags": [
                    "Brand Voice"
                ],
                "summary": "List of companies",
                "description": "Returns list of companies",
                "operationId": "index",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of company to get. If null, returns all companies",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Brand Voice"
                ],
                "summary": "Update / Create a company",
                "description": "Update / Create a company",
                "operationId": "store",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Brand Voice"
                ],
                "summary": "Delete a company",
                "description": "Delete a company by id",
                "operationId": "delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of company to delete",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aichat/chat-templates": {
            "get": {
                "tags": [
                    "Chat Templates"
                ],
                "summary": "Get a list of chat templates or single one if id passed",
                "description": "Get a list of chat templates ordered by name in ascending order. If an ID is provided, it will retrieve a single chat template.",
                "operationId": "ChatTemplatesController::index",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Chat Templates"
                ],
                "summary": "!!PATCH REQUEST!! see payload '_method' Update a chat template -  post used only for test",
                "description": "Update the specified chat template in storage. If `template_id` is 'undefined' or `null`, a new template will be created.",
                "operationId": "ChatTemplatesController@update",
                "requestBody": {
                    "description": "Chat template data",
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "_method": {
                                        "description": "ID of the chat template",
                                        "type": "string",
                                        "default": "PATCH"
                                    },
                                    "template_id": {
                                        "description": "ID of the chat template",
                                        "type": "string"
                                    },
                                    "name": {
                                        "description": "Name of the chat template",
                                        "type": "string"
                                    },
                                    "short_name": {
                                        "description": "Short name of the chat template",
                                        "type": "string"
                                    },
                                    "description": {
                                        "description": "Description of the chat template",
                                        "type": "string"
                                    },
                                    "role": {
                                        "description": "Role of the chat template",
                                        "type": "string"
                                    },
                                    "human_name": {
                                        "description": "Human name of the chat template",
                                        "type": "string"
                                    },
                                    "helps_with": {
                                        "description": "How the chat template helps",
                                        "type": "string"
                                    },
                                    "color": {
                                        "description": "Color of the chat template",
                                        "type": "string"
                                    },
                                    "chat_completions": {
                                        "description": "Chat completions",
                                        "type": "string"
                                    },
                                    "avatar": {
                                        "description": "Avatar image file (allowed types: jpg, jpeg, png, svg, webp; max size: 5MB)",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Template edited successfully"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "419": {
                        "description": "Validation error or unsupported file extension",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/aichat/chat-templates/{id}": {
            "delete": {
                "tags": [
                    "Chat Templates"
                ],
                "summary": "Remove a chat template",
                "description": "Remove the specified chat template from storage.",
                "operationId": "ChatTemplatesController@destroy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the chat template",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Chat template deleted successfully"
                    },
                    "404": {
                        "description": "Chat template not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Chat template not found"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string",
                                            "example": "Internal Server Error"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/documents/recent": {
            "get": {
                "tags": [
                    "Documents"
                ],
                "summary": "Get the last 10 recent documents",
                "description": "Get the last 10 recent documents for the authenticated user, excluding documents of type 'image'.",
                "operationId": "getRecentDocs",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized: User not authenticated"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/documents/all-openai": {
            "get": {
                "tags": [
                    "Documents"
                ],
                "summary": "Gets all AI Generators",
                "description": "Gets all AI Generators",
                "operationId": "getOpenAIList",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized: User not authenticated"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/documents/openai-filters": {
            "get": {
                "tags": [
                    "Documents"
                ],
                "summary": "Gets all AI Filters",
                "description": "Gets all AI Filters",
                "operationId": "getOpenAIFilters",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized: User not authenticated"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/documents/": {
            "get": {
                "tags": [
                    "Documents"
                ],
                "summary": "Gets documents",
                "description": "Gets documents for the authenticated user, excluding documents of type 'image'.",
                "operationId": "getDocs",
                "parameters": [
                    {
                        "name": "search",
                        "in": "query",
                        "description": "Search string.",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filter string defined in the 'name' column of the 'openai_filters' table.",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "default": "all"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Sort string. Values: 'newest', 'oldest', 'az', 'za'",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "default": "newest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized: User not authenticated"
                    },
                    "412": {
                        "description": "Precondition Failed"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/documents/doc/{id}": {
            "get": {
                "tags": [
                    "Documents"
                ],
                "summary": "Gets single document",
                "description": "Gets document by id, excluding documents of type 'image'.",
                "operationId": "getDoc",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the document to get.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized: User not authenticated"
                    },
                    "404": {
                        "description": "Document Not Found"
                    },
                    "412": {
                        "description": "Precondition Failed"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "Documents"
                ],
                "summary": "Updates single document",
                "description": "Updates document by id, excluding documents of type 'image'.",
                "operationId": "saveDoc",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the document to get.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "output",
                        "in": "query",
                        "description": "Html Output of the document.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    },
                    {
                        "name": "title",
                        "in": "query",
                        "description": "Title of the document.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized: User not authenticated"
                    },
                    "404": {
                        "description": "Document Not Found"
                    },
                    "412": {
                        "description": "Precondition Failed"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Documents"
                ],
                "summary": "Deletes single document",
                "description": "Deletes document by id, excluding documents of type 'image'.",
                "operationId": "deleteDoc",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of the document to delete.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized: User not authenticated"
                    },
                    "404": {
                        "description": "Document Not Found"
                    },
                    "412": {
                        "description": "Precondition Failed"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/payment/": {
            "get": {
                "tags": [
                    "Payments"
                ],
                "summary": "Get subscription plan of current user",
                "description": "Get subscription plan details of current user.",
                "operationId": "getCurrentPlan",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    },
                    "404": {
                        "description": "No active subscription found"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/payment/subscriptions/cancel-current": {
            "get": {
                "tags": [
                    "Payments"
                ],
                "summary": "Cancel current subscription plan of current user",
                "description": "Cancel current subscription plan details of current user.",
                "operationId": "cancelActiveSubscription",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/payment/plans/{plan_id?}": {
            "get": {
                "tags": [
                    "Payments"
                ],
                "summary": "Get all plans.",
                "description": "Get all plans.",
                "operationId": "plans",
                "parameters": [
                    {
                        "name": "plan_id",
                        "in": "path",
                        "description": "Id of plan to get details of.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/payment/orders/{order_id?}": {
            "get": {
                "tags": [
                    "Payments"
                ],
                "summary": "Get all orders.",
                "description": "Get all orders. If order_id is provided, then it will return details of that order.",
                "operationId": "orders",
                "parameters": [
                    {
                        "name": "order_id",
                        "in": "path",
                        "description": "Id of order to get details of.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    },
                    "403": {
                        "description": "Permission Denied"
                    },
                    "404": {
                        "description": "Order not found"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/payment/check-revenue-cat": {
            "get": {
                "tags": [
                    "Payments"
                ],
                "summary": "Trigger RevenueCat to check subscription / token pack status.",
                "description": "Trigger RevenueCat to check subscription / token pack status.",
                "operationId": "checkRevenueCat",
                "responses": {
                    "200": {
                        "description": "Active subscription found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    },
                    "404": {
                        "description": "No active subscription found"
                    },
                    "412": {
                        "description": "Error occured. Custom Message displayed"
                    },
                    "500": {
                        "description": "Error occured. Custom Message displayed"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/auth/google-login": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Social Login with Google",
                "description": "Social Login with Google",
                "operationId": "google",
                "requestBody": {
                    "description": "Google token data",
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "google_token": {
                                        "description": "Google Access Token",
                                        "type": "string"
                                    },
                                    "google_id": {
                                        "description": "Google User ID (OpenID)",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    },
                    "412": {
                        "description": "Precondition Failed"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/auth/apple-login": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Social Login with Apple",
                "description": "Social Login with Apple",
                "operationId": "apple",
                "requestBody": {
                    "description": "Apple token data",
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "apple_token": {
                                        "description": "Apple Access Token",
                                        "type": "string"
                                    },
                                    "apple_id": {
                                        "description": "Apple User ID (OpenID)",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    },
                    "412": {
                        "description": "Precondition Failed"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/auth/profile": {
            "get": {
                "tags": [
                    "User Profile"
                ],
                "summary": "Get user profile",
                "description": "Get the profile of the authenticated user.",
                "operationId": "UserController::index",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            },
            "post": {
                "tags": [
                    "User Profile"
                ],
                "summary": "!!PATCH REQUEST!! see payload '_method' Update user profile -  post used only for test",
                "description": "Updates the user's profile information, including name, surname, phone, country, password, and avatar.",
                "operationId": "UserController::update",
                "requestBody": {
                    "description": "User data",
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "description": "User's first name",
                                        "type": "string"
                                    },
                                    "_method": {
                                        "description": "ID of the chat template",
                                        "type": "string",
                                        "default": "PATCH"
                                    },
                                    "surname": {
                                        "description": "User's last name",
                                        "type": "string"
                                    },
                                    "phone": {
                                        "description": "User's phone number",
                                        "type": "string"
                                    },
                                    "country": {
                                        "description": "User's country",
                                        "type": "string"
                                    },
                                    "old_password": {
                                        "description": "User's old password for verification",
                                        "type": "string"
                                    },
                                    "new_password": {
                                        "description": "User's new password",
                                        "type": "string"
                                    },
                                    "new_password_confirmation": {
                                        "description": "Confirmation of the new password",
                                        "type": "string"
                                    },
                                    "avatar": {
                                        "description": "User's avatar image file (allowed types: jpg, png; max size: 5MB)",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "400": {
                        "description": "Bad request"
                    },
                    "404": {
                        "description": "Resource Not Found"
                    },
                    "200": {
                        "description": "User settings saved successfully",
                        "content": {
                            "application/json": {}
                        }
                    },
                    "401": {
                        "description": "Unauthorized: User not authenticated"
                    },
                    "419": {
                        "description": "Validation error or unsupported file extension"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "User Profile"
                ],
                "summary": "Delete user account",
                "description": "Get the profile of the authenticated user and delete account.",
                "operationId": "UserController::destroy",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/support/": {
            "get": {
                "tags": [
                    "Support"
                ],
                "summary": "Gets all support requests",
                "description": "Gets all support requests",
                "operationId": "supportRequests",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/support/ticket/{ticket_id}": {
            "get": {
                "tags": [
                    "Support"
                ],
                "summary": "Gets all messages of a support request",
                "description": "Gets all messages of a support request. Use ticket ids like QZDNGSIFPH not integers.",
                "operationId": "ticket",
                "parameters": [
                    {
                        "name": "ticket_id",
                        "in": "path",
                        "description": "Ticket ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "QZDNGSIFPH"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    },
                    "403": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Ticket Not Found"
                    },
                    "412": {
                        "description": "Precondition Failed"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/support/ticket/{ticket_id}/last-message": {
            "get": {
                "tags": [
                    "Support"
                ],
                "summary": "Gets latest message of a support request",
                "description": "Gets latest message of a support request. Use ticket ids like QZDNGSIFPH not integers.",
                "operationId": "ticketLastMessage",
                "parameters": [
                    {
                        "name": "ticket_id",
                        "in": "path",
                        "description": "Ticket ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "QZDNGSIFPH"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    },
                    "403": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Ticket Not Found"
                    },
                    "412": {
                        "description": "Precondition Failed"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/support/new-ticket": {
            "post": {
                "tags": [
                    "Support"
                ],
                "summary": "Create new support request",
                "description": "Create new support request",
                "operationId": "newTicket",
                "requestBody": {
                    "description": "Request support ticket data",
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "priority": {
                                        "description": "Priority",
                                        "type": "string",
                                        "enum": [
                                            "Low",
                                            "Normal",
                                            "High",
                                            "Critical"
                                        ]
                                    },
                                    "category": {
                                        "description": "Category",
                                        "type": "string",
                                        "enum": [
                                            "General Inquiry",
                                            "Technical Issue",
                                            "Improvement Idea",
                                            "Feedback",
                                            "Other"
                                        ]
                                    },
                                    "subject": {
                                        "description": "Subject of the Message",
                                        "type": "string"
                                    },
                                    "message": {
                                        "description": "Message to send",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    },
                    "412": {
                        "description": "Precondition Failed"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/support/send-message": {
            "post": {
                "tags": [
                    "Support"
                ],
                "summary": "Send message to support request",
                "description": "Send message to support request",
                "operationId": "sendMessage",
                "requestBody": {
                    "description": "Request message data",
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "ticket_id": {
                                        "description": "Ticket ID",
                                        "type": "string",
                                        "example": "QZDNGSIFPH"
                                    },
                                    "message": {
                                        "description": "Message to send",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    },
                    "412": {
                        "description": "Precondition Failed"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        },
        "/api/support/user/{ticket_id}": {
            "get": {
                "tags": [
                    "Support"
                ],
                "summary": "Gets information of the user which sent the request",
                "description": "Gets information of the user which sent the request. Use ticket ids like QZDNGSIFPH not integers.",
                "operationId": "ticketUser",
                "parameters": [
                    {
                        "name": "ticket_id",
                        "in": "path",
                        "description": "Ticket ID",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "QZDNGSIFPH"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthenticated"
                    },
                    "403": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Ticket / User Not Found"
                    },
                    "412": {
                        "description": "Precondition Failed"
                    }
                },
                "security": [
                    {
                        "passport": []
                    }
                ]
            }
        }
    },
    "tags": [
        {
            "name": "AI Chats (Convesations)",
            "description": "AI Chats (Convesations)"
        },
        {
            "name": "AI Chats (Messages)",
            "description": "AI Chats (Messages)"
        },
        {
            "name": "General (Helpers)",
            "description": "General (Helpers)"
        },
        {
            "name": "AI Writer",
            "description": "AI Writer"
        },
        {
            "name": "AI Image Generation",
            "description": "AI Image Generation"
        },
        {
            "name": "Affiliates",
            "description": "Affiliates"
        },
        {
            "name": "App Settings",
            "description": "App Settings"
        },
        {
            "name": "Authentication",
            "description": "Authentication"
        },
        {
            "name": "Brand Voice",
            "description": "Brand Voice"
        },
        {
            "name": "Chat Templates",
            "description": "Chat Templates"
        },
        {
            "name": "Documents",
            "description": "Documents"
        },
        {
            "name": "Payments",
            "description": "Payments"
        },
        {
            "name": "User Profile",
            "description": "User Profile"
        },
        {
            "name": "Support",
            "description": "Support"
        }
    ],
    "components": {
        "securitySchemes": {
            "passport": {
                "type": "oauth2",
                "description": "Laravel passport oauth2 security.",
                "in": "header",
                "scheme": "https",
                "flows": {
                    "password": {
                        "authorizationUrl": "http://localhost:8000/oauth/authorize",
                        "tokenUrl": "http://localhost:8000/oauth/token",
                        "refreshUrl": "http://localhost:8000/token/refresh",
                        "scopes": []
                    }
                }
            }
        }
    }
}