{
    "openapi": "3.0.0",
    "info": {
        "title": "OTT Platform API",
        "description": "API documentation for Zupiyo OTT Platform",
        "contact": {
            "email": "admin@zupiyo.com"
        },
        "version": "1.0.0"
    },
    "servers": [
        {
            "url": "http://127.0.0.1:8000",
            "description": "Local API Server"
        },
        {
            "url": "https://zupiyo-ott-beta.nexralink.com",
            "description": "Beta Server"
        },
        {
            "url": "https://prod.zupiyo.in",
            "description": "Production Server"
        }
    ],
    "paths": {
        "/api/admin/users/{id}/wallet/balance": {
            "get": {
                "tags": [
                    "Admin User Wallet"
                ],
                "summary": "Get User Wallet Balance",
                "description": "Get user wallet balance.",
                "operationId": "getUserWalletBalance",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "User ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Balance retrieved successfully"
                    },
                    "404": {
                        "description": "User not found"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/admin/users/{id}/wallet/history": {
            "get": {
                "tags": [
                    "Admin User Wallet"
                ],
                "summary": "Get User Wallet History",
                "description": "Get user wallet transaction history.",
                "operationId": "getUserWalletHistory",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "User ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "History retrieved successfully"
                    },
                    "404": {
                        "description": "User not found"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/auth/send-otp": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Send OTP",
                "description": "Send a One-Time Password to the provided mobile number",
                "operationId": "sendOtp",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "mobile_number",
                                    "platform_name"
                                ],
                                "properties": {
                                    "mobile_number": {
                                        "type": "string",
                                        "example": "9876543210"
                                    },
                                    "platform_name": {
                                        "type": "string",
                                        "example": "android"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "OTP Sent Successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "OTP sent to your mobile number"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validation Error"
                    }
                }
            }
        },
        "/api/auth/verify-otp": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Verify OTP",
                "description": "Verify the OTP and return an auth token",
                "operationId": "verifyOtp",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "mobile_number",
                                    "otp_code"
                                ],
                                "properties": {
                                    "mobile_number": {
                                        "type": "string",
                                        "example": "9876543210"
                                    },
                                    "otp_code": {
                                        "type": "string",
                                        "example": "123456"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Verification Successful",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "verified": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "user_token": {
                                            "description": "Bearer token for authenticated requests",
                                            "type": "string"
                                        },
                                        "account_exists": {
                                            "type": "boolean"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Invalid OTP"
                    }
                }
            }
        },
        "/api/auth/register": {
            "post": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Register User",
                "description": "Create a new user account after OTP verification",
                "operationId": "registerUser",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "mobile_number",
                                    "name",
                                    "platform_name"
                                ],
                                "properties": {
                                    "mobile_number": {
                                        "type": "string",
                                        "example": "9876543210"
                                    },
                                    "name": {
                                        "type": "string",
                                        "example": "John Doe"
                                    },
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "example": "john@example.com"
                                    },
                                    "platform_name": {
                                        "type": "string",
                                        "example": "android"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Registration Successful",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "user_token": {
                                            "type": "string"
                                        },
                                        "user_data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/user/profile": {
            "get": {
                "tags": [
                    "Authentication"
                ],
                "summary": "Get Profile",
                "description": "Get authenticated user profile",
                "operationId": "getUserProfile",
                "responses": {
                    "200": {
                        "description": "User Profile",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "success": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "user": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/banners": {
            "get": {
                "tags": [
                    "Banners"
                ],
                "summary": "Get Banners",
                "description": "Retrieve list of active promotional banners",
                "operationId": "getBanners",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer"
                                                    },
                                                    "title": {
                                                        "type": "string"
                                                    },
                                                    "image_url": {
                                                        "type": "string"
                                                    },
                                                    "action": {
                                                        "properties": {
                                                            "type": {
                                                                "type": "string"
                                                            },
                                                            "target": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/content": {
            "get": {
                "tags": [
                    "Content"
                ],
                "summary": "List Content",
                "description": "List all content with filters",
                "operationId": "listContent",
                "parameters": [
                    {
                        "name": "platform",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "category",
                        "in": "query",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List retrieved",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Content retrieved successfully"
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "title": {
                                                    "type": "string"
                                                },
                                                "video_source": {
                                                    "type": "string",
                                                    "enum": [
                                                        "direct",
                                                        "youtube",
                                                        "bunny"
                                                    ]
                                                },
                                                "player_type": {
                                                    "type": "string",
                                                    "enum": [
                                                        "html5",
                                                        "youtube",
                                                        "bunny"
                                                    ]
                                                },
                                                "stream_url": {
                                                    "type": "string"
                                                },
                                                "thumbnail_url": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Content"
                ],
                "summary": "Create Content",
                "description": "Store new content",
                "operationId": "storeContent",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "required": [
                                    "title",
                                    "description",
                                    "category_id",
                                    "thumbnail",
                                    "duration",
                                    "platform_name",
                                    "status",
                                    "video_source"
                                ],
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    },
                                    "category_id": {
                                        "type": "integer"
                                    },
                                    "thumbnail": {
                                        "type": "string",
                                        "format": "binary"
                                    },
                                    "duration": {
                                        "type": "integer"
                                    },
                                    "platform_name": {
                                        "type": "string"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "draft",
                                            "published",
                                            "archived"
                                        ]
                                    },
                                    "video_source": {
                                        "type": "string",
                                        "enum": [
                                            "direct",
                                            "youtube",
                                            "bunny"
                                        ]
                                    },
                                    "video": {
                                        "type": "string",
                                        "format": "binary"
                                    },
                                    "youtube_url": {
                                        "type": "string"
                                    },
                                    "bunny_video_url": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Content created"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/content/{id}": {
            "get": {
                "tags": [
                    "Content"
                ],
                "summary": "Get Content",
                "description": "Get a single content item",
                "operationId": "getContent",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Content retrieved",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Content retrieved successfully"
                                        },
                                        "data": {
                                            "properties": {
                                                "id": {
                                                    "type": "integer"
                                                },
                                                "title": {
                                                    "type": "string"
                                                },
                                                "video_source": {
                                                    "type": "string",
                                                    "enum": [
                                                        "direct",
                                                        "youtube",
                                                        "bunny"
                                                    ]
                                                },
                                                "player_type": {
                                                    "type": "string",
                                                    "enum": [
                                                        "html5",
                                                        "youtube",
                                                        "bunny"
                                                    ]
                                                },
                                                "stream_url": {
                                                    "type": "string"
                                                },
                                                "thumbnail_url": {
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Content"
                ],
                "summary": "Update Content",
                "description": "Update content",
                "operationId": "updateContent",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "description": {
                                        "type": "string"
                                    },
                                    "thumbnail": {
                                        "type": "string",
                                        "format": "binary"
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "draft",
                                            "published",
                                            "archived"
                                        ]
                                    },
                                    "video_source": {
                                        "type": "string",
                                        "enum": [
                                            "direct",
                                            "youtube",
                                            "bunny"
                                        ]
                                    },
                                    "youtube_url": {
                                        "type": "string"
                                    },
                                    "bunny_video_url": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Content updated"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            },
            "delete": {
                "tags": [
                    "Content"
                ],
                "summary": "Delete Content",
                "description": "Delete content",
                "operationId": "deleteContent",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Content deleted"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/content/{id}/view": {
            "post": {
                "tags": [
                    "Content"
                ],
                "summary": "Track View",
                "description": "Track content view",
                "operationId": "trackView",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "View tracked"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/content/recommendations": {
            "get": {
                "tags": [
                    "Content"
                ],
                "summary": "Get Recommendations (Content)",
                "description": "Get recommended content for user",
                "operationId": "getContentRecommendations",
                "responses": {
                    "200": {
                        "description": "Recommendations retrieved"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/continue-watching/save": {
            "post": {
                "tags": [
                    "Playback"
                ],
                "summary": "Save Watch Progress",
                "description": "Save current video playback progress",
                "operationId": "saveProgress",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "video_id",
                                    "progress_seconds",
                                    "video_duration"
                                ],
                                "properties": {
                                    "video_id": {
                                        "type": "integer"
                                    },
                                    "progress_seconds": {
                                        "type": "integer"
                                    },
                                    "video_duration": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Progress saved",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/continue-watching": {
            "get": {
                "tags": [
                    "Playback"
                ],
                "summary": "Get Continue Watching List",
                "description": "Get list of videos user has started but not finished",
                "operationId": "getContinueWatchingList",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "default": 20
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List retrieved",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/continue-watching/remove": {
            "post": {
                "tags": [
                    "Playback"
                ],
                "summary": "Remove from Continue Watching",
                "description": "Remove an item from continue watching list",
                "operationId": "removeFromContinueWatching",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "video_id"
                                ],
                                "properties": {
                                    "video_id": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Removed successfully"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/continue-watching/progress": {
            "get": {
                "tags": [
                    "Playback"
                ],
                "summary": "Get Video Progress",
                "description": "Get watching progress for a specific video",
                "operationId": "getVideoProgress",
                "parameters": [
                    {
                        "name": "video_id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Progress retrieved"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/coupons/validate": {
            "post": {
                "tags": [
                    "Subscription"
                ],
                "summary": "Validate Coupon",
                "description": "Validate a coupon code.",
                "operationId": "validateCoupon",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "code"
                                ],
                                "properties": {
                                    "code": {
                                        "type": "string"
                                    },
                                    "subscription_plan_id": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Coupon is valid"
                    }
                }
            }
        },
        "/api/credits/packages": {
            "get": {
                "tags": [
                    "Credits"
                ],
                "summary": "List Credit Packages",
                "description": "List all active credit packages",
                "operationId": "getCreditPackages",
                "responses": {
                    "200": {
                        "description": "List retrieved"
                    }
                }
            }
        },
        "/api/credits/buy": {
            "post": {
                "tags": [
                    "Credits"
                ],
                "summary": "Buy Credit Package",
                "description": "Buy a credit package (Mock Payment)",
                "operationId": "buyCreditPackage",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "package_id"
                                ],
                                "properties": {
                                    "package_id": {
                                        "type": "integer"
                                    },
                                    "payment_reference": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Purchase successful"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/videos/like": {
            "post": {
                "tags": [
                    "Likes"
                ],
                "summary": "Like Video",
                "description": "Like a video",
                "operationId": "likeVideo",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "video_id"
                                ],
                                "properties": {
                                    "video_id": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Liked successfully"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/videos/unlike": {
            "post": {
                "tags": [
                    "Likes"
                ],
                "summary": "Unlike Video",
                "description": "Unlike a video",
                "operationId": "unlikeVideo",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "video_id"
                                ],
                                "properties": {
                                    "video_id": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Unliked successfully"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/videos/like-status": {
            "get": {
                "tags": [
                    "Likes"
                ],
                "summary": "Check Like Status",
                "description": "Check if user has liked a video",
                "operationId": "checkLikeStatus",
                "parameters": [
                    {
                        "name": "video_id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Status retrieved"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/notifications": {
            "get": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Get Notifications",
                "description": "Get user notifications",
                "operationId": "getUserNotifications",
                "parameters": [
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "default": 15
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Notifications retrieved",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/notifications/{id}/read": {
            "patch": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Mark Read",
                "description": "Mark notification as read",
                "operationId": "markNotificationRead",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Marked as read"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/notifications/send": {
            "post": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Send Notification (Admin)",
                "description": "Send notification to user(s)",
                "operationId": "sendNotification",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "title",
                                    "body",
                                    "type"
                                ],
                                "properties": {
                                    "title": {
                                        "type": "string"
                                    },
                                    "body": {
                                        "type": "string"
                                    },
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "general",
                                            "content",
                                            "update",
                                            "promotion"
                                        ]
                                    },
                                    "target_user_id": {
                                        "type": "integer"
                                    },
                                    "platform_name": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "Notification sent"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/notifications/register-device": {
            "post": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Register Device",
                "description": "Register device token for push notifications",
                "operationId": "registerDevice",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "device_token",
                                    "device_type"
                                ],
                                "properties": {
                                    "device_token": {
                                        "type": "string"
                                    },
                                    "device_type": {
                                        "type": "string",
                                        "enum": [
                                            "android",
                                            "ios",
                                            "web"
                                        ]
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Device registered"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/platform/config": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Config",
                "description": "Get platform configuration and settings",
                "operationId": "getPlatformConfig",
                "responses": {
                    "200": {
                        "description": "Config retrieved"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/platform/list": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "List Platforms",
                "description": "List available platforms",
                "operationId": "listPlatforms",
                "responses": {
                    "200": {
                        "description": "List retrieved"
                    }
                }
            }
        },
        "/api/platform/stats": {
            "get": {
                "tags": [
                    "Platform"
                ],
                "summary": "Get Stats (Admin)",
                "description": "Get platform statistics",
                "operationId": "getPlatformStats",
                "parameters": [
                    {
                        "name": "platform",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Stats retrieved"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/platform/switch": {
            "post": {
                "tags": [
                    "Platform"
                ],
                "summary": "Switch Platform",
                "description": "Switch user to a different platform",
                "operationId": "switchPlatform",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "platform"
                                ],
                                "properties": {
                                    "platform": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Platform switched"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/ppv/heartbeat": {
            "post": {
                "tags": [
                    "PPV"
                ],
                "summary": "PPV Heartbeat",
                "description": "Tracks watch time and deducts credits if threshold crossed",
                "operationId": "ppvHeartbeat",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "video_id",
                                    "progress_seconds",
                                    "duration_seconds"
                                ],
                                "properties": {
                                    "video_id": {
                                        "type": "integer"
                                    },
                                    "progress_seconds": {
                                        "type": "integer"
                                    },
                                    "duration_seconds": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Status OK or Charged"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/share/create": {
            "post": {
                "tags": [
                    "Share"
                ],
                "summary": "Create Share Link",
                "description": "Create a new shareable link for a video",
                "operationId": "createShareLink",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "video_id"
                                ],
                                "properties": {
                                    "video_id": {
                                        "type": "integer"
                                    },
                                    "expire_hours": {
                                        "type": "integer"
                                    },
                                    "start_time": {
                                        "type": "integer"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Link created"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/share/{shareCode}": {
            "get": {
                "tags": [
                    "Share"
                ],
                "summary": "Process Share Link",
                "description": "Process a share link click and redirect or return deep link info",
                "operationId": "processShareLink",
                "parameters": [
                    {
                        "name": "shareCode",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Link processed"
                    },
                    "302": {
                        "description": "Redirect to video"
                    }
                }
            }
        },
        "/api/share/list": {
            "get": {
                "tags": [
                    "Share"
                ],
                "summary": "Get Share Links",
                "description": "Get user's created share links",
                "operationId": "getUserShareLinks",
                "responses": {
                    "200": {
                        "description": "Links retrieved"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/subscription/plans": {
            "get": {
                "tags": [
                    "Subscription"
                ],
                "summary": "List Plans",
                "description": "Display a listing of subscription plans.",
                "operationId": "getSubscriptionPlans",
                "parameters": [
                    {
                        "name": "platform_name",
                        "in": "query",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Plans retrieved"
                    }
                }
            }
        },
        "/api/subscription/plans/{id}": {
            "get": {
                "tags": [
                    "Subscription"
                ],
                "summary": "Get Plan Details",
                "description": "Display the specified subscription plan.",
                "operationId": "getSubscriptionPlan",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Plan details"
                    }
                }
            }
        },
        "/api/subscription/plans/{id}/subscribe": {
            "post": {
                "tags": [
                    "Subscription"
                ],
                "summary": "Subscribe to Plan",
                "description": "Apply a subscription plan to the authenticated user.",
                "operationId": "subscribeToPlan",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "payment_id": {
                                        "type": "string"
                                    },
                                    "coupon_code": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Subscribed successfully"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/recommendations": {
            "get": {
                "tags": [
                    "User Preferences"
                ],
                "summary": "Get Recommendations",
                "description": "Get personalized content recommendations for the authenticated user.",
                "operationId": "getRecommendations",
                "parameters": [
                    {
                        "name": "per_page",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "default": 10
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Recommendations retrieved",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "boolean",
                                            "example": true
                                        },
                                        "data": {
                                            "type": "object"
                                        },
                                        "recommendation_type": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/content/track-view": {
            "post": {
                "tags": [
                    "User Preferences"
                ],
                "summary": "Track Content View",
                "description": "Track content view and update user preferences.",
                "operationId": "trackContentView",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "content_id"
                                ],
                                "properties": {
                                    "content_id": {
                                        "type": "integer"
                                    },
                                    "watched_duration": {
                                        "type": "integer"
                                    },
                                    "completed": {
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "View tracked"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/preferences/update": {
            "post": {
                "tags": [
                    "User Preferences"
                ],
                "summary": "Update Preferences",
                "description": "Update user's category preference scores based on explicit feedback.",
                "operationId": "updatePreferences",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "preferences"
                                ],
                                "properties": {
                                    "preferences": {
                                        "type": "array",
                                        "items": {
                                            "properties": {
                                                "category_id": {
                                                    "type": "integer"
                                                },
                                                "score": {
                                                    "type": "integer"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Preferences updated"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/preferences": {
            "get": {
                "tags": [
                    "User Preferences"
                ],
                "summary": "Get Preferences",
                "description": "Get user's content preferences.",
                "operationId": "getPreferences",
                "responses": {
                    "200": {
                        "description": "Preferences retrieved"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/user/stats": {
            "get": {
                "tags": [
                    "User Stats"
                ],
                "summary": "Get User Stats",
                "description": "Get user viewing statistics including total watch time, completion rate, etc.",
                "operationId": "getUserStats",
                "responses": {
                    "200": {
                        "description": "Stats retrieved",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/user/watch-history": {
            "get": {
                "tags": [
                    "User Stats"
                ],
                "summary": "Get Watch History",
                "description": "Get paginated list of videos watched by the user",
                "operationId": "getWatchHistory",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "default": 50
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "schema": {
                            "type": "integer",
                            "default": 0
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "History retrieved",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/videos": {
            "get": {
                "tags": [
                    "Videos"
                ],
                "summary": "Get list of videos",
                "description": "Returns list of videos filtered by type or category",
                "operationId": "getAllVideos",
                "parameters": [
                    {
                        "name": "type",
                        "in": "query",
                        "description": "Filter by type (movie, song, short)",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "category",
                        "in": "query",
                        "description": "Filter by category",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "custom_id": {
                                                        "type": "string"
                                                    },
                                                    "title": {
                                                        "type": "string"
                                                    },
                                                    "thumbnail": {
                                                        "type": "string"
                                                    },
                                                    "video_url": {
                                                        "description": "Signed URL if hosted on Bunny.net",
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/videos/{id}": {
            "get": {
                "tags": [
                    "Videos"
                ],
                "summary": "Get video details",
                "description": "Returns details of a specific video",
                "operationId": "getVideoDetails",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Video Custom ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "custom_id": {
                                                    "type": "string"
                                                },
                                                "title": {
                                                    "type": "string"
                                                },
                                                "description": {
                                                    "type": "string"
                                                },
                                                "video_url": {
                                                    "description": "Signed URL",
                                                    "type": "string"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Video not found"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/home-screen": {
            "get": {
                "tags": [
                    "Videos"
                ],
                "summary": "Get Home Screen Content",
                "description": "Returns organized content for the home screen",
                "operationId": "getHomeScreenContent",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "object"
                                    }
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/videos/record-view": {
            "post": {
                "tags": [
                    "Metrics"
                ],
                "summary": "Record View",
                "description": "Record a user view session for analytics",
                "operationId": "recordView",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "video_id",
                                    "duration_seconds"
                                ],
                                "properties": {
                                    "video_id": {
                                        "type": "integer"
                                    },
                                    "duration_seconds": {
                                        "type": "integer"
                                    },
                                    "completed": {
                                        "type": "boolean"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "View recorded"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/videos/{id}/metrics": {
            "get": {
                "tags": [
                    "Metrics"
                ],
                "summary": "Get Video Metrics",
                "description": "Get video metrics (views, watch hours)",
                "operationId": "getVideoMetrics",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Metrics retrieved"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/wallet/balance": {
            "get": {
                "tags": [
                    "Wallet"
                ],
                "summary": "Get Balance",
                "description": "Get user credit balance",
                "operationId": "getWalletBalance",
                "responses": {
                    "200": {
                        "description": "Balance retrieved",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "credits_balance": {
                                                    "type": "integer",
                                                    "example": 150
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/wallet/history": {
            "get": {
                "tags": [
                    "Wallet"
                ],
                "summary": "Get Transaction History",
                "description": "Get user transaction history",
                "operationId": "getWalletHistory",
                "responses": {
                    "200": {
                        "description": "History retrieved",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "current_page": {
                                                    "type": "integer",
                                                    "example": 1
                                                },
                                                "data": {
                                                    "type": "array",
                                                    "items": {
                                                        "properties": {
                                                            "id": {
                                                                "type": "integer",
                                                                "example": 1
                                                            },
                                                            "user_id": {
                                                                "type": "integer",
                                                                "example": 5
                                                            },
                                                            "type": {
                                                                "type": "string",
                                                                "example": "debit"
                                                            },
                                                            "amount": {
                                                                "type": "integer",
                                                                "example": 10
                                                            },
                                                            "description": {
                                                                "type": "string",
                                                                "example": "Watched Video X"
                                                            },
                                                            "created_at": {
                                                                "type": "string",
                                                                "format": "date-time"
                                                            }
                                                        },
                                                        "type": "object"
                                                    }
                                                },
                                                "total": {
                                                    "type": "integer",
                                                    "example": 5
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/wallet/debit": {
            "post": {
                "tags": [
                    "Wallet"
                ],
                "summary": "Manual Debit",
                "description": "Debit wallet balance manually",
                "operationId": "debitWallet",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "amount",
                                    "description"
                                ],
                                "properties": {
                                    "amount": {
                                        "type": "integer",
                                        "example": 10
                                    },
                                    "description": {
                                        "type": "string",
                                        "example": "Premium Feature Access"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Debit successful"
                    },
                    "402": {
                        "description": "Insufficient Funds"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/wishlist": {
            "get": {
                "tags": [
                    "Wishlist"
                ],
                "summary": "Get Wishlist",
                "description": "Get list of videos in user's wishlist",
                "operationId": "getWishlist",
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "wishlist_id": {
                                                        "type": "integer"
                                                    },
                                                    "added_at": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "video": {
                                                        "type": "object"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/wishlist/add": {
            "post": {
                "tags": [
                    "Wishlist"
                ],
                "summary": "Add to Wishlist",
                "description": "Add a video to the user's wishlist",
                "operationId": "addToWishlist",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "video_id"
                                ],
                                "properties": {
                                    "video_id": {
                                        "type": "integer",
                                        "example": 1
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Added successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Video added to wishlist successfully"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Already in wishlist"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/wishlist/remove": {
            "post": {
                "tags": [
                    "Wishlist"
                ],
                "summary": "Remove from Wishlist",
                "description": "Remove a video from the user's wishlist",
                "operationId": "removeFromWishlist",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "video_id"
                                ],
                                "properties": {
                                    "video_id": {
                                        "type": "integer",
                                        "example": 1
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Removed successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "message": {
                                            "type": "string",
                                            "example": "Video removed from wishlist successfully"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Video not in wishlist"
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        },
        "/api/wishlist/check": {
            "get": {
                "tags": [
                    "Wishlist"
                ],
                "summary": "Check Wishlist Status",
                "description": "Check if a specific video is in the user's wishlist",
                "operationId": "checkWishlistStatus",
                "parameters": [
                    {
                        "name": "video_id",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Status retrieved",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "example": "success"
                                        },
                                        "data": {
                                            "properties": {
                                                "video_id": {
                                                    "type": "integer"
                                                },
                                                "in_wishlist": {
                                                    "type": "boolean"
                                                }
                                            },
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                },
                "security": [
                    {
                        "bearerAuth": []
                    }
                ]
            }
        }
    },
    "components": {
        "securitySchemes": {
            "bearerAuth": {
                "type": "http",
                "bearerFormat": "JWT",
                "scheme": "bearer"
            }
        }
    },
    "tags": [
        {
            "name": "Admin User Wallet",
            "description": "Admin User Wallet"
        },
        {
            "name": "Authentication",
            "description": "Authentication"
        },
        {
            "name": "Banners",
            "description": "Banners"
        },
        {
            "name": "Content",
            "description": "Content"
        },
        {
            "name": "Playback",
            "description": "Playback"
        },
        {
            "name": "Subscription",
            "description": "Subscription"
        },
        {
            "name": "Credits",
            "description": "Credits"
        },
        {
            "name": "Likes",
            "description": "Likes"
        },
        {
            "name": "Notifications",
            "description": "Notifications"
        },
        {
            "name": "Platform",
            "description": "Platform"
        },
        {
            "name": "PPV",
            "description": "PPV"
        },
        {
            "name": "Share",
            "description": "Share"
        },
        {
            "name": "User Preferences",
            "description": "User Preferences"
        },
        {
            "name": "User Stats",
            "description": "User Stats"
        },
        {
            "name": "Videos",
            "description": "Videos"
        },
        {
            "name": "Metrics",
            "description": "Metrics"
        },
        {
            "name": "Wallet",
            "description": "Wallet"
        },
        {
            "name": "Wishlist",
            "description": "Wishlist"
        }
    ]
}