{
  "openapi": "3.1.0",
  "info": {
    "title": "Vier API",
    "version": "5.0.0",
    "description": "Official OpenAPI contract for Vier API v1. Legacy /api routes remain available during migration."
  },
  "servers": [
    {
      "url": "https://api.viertechsolutions.com/v1",
      "description": "Vier API v1"
    }
  ],
  "tags": [
    {
      "name": "AI"
    },
    {
      "name": "Asupan"
    },
    {
      "name": "Canvas"
    },
    {
      "name": "Downloader"
    },
    {
      "name": "Fun"
    },
    {
      "name": "Game"
    },
    {
      "name": "Islamic"
    },
    {
      "name": "Payment Gateway"
    },
    {
      "name": "Search"
    },
    {
      "name": "Shop"
    },
    {
      "name": "Stalker"
    },
    {
      "name": "Sticker"
    },
    {
      "name": "Tools"
    },
    {
      "name": "TTS"
    }
  ],
  "security": [
    {
      "ApiKeyAuth": []
    }
  ],
  "paths": {
    "/tools/ping": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "Ping",
        "description": "Mengecek status Vier API.",
        "operationId": "get_tools_ping",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/base64": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "Base64 Encode",
        "description": "Encode teks menjadi Base64.",
        "operationId": "get_tools_base64",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Vier API"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/random-number": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "Random Number",
        "description": "Membuat angka acak dalam rentang min-max.",
        "operationId": "get_tools_random_number",
        "parameters": [
          {
            "name": "min",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "1"
            }
          },
          {
            "name": "max",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "100"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/tebak-angka": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Tebak Angka",
        "description": "Menghasilkan angka acak untuk game tebak angka.",
        "operationId": "get_game_tebak_angka",
        "parameters": [
          {
            "name": "level",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "medium"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/aio": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "AIO Downloader",
        "description": "Downloader otomatis untuk beberapa platform populer.",
        "operationId": "get_downloader_aio",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://vt.tiktok.com/xxxx"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/tiktok": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "TikTok Downloader",
        "description": "Mengambil video, audio, slideshow foto, dan metadata TikTok melalui dual provider.",
        "operationId": "get_downloader_tiktok",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://vt.tiktok.com/xxxx"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/tiktok-audio": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "TikTok Audio",
        "description": "Mengambil audio TikTok jika tersedia.",
        "operationId": "get_downloader_tiktok_audio",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://vt.tiktok.com/xxxx"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/tiktok-story": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "TikTok Story",
        "description": "Mengambil story TikTok publik berupa video/foto melalui dual provider.",
        "operationId": "get_downloader_tiktok_story",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://www.tiktok.com/@username/..."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/instagram": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "Instagram Downloader",
        "description": "Mengambil foto, video, reel, post, dan carousel/slideshow Instagram melalui sesi authenticated server.",
        "operationId": "get_downloader_instagram",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://www.instagram.com/reel/xxxx/"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/instagram-story": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "Instagram Story",
        "description": "Mengambil Story dan Highlight akun Instagram publik melalui IGExport menggunakan username.",
        "operationId": "get_downloader_instagram_story",
        "parameters": [
          {
            "name": "username",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "instagram"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/facebook": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "Facebook Downloader",
        "description": "Mengambil video Facebook dalam kualitas yang tersedia.",
        "operationId": "get_downloader_facebook",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://www.facebook.com/watch/?v=xxxx"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/capcut": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "CapCut Downloader",
        "description": "Mengambil video original dari tautan CapCut.",
        "operationId": "get_downloader_capcut",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://www.capcut.com/t/xxxx"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/pinterest": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "Pinterest Downloader",
        "description": "Mengambil video atau gambar Pinterest.",
        "operationId": "get_downloader_pinterest",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://www.pinterest.com/pin/123456789/"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/mediafire": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "MediaFire Downloader",
        "description": "Mengambil metadata dan direct download URL MediaFire.",
        "operationId": "get_downloader_mediafire",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://www.mediafire.com/file/xxxx/file"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/youtube-mp3": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "YouTube MP3",
        "description": "Menghasilkan link audio YouTube MP3.",
        "operationId": "get_downloader_youtube_mp3",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://youtu.be/dQw4w9WgXcQ"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/youtube-mp4": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "YouTube MP4",
        "description": "Menghasilkan link video YouTube MP4.",
        "operationId": "get_downloader_youtube_mp4",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://youtu.be/dQw4w9WgXcQ"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/cocofun": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "CocoFun Downloader",
        "description": "Mengambil video CocoFun tanpa watermark jika tersedia.",
        "operationId": "get_downloader_cocofun",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://www.cocofun.com/share/post/xxxx"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/dailymotion": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "Dailymotion Downloader",
        "description": "Mengambil media Dailymotion dalam kualitas yang tersedia.",
        "operationId": "get_downloader_dailymotion",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://www.dailymotion.com/video/xxxx"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/douyin": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "Douyin Downloader",
        "description": "Mengambil video dan audio Douyin.",
        "operationId": "get_downloader_douyin",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://v.douyin.com/xxxx"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/github": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "GitHub Downloader",
        "description": "Menghasilkan link ZIP repository GitHub.",
        "operationId": "get_downloader_github",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://github.com/user/repo"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/likee": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "Likee Downloader",
        "description": "Mengambil video Likee tanpa watermark jika tersedia.",
        "operationId": "get_downloader_likee",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://likee.video/@user/video/xxxx"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/rednote": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "RedNote Downloader",
        "description": "Mengambil foto atau video RedNote/XiaoHongShu.",
        "operationId": "get_downloader_rednote",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://www.xiaohongshu.com/explore/xxxx"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/shopee": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "Shopee Video Downloader",
        "description": "Mengambil video dari tautan Shopee.",
        "operationId": "get_downloader_shopee",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://shopee.co.id/universal-link/video/xxxx"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/snackvideo": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "SnackVideo Downloader",
        "description": "Mengambil video SnackVideo.",
        "operationId": "get_downloader_snackvideo",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://www.snackvideo.com/@user/video/xxxx"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/spotify": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "Spotify Downloader",
        "description": "Mengambil direct audio URL dari track Spotify.",
        "operationId": "get_downloader_spotify",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://open.spotify.com/track/xxxx"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/terabox": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "TeraBox Downloader",
        "description": "Mengambil metadata, stream, dan download URL TeraBox.",
        "operationId": "get_downloader_terabox",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://terabox.com/s/xxxx"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/threads": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "Threads Downloader",
        "description": "Mengambil foto atau video dari postingan Threads.",
        "operationId": "get_downloader_threads",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://www.threads.net/@user/post/xxxx"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/ai/vier-ai": {
      "get": {
        "tags": [
          "AI"
        ],
        "summary": "Vier AI",
        "description": "Asisten AI umum dengan identitas Vier API.",
        "operationId": "get_ai_vier_ai",
        "parameters": [
          {
            "name": "prompt",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Jelaskan apa itu REST API"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/ai/claude-haiku": {
      "get": {
        "tags": [
          "AI"
        ],
        "summary": "Claude Haiku",
        "description": "Chat menggunakan provider Claude Haiku.",
        "operationId": "get_ai_claude_haiku",
        "parameters": [
          {
            "name": "prompt",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Jelaskan teori relativitas secara sederhana"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/ai/deepseek": {
      "get": {
        "tags": [
          "AI"
        ],
        "summary": "DeepSeek",
        "description": "AI reasoning DeepSeek dengan jawaban dan reasoning jika tersedia.",
        "operationId": "get_ai_deepseek",
        "parameters": [
          {
            "name": "prompt",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Buat algoritma sorting sederhana"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/ai/qwen3": {
      "get": {
        "tags": [
          "AI"
        ],
        "summary": "Qwen3",
        "description": "Chat menggunakan model Qwen3 dari provider eksternal.",
        "operationId": "get_ai_qwen3",
        "parameters": [
          {
            "name": "prompt",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Apa itu machine learning?"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/ai/gpt-nano": {
      "get": {
        "tags": [
          "AI"
        ],
        "summary": "GPT Nano",
        "description": "Chat menggunakan model GPT Nano dari provider eksternal.",
        "operationId": "get_ai_gpt_nano",
        "parameters": [
          {
            "name": "prompt",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Buat puisi singkat tentang Indonesia"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/ai/dolphin": {
      "get": {
        "tags": [
          "AI"
        ],
        "summary": "Dolphin AI",
        "description": "Dolphin AI dengan pilihan template logical, creative, summarize, code-beginner, atau code-advanced.",
        "operationId": "get_ai_dolphin",
        "parameters": [
          {
            "name": "prompt",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Jelaskan Node.js"
            }
          },
          {
            "name": "template",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "logical"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/ai/muslim-ai": {
      "get": {
        "tags": [
          "AI"
        ],
        "summary": "Muslim AI",
        "description": "AI untuk pertanyaan umum seputar Islam. Verifikasi kembali jawaban untuk keputusan keagamaan penting.",
        "operationId": "get_ai_muslim_ai",
        "parameters": [
          {
            "name": "prompt",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Apa arti zakat?"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/ai/math": {
      "get": {
        "tags": [
          "AI"
        ],
        "summary": "Math AI",
        "description": "Membantu menyelesaikan pertanyaan matematika.",
        "operationId": "get_ai_math",
        "parameters": [
          {
            "name": "prompt",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Selesaikan 2x + 4 = 10"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/canvas/blue-archive-logo": {
      "get": {
        "tags": [
          "Canvas"
        ],
        "summary": "Blue Archive Logo",
        "description": "Membuat logo bergaya Blue Archive dari dua teks.",
        "operationId": "get_canvas_blue_archive_logo",
        "parameters": [
          {
            "name": "left",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Vier"
            }
          },
          {
            "name": "right",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "API"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/canvas/iphone-chat": {
      "get": {
        "tags": [
          "Canvas"
        ],
        "summary": "iPhone Chat",
        "description": "Membuat gambar chat bergaya iPhone.",
        "operationId": "get_canvas_iphone_chat",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Halo dari Vier API"
            }
          },
          {
            "name": "provider",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "INDOSAT"
            }
          },
          {
            "name": "time",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "12:45"
            }
          },
          {
            "name": "battery",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "100"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/canvas/gura": {
      "get": {
        "tags": [
          "Canvas"
        ],
        "summary": "Gura Canvas",
        "description": "Menerapkan efek Gura pada gambar dari URL publik.",
        "operationId": "get_canvas_gura",
        "parameters": [
          {
            "name": "image",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://example.com/photo.jpg"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/canvas/music-card": {
      "get": {
        "tags": [
          "Canvas"
        ],
        "summary": "Music Card",
        "description": "Membuat kartu musik dari judul, artis, dan cover image URL.",
        "operationId": "get_canvas_music_card",
        "parameters": [
          {
            "name": "title",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Perfect"
            }
          },
          {
            "name": "artist",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Ed Sheeran"
            }
          },
          {
            "name": "image",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://example.com/cover.jpg"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/canvas/pixel-art": {
      "get": {
        "tags": [
          "Canvas"
        ],
        "summary": "Pixel Art",
        "description": "Mengubah gambar URL menjadi pixel art. Level 1-40.",
        "operationId": "get_canvas_pixel_art",
        "parameters": [
          {
            "name": "image",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://example.com/photo.jpg"
            }
          },
          {
            "name": "level",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "20"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/canvas/ustadz": {
      "get": {
        "tags": [
          "Canvas"
        ],
        "summary": "Ustadz Canvas",
        "description": "Membuat kartu gambar bertema Ustadz dari teks.",
        "operationId": "get_canvas_ustadz",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Kenapa harus rajin belajar?"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/search/npm": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "NPM Search",
        "description": "Mencari package pada NPM Registry.",
        "operationId": "get_search_npm",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "axios"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "8"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/search/wikipedia": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Wikipedia Search",
        "description": "Mencari artikel Wikipedia Indonesia beserta ringkasan.",
        "operationId": "get_search_wikipedia",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Indonesia"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "5"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/search/youtube": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "YouTube Search",
        "description": "Mencari video YouTube berdasarkan kata kunci.",
        "operationId": "get_search_youtube",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "lagu Indonesia"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "8"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/search/soundcloud": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "SoundCloud Search",
        "description": "Mencari track publik di SoundCloud.",
        "operationId": "get_search_soundcloud",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Only We Know"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "5"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/search/spotify": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Spotify Search",
        "description": "Mencari lagu Spotify.",
        "operationId": "get_search_spotify",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Bruno Mars"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "5"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/search/applemusic": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Apple Music Search",
        "description": "Mencari lagu Apple Music.",
        "operationId": "get_search_applemusic",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Best Friend"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "5"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/search/google-image": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Google Image Search",
        "description": "Mencari gambar melalui Google Images.",
        "operationId": "get_search_google_image",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "anime wallpaper"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "10"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "1"
            }
          },
          {
            "name": "safe",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "on"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/search/google-news": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Google News Search",
        "description": "Mencari berita melalui Google News RSS.",
        "operationId": "get_search_google_news",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "teknologi Indonesia"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "10"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/search/tiktok": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "TikTok Search",
        "description": "Mencari video, user, atau live TikTok melalui TikTok API wrapper.",
        "operationId": "get_search_tiktok",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "anime"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "video"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "1"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "10"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/search/gsmarena": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "GSMArena Search",
        "description": "Mencari perangkat dan spesifikasi HP dari GSMArena.",
        "operationId": "get_search_gsmarena",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Samsung Galaxy S25"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "8"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/ssweb": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "Screenshot Web",
        "description": "Mengambil screenshot halaman website.",
        "operationId": "get_tools_ssweb",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://google.com"
            }
          },
          {
            "name": "mode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "desktop"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/ipwho": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "IP Lookup",
        "description": "Lookup informasi publik IP address.",
        "operationId": "get_tools_ipwho",
        "parameters": [
          {
            "name": "ip",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "8.8.8.8"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/getpaste": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "Get Pastebin",
        "description": "Mengambil konten raw dari URL Pastebin.",
        "operationId": "get_tools_getpaste",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://pastebin.com/Gu8RZaqv"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/cjs-to-esm": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "CJS to ESM",
        "description": "Mengonversi sintaks CommonJS dasar ke ES Modules.",
        "operationId": "get_tools_cjs_to_esm",
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "const axios = require('axios')"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/esm-to-cjs": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "ESM to CJS",
        "description": "Mengonversi sintaks ES Modules dasar ke CommonJS.",
        "operationId": "get_tools_esm_to_cjs",
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "import axios from 'axios'"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/txt2qr": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "Text to QR",
        "description": "Membuat QR code PNG dari teks atau URL.",
        "operationId": "get_tools_txt2qr",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://api.viertechsolutions.com"
            }
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "512"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/carbon": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "Carbon Code",
        "description": "Membuat gambar kode bergaya Carbon.",
        "operationId": "get_tools_carbon",
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "console.log('Vier API')"
            }
          },
          {
            "name": "theme",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "dracula-pro"
            }
          },
          {
            "name": "language",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "javascript"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/ocr": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "OCR",
        "description": "Ekstrak teks dari gambar URL menggunakan OCR lokal.",
        "operationId": "get_tools_ocr",
        "parameters": [
          {
            "name": "image",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://example.com/image.jpg"
            }
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "eng"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/removebg": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "Remove Background",
        "description": "Menghapus background gambar dari URL publik.",
        "operationId": "get_tools_removebg",
        "parameters": [
          {
            "name": "image",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://example.com/photo.jpg"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/image-to-prompt": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "Image To Prompt",
        "description": "Menganalisis gambar dan menghasilkan prompt AI.",
        "operationId": "get_tools_image_to_prompt",
        "parameters": [
          {
            "name": "image",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://example.com/photo.jpg"
            }
          },
          {
            "name": "language",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "en"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/dafont": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "DaFont Search",
        "description": "Mencari font di DaFont.",
        "operationId": "get_tools_dafont",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "horror"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "10"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/video-transcribe": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "Video Transcribe",
        "description": "Transkrip video URL/YouTube menjadi teks.",
        "operationId": "get_tools_video_transcribe",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://youtu.be/dQw4w9WgXcQ"
            }
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/github": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "GitHub Lookup",
        "description": "Melihat profil publik GitHub berdasarkan username.",
        "operationId": "get_stalker_github",
        "parameters": [
          {
            "name": "username",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "torvalds"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/roblox": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "Roblox Lookup",
        "description": "Melihat profil publik Roblox berdasarkan username.",
        "operationId": "get_stalker_roblox",
        "parameters": [
          {
            "name": "username",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Builderman"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/npm": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "NPM Lookup",
        "description": "Melihat profil dan package publik milik user NPM.",
        "operationId": "get_stalker_npm",
        "parameters": [
          {
            "name": "username",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "sindresorhus"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "10"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/pinterest": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "Pinterest Lookup",
        "description": "Melihat informasi profil publik Pinterest.",
        "operationId": "get_stalker_pinterest",
        "parameters": [
          {
            "name": "username",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "pinterest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/freefire": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "Free Fire Lookup",
        "description": "Melihat informasi akun Free Fire berdasarkan UID.",
        "operationId": "get_stalker_freefire",
        "parameters": [
          {
            "name": "uid",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "470699855"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/genshin": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "Genshin Lookup",
        "description": "Melihat informasi akun Genshin Impact berdasarkan UID publik.",
        "operationId": "get_stalker_genshin",
        "parameters": [
          {
            "name": "uid",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "856012067"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/game": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "Game Nickname Check",
        "description": "Cek nickname/ID berbagai game melalui satu endpoint. Gunakan game_code dari Game Stalker List.",
        "operationId": "get_stalker_game",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "123456789"
            }
          },
          {
            "name": "game_code",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "mobile-legends"
            }
          },
          {
            "name": "server",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "2001"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/game-list": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "Game Stalker List",
        "description": "Daftar game_code yang didukung untuk pengecekan nickname game.",
        "operationId": "get_stalker_game_list",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/mobile-legends": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "Mobile Legends Stalker",
        "description": "Cek nickname Mobile Legends berdasarkan User ID dan Zone ID.",
        "operationId": "get_stalker_mobile_legends",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "123456789"
            }
          },
          {
            "name": "server",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2001"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/mobile-legends-region": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "Mobile Legends Region",
        "description": "Cek nickname dan region akun Mobile Legends berdasarkan User ID dan Zone ID.",
        "operationId": "get_stalker_mobile_legends_region",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "123456789"
            }
          },
          {
            "name": "server",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2001"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/pln": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "PLN Customer Check",
        "description": "Cek nama pelanggan PLN berdasarkan nomor meter/customer number.",
        "operationId": "get_stalker_pln",
        "parameters": [
          {
            "name": "customer_number",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "123456789012"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/pubg-mobile": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "PUBG Mobile Stalker",
        "description": "Cek nickname PUBG Mobile berdasarkan Player ID.",
        "operationId": "get_stalker_pubg_mobile",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "5123456789"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/codm": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "COD Mobile Stalker",
        "description": "Cek nickname Call of Duty Mobile berdasarkan Player ID.",
        "operationId": "get_stalker_codm",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "123456789"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/honor-of-kings": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "Honor of Kings Stalker",
        "description": "Cek nickname Honor of Kings berdasarkan Player ID.",
        "operationId": "get_stalker_honor_of_kings",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "123456789"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/wild-rift": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "Wild Rift Stalker",
        "description": "Cek nickname League of Legends: Wild Rift.",
        "operationId": "get_stalker_wild_rift",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "123456789"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/arena-of-valor": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "Arena of Valor Stalker",
        "description": "Cek nickname Arena of Valor berdasarkan Player ID.",
        "operationId": "get_stalker_arena_of_valor",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "123456789"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/point-blank": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "Point Blank Stalker",
        "description": "Cek nickname Point Blank berdasarkan Player ID.",
        "operationId": "get_stalker_point_blank",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "123456789"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/free-fire-max": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "Free Fire Max Stalker",
        "description": "Cek nickname Free Fire Max berdasarkan UID.",
        "operationId": "get_stalker_free_fire_max",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "470699855"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/honkai-star-rail": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "Honkai Star Rail Stalker",
        "description": "Cek nickname Honkai: Star Rail berdasarkan UID dan server.",
        "operationId": "get_stalker_honkai_star_rail",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "800123456"
            }
          },
          {
            "name": "server",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "os_asia"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/zenless-zone-zero": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "Zenless Zone Zero Stalker",
        "description": "Cek nickname Zenless Zone Zero berdasarkan UID dan server.",
        "operationId": "get_stalker_zenless_zone_zero",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "1300123456"
            }
          },
          {
            "name": "server",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "os_asia"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/fc-mobile": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "FC Mobile Stalker",
        "description": "Cek nickname FC Mobile berdasarkan Player ID.",
        "operationId": "get_stalker_fc_mobile",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "123456789"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/pokemon-unite": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "Pokemon Unite Stalker",
        "description": "Cek nickname Pokemon Unite berdasarkan Player ID.",
        "operationId": "get_stalker_pokemon_unite",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "ABC123XYZ"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/arena-breakout": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "Arena Breakout Stalker",
        "description": "Cek nickname Arena Breakout berdasarkan Player ID.",
        "operationId": "get_stalker_arena_breakout",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "123456789"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/teamfight-tactics": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "Teamfight Tactics Stalker",
        "description": "Cek nickname Teamfight Tactics Mobile.",
        "operationId": "get_stalker_teamfight_tactics",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "123456789"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/lifeafter": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "LifeAfter Stalker",
        "description": "Cek nickname LifeAfter berdasarkan Player ID dan server.",
        "operationId": "get_stalker_lifeafter",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "123456789"
            }
          },
          {
            "name": "server",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "MiskaTown"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/nikke": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "NIKKE Stalker",
        "description": "Cek nickname Goddess of Victory: Nikke berdasarkan ID dan server.",
        "operationId": "get_stalker_nikke",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "123456789"
            }
          },
          {
            "name": "server",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "sea"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tts/google": {
      "get": {
        "tags": [
          "TTS"
        ],
        "summary": "Google TTS",
        "description": "Mengubah teks menjadi audio text-to-speech.",
        "operationId": "get_tts_google",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Halo dari Vier API"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/islamic/asmaul-husna": {
      "get": {
        "tags": [
          "Islamic"
        ],
        "summary": "Asmaul Husna",
        "description": "Mengambil 99 Asmaul Husna beserta Arab, Latin, dan terjemahan.",
        "operationId": "get_islamic_asmaul_husna",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/islamic/niat-shalat": {
      "get": {
        "tags": [
          "Islamic"
        ],
        "summary": "Niat Shalat",
        "description": "Daftar atau pencarian niat shalat.",
        "operationId": "get_islamic_niat_shalat",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "subuh"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/islamic/doa": {
      "get": {
        "tags": [
          "Islamic"
        ],
        "summary": "Doa Harian",
        "description": "Daftar atau pencarian doa harian beserta Arab, Latin, dan arti.",
        "operationId": "get_islamic_doa",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "tidur"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/islamic/quran": {
      "get": {
        "tags": [
          "Islamic"
        ],
        "summary": "Quran by Name",
        "description": "Membaca ayat Al-Quran berdasarkan nama surah.",
        "operationId": "get_islamic_quran",
        "parameters": [
          {
            "name": "surah",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "al fatihah"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/islamic/quran-number": {
      "get": {
        "tags": [
          "Islamic"
        ],
        "summary": "Quran by Number",
        "description": "Membaca ayat Al-Quran berdasarkan nomor surah 1-114.",
        "operationId": "get_islamic_quran_number",
        "parameters": [
          {
            "name": "surah",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/islamic/reciters": {
      "get": {
        "tags": [
          "Islamic"
        ],
        "summary": "Quran Reciters",
        "description": "Daftar qari dari MP3Quran. Bisa difilter nama qari.",
        "operationId": "get_islamic_reciters",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Sudais"
            }
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "eng"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "20"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/islamic/murottal": {
      "get": {
        "tags": [
          "Islamic"
        ],
        "summary": "Murottal",
        "description": "Mengambil direct audio murottal berdasarkan qari dan nomor surah.",
        "operationId": "get_islamic_murottal",
        "parameters": [
          {
            "name": "reciter",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Sudais"
            }
          },
          {
            "name": "surah",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "1"
            }
          },
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "eng"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/islamic/radios": {
      "get": {
        "tags": [
          "Islamic"
        ],
        "summary": "Islamic Radios",
        "description": "Daftar radio streaming Al-Quran dari MP3Quran.",
        "operationId": "get_islamic_radios",
        "parameters": [
          {
            "name": "lang",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "eng"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "20"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/islamic/articles": {
      "get": {
        "tags": [
          "Islamic"
        ],
        "summary": "Islamic Articles",
        "description": "Mencari artikel Islami berdasarkan kata kunci.",
        "operationId": "get_islamic_articles",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "puasa"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "10"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/tebak-gambar": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Tebak Gambar",
        "description": "Soal tebak gambar acak dari dataset lokal.",
        "operationId": "get_game_tebak_gambar",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/tebak-emoji": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Tebak Emoji",
        "description": "Tebak kata dari kombinasi emoji.",
        "operationId": "get_game_tebak_emoji",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/asah-otak": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Asah Otak",
        "description": "Soal asah otak acak.",
        "operationId": "get_game_asah_otak",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/tebak-ml": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Tebak ML",
        "description": "Tebak hero Mobile Legends dari gambar dan audio.",
        "operationId": "get_game_tebak_ml",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/tebak-buah": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Tebak Buah",
        "description": "Tebak nama buah dari soal atau emoji.",
        "operationId": "get_game_tebak_buah",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/tebak-makanan": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Tebak Makanan",
        "description": "Soal tebak makanan acak.",
        "operationId": "get_game_tebak_makanan",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/truth-or-dare": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Truth or Dare",
        "description": "Mengambil Truth atau Dare secara acak.",
        "operationId": "get_game_truth_or_dare",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "truth"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/tebak-bendera": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Tebak Bendera",
        "description": "Tebak negara dari emoji bendera.",
        "operationId": "get_game_tebak_bendera",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/siapakah-aku": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Siapakah Aku",
        "description": "Soal Siapakah Aku secara acak.",
        "operationId": "get_game_siapakah_aku",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/tebak-kata": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Tebak Kata",
        "description": "Soal tebak kata acak.",
        "operationId": "get_game_tebak_kata",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/tebak-kota": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Tebak Kota",
        "description": "Soal tebak kota acak.",
        "operationId": "get_game_tebak_kota",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/family100": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Family 100",
        "description": "Pertanyaan Family 100 dengan beberapa jawaban.",
        "operationId": "get_game_family100",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/susun-kata": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Susun Kata",
        "description": "Soal menyusun huruf menjadi kata.",
        "operationId": "get_game_susun_kata",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/susun-kalimat": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Susun Kalimat",
        "description": "Soal melengkapi atau menyusun kalimat.",
        "operationId": "get_game_susun_kalimat",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/tebak-minuman": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Tebak Minuman",
        "description": "Soal tebak minuman acak.",
        "operationId": "get_game_tebak_minuman",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/cak-lontong": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Cak Lontong",
        "description": "Teka-teki Cak Lontong beserta penjelasan.",
        "operationId": "get_game_cak_lontong",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/susun-lirik": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Susun Lirik",
        "description": "Soal melengkapi lirik lagu.",
        "operationId": "get_game_susun_lirik",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/tebak-kimia": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Tebak Kimia",
        "description": "Quiz unsur dan istilah kimia.",
        "operationId": "get_game_tebak_kimia",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/cek-khodam": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Cek Khodam",
        "description": "Random khodam untuk hiburan.",
        "operationId": "get_game_cek_khodam",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/math": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Math Quiz",
        "description": "Menghasilkan soal matematika berdasarkan level.",
        "operationId": "get_game_math",
        "parameters": [
          {
            "name": "level",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "hard"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/tebak-suara-ml": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Tebak Suara ML",
        "description": "Tebak hero Mobile Legends dari audio voice line.",
        "operationId": "get_game_tebak_suara_ml",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/tebak-kpop": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Tebak K-Pop",
        "description": "Tebak idol K-Pop dari gambar lokal.",
        "operationId": "get_game_tebak_kpop",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/tebak-jkt48": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Tebak JKT48",
        "description": "Tebak member JKT48 dari gambar lokal.",
        "operationId": "get_game_tebak_jkt48",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/teka-teki": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Teka-Teki",
        "description": "Teka-teki acak dari dataset lokal.",
        "operationId": "get_game_teka_teki",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/pilgan": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Pilihan Ganda",
        "description": "Soal pilihan ganda lengkap dengan jawaban dan penjelasan.",
        "operationId": "get_game_pilgan",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/slot": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Slot",
        "description": "Simulasi slot stateless untuk hiburan, tanpa balance atau taruhan.",
        "operationId": "get_game_slot",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/gacha": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Gacha",
        "description": "Random rarity stateless untuk hiburan, tanpa balance atau taruhan.",
        "operationId": "get_game_gacha",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/game/tebak-lagu": {
      "get": {
        "tags": [
          "Game"
        ],
        "summary": "Tebak Lagu",
        "description": "Tebak judul lagu dari potongan audio lokal Vier API. Tanpa session dan tanpa provider eksternal.",
        "operationId": "get_game_tebak_lagu",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/canvas/iqc": {
      "get": {
        "tags": [
          "Canvas"
        ],
        "summary": "IQC - WhatsApp Quick Chat",
        "description": "Membuat canvas quick chat bergaya WhatsApp dengan reaction bar dan menu long-press.",
        "operationId": "get_canvas_iqc",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "halo"
            }
          },
          {
            "name": "time",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "02:45"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/canvas/tqc": {
      "get": {
        "tags": [
          "Canvas"
        ],
        "summary": "TQC - Telegram Quick Chat",
        "description": "Membuat canvas quick chat bergaya Telegram dengan header kontak, reaction bar, dan context menu.",
        "operationId": "get_canvas_tqc",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "halo"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Contact Name"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "online"
            }
          },
          {
            "name": "avatar",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "https://example.com/avatar.jpg"
            }
          },
          {
            "name": "time",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "02:45"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/canvas/igqc": {
      "get": {
        "tags": [
          "Canvas"
        ],
        "summary": "IGQC - Instagram Quick Chat",
        "description": "Membuat canvas quick chat bergaya Instagram dengan header kontak, reaction bar, dan context menu.",
        "operationId": "get_canvas_igqc",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "halo"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Contact Name"
            }
          },
          {
            "name": "username",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "username"
            }
          },
          {
            "name": "avatar",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "https://example.com/avatar.jpg"
            }
          },
          {
            "name": "time",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "02:45"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/sticker/dinokuning": {
      "get": {
        "tags": [
          "Sticker"
        ],
        "summary": "Dino Kuning",
        "description": "Mengambil sticker random pack Dino Kuning.",
        "operationId": "get_sticker_dinokuning",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/sticker/doraemon": {
      "get": {
        "tags": [
          "Sticker"
        ],
        "summary": "Doraemon",
        "description": "Mengambil sticker random pack Doraemon.",
        "operationId": "get_sticker_doraemon",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/sticker/fingers": {
      "get": {
        "tags": [
          "Sticker"
        ],
        "summary": "Fingers",
        "description": "Mengambil sticker random pack Fingers.",
        "operationId": "get_sticker_fingers",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/sticker/kucing": {
      "get": {
        "tags": [
          "Sticker"
        ],
        "summary": "Kucing",
        "description": "Mengambil sticker random pack Kucing.",
        "operationId": "get_sticker_kucing",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/sticker/manusialidi": {
      "get": {
        "tags": [
          "Sticker"
        ],
        "summary": "Manusia Lidi",
        "description": "Mengambil sticker random pack Manusia Lidi.",
        "operationId": "get_sticker_manusialidi",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/sticker/patrick": {
      "get": {
        "tags": [
          "Sticker"
        ],
        "summary": "Patrick",
        "description": "Mengambil sticker random pack Patrick.",
        "operationId": "get_sticker_patrick",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/sticker/pentol": {
      "get": {
        "tags": [
          "Sticker"
        ],
        "summary": "Pentol",
        "description": "Mengambil sticker random pack Pentol.",
        "operationId": "get_sticker_pentol",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/sticker/spongebob": {
      "get": {
        "tags": [
          "Sticker"
        ],
        "summary": "Spongebob",
        "description": "Mengambil sticker random pack Spongebob.",
        "operationId": "get_sticker_spongebob",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/sticker/squidward": {
      "get": {
        "tags": [
          "Sticker"
        ],
        "summary": "Squidward",
        "description": "Mengambil sticker random pack Squidward.",
        "operationId": "get_sticker_squidward",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/sticker/upinipin": {
      "get": {
        "tags": [
          "Sticker"
        ],
        "summary": "Upin Ipin",
        "description": "Mengambil sticker random pack Upin Ipin.",
        "operationId": "get_sticker_upinipin",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/sticker/zenitsu": {
      "get": {
        "tags": [
          "Sticker"
        ],
        "summary": "Zenitsu",
        "description": "Mengambil sticker random pack Zenitsu.",
        "operationId": "get_sticker_zenitsu",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/sticker/tanjiro": {
      "get": {
        "tags": [
          "Sticker"
        ],
        "summary": "Tanjiro",
        "description": "Mengambil sticker random pack Tanjiro.",
        "operationId": "get_sticker_tanjiro",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/sticker/gojo": {
      "get": {
        "tags": [
          "Sticker"
        ],
        "summary": "Gojo",
        "description": "Mengambil sticker random pack Gojo.",
        "operationId": "get_sticker_gojo",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/downloader/play": {
      "get": {
        "tags": [
          "Downloader"
        ],
        "summary": "Play",
        "description": "Cari lagu YouTube lalu siapkan audio MP3.",
        "operationId": "get_downloader_play",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Hindia Secukupnya"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-sial": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Sial",
        "description": "Cek sial untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_sial",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-beruntung": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Beruntung",
        "description": "Cek beruntung untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_beruntung",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-mager": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Mager",
        "description": "Cek mager untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_mager",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-gabut": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Gabut",
        "description": "Cek gabut untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_gabut",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-halu": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Halu",
        "description": "Cek halu untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_halu",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-julid": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Julid",
        "description": "Cek julid untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_julid",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-bucin": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Bucin",
        "description": "Cek bucin untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_bucin",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-ngantuk": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Ngantuk",
        "description": "Cek ngantuk untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_ngantuk",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-panik": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Panik",
        "description": "Cek panik untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_panik",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-drama": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Drama",
        "description": "Cek drama untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_drama",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-toxic": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Toxic",
        "description": "Cek toxic untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_toxic",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-receh": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Receh",
        "description": "Cek receh untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_receh",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-wibu": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Wibu",
        "description": "Cek wibu untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_wibu",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-gamers": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Gamers",
        "description": "Cek gamers untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_gamers",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-ambis": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Ambis",
        "description": "Cek ambis untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_ambis",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-pelupa": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Pelupa",
        "description": "Cek pelupa untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_pelupa",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-boros": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Boros",
        "description": "Cek boros untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_boros",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-hemat": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Hemat",
        "description": "Cek hemat untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_hemat",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-setia": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Setia",
        "description": "Cek setia untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_setia",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-sabar": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Sabar",
        "description": "Cek sabar untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_sabar",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-barbar": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Barbar",
        "description": "Cek barbar untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_barbar",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-cuek": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Cuek",
        "description": "Cek cuek untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_cuek",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-romantis": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Romantis",
        "description": "Cek romantis untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_romantis",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-humoris": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Humoris",
        "description": "Cek humoris untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_humoris",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-cringe": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Cringe",
        "description": "Cek cringe untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_cringe",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-random": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Random",
        "description": "Cek random untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_random",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-overthinking": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Overthinking",
        "description": "Cek overthinking untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_overthinking",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-rebahan": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Rebahan",
        "description": "Cek rebahan untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_rebahan",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-ngaret": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Ngaret",
        "description": "Cek ngaret untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_ngaret",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-rajin": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Rajin",
        "description": "Cek rajin untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_rajin",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-malas": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Malas",
        "description": "Cek malas untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_malas",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-pd": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Percaya Diri",
        "description": "Cek percaya diri untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_pd",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-nekat": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Nekat",
        "description": "Cek nekat untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_nekat",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-misterius": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Misterius",
        "description": "Cek misterius untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_misterius",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-greget": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Greget",
        "description": "Cek greget untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_greget",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-kepo": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Kepo",
        "description": "Cek kepo untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_kepo",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-santuy": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Santuy",
        "description": "Cek santuy untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_santuy",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-soktau": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Sok Tahu",
        "description": "Cek sok tahu untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_soktau",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-caper": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Caper",
        "description": "Cek caper untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_caper",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-sombong": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Sombong",
        "description": "Cek sombong untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_sombong",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-laper": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Laper",
        "description": "Cek laper untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_laper",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-badut": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Badut",
        "description": "Cek badut untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_badut",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-ngadi-ngadi": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Ngadi-ngadi",
        "description": "Cek ngadi-ngadi untuk hiburan. Hasil default stabil per target per hari; gunakan random=true untuk hasil acak.",
        "operationId": "get_fun_cek_ngadi_ngadi",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/cek-khodam": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Cek Khodam",
        "description": "Cek khodam untuk hiburan. Hasil default stabil per target per hari.",
        "operationId": "get_fun_cek_khodam",
        "parameters": [
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "random",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "false"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/fun/list": {
      "get": {
        "tags": [
          "Fun"
        ],
        "summary": "Fun List",
        "description": "Menampilkan daftar endpoint Fun yang tersedia.",
        "operationId": "get_fun_list",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/canvas/faketfdana": {
      "get": {
        "tags": [
          "Canvas"
        ],
        "summary": "Fake Transfer DANA",
        "description": "Menambahkan nominal, target, serta tanggal dan waktu pada template media.",
        "operationId": "get_canvas_faketfdana",
        "parameters": [
          {
            "name": "nominal",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "5000"
            }
          },
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "08123455678"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/tiktok": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "TikTok Stalker",
        "description": "Mengambil profil publik dan statistik akun TikTok.",
        "operationId": "get_stalker_tiktok",
        "parameters": [
          {
            "name": "username",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "tiktok"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalk/instagram": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "Instagram Stalker",
        "description": "Mengambil profil publik dan statistik akun Instagram.",
        "operationId": "get_stalk_instagram",
        "parameters": [
          {
            "name": "username",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "instagram"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/asupan/random": {
      "get": {
        "tags": [
          "Asupan"
        ],
        "summary": "Asupan Random",
        "description": "Mengambil satu video asupan secara acak dari seluruh koleksi lokal Vier API.",
        "operationId": "get_asupan_random",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/asupan/categories": {
      "get": {
        "tags": [
          "Asupan"
        ],
        "summary": "Asupan Categories",
        "description": "Menampilkan kategori asupan yang tersedia beserta jumlah koleksi.",
        "operationId": "get_asupan_categories",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/asupan/kayes": {
      "get": {
        "tags": [
          "Asupan"
        ],
        "summary": "Asupan Kayes",
        "description": "Mengambil satu video Kayes secara acak dari koleksi lokal.",
        "operationId": "get_asupan_kayes",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/asupan/notnot": {
      "get": {
        "tags": [
          "Asupan"
        ],
        "summary": "Asupan NotNot",
        "description": "Mengambil satu video NotNot secara acak dari koleksi lokal.",
        "operationId": "get_asupan_notnot",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/asupan/ukhty": {
      "get": {
        "tags": [
          "Asupan"
        ],
        "summary": "Asupan Ukhty",
        "description": "Mengambil satu video Ukhty secara acak dari koleksi lokal.",
        "operationId": "get_asupan_ukhty",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/asupan/ghea": {
      "get": {
        "tags": [
          "Asupan"
        ],
        "summary": "Asupan Ghea",
        "description": "Mengambil satu video Ghea Youbi secara acak dari koleksi lokal.",
        "operationId": "get_asupan_ghea",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/asupan/panrika": {
      "get": {
        "tags": [
          "Asupan"
        ],
        "summary": "Asupan Panrika",
        "description": "Mengambil satu video Panrika secara acak dari koleksi lokal.",
        "operationId": "get_asupan_panrika",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/asupan/santuy": {
      "get": {
        "tags": [
          "Asupan"
        ],
        "summary": "Asupan Santuy",
        "description": "Mengambil satu video Santuy secara acak dari koleksi lokal.",
        "operationId": "get_asupan_santuy",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/asupan/girl": {
      "get": {
        "tags": [
          "Asupan"
        ],
        "summary": "Asupan Girl",
        "description": "Mengambil satu video TikTok Girl secara acak dari koleksi lokal.",
        "operationId": "get_asupan_girl",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/asupan/bocil": {
      "get": {
        "tags": [
          "Asupan"
        ],
        "summary": "Asupan Bocil",
        "description": "Mengambil satu video non-NSFW kategori Bocil secara acak dari koleksi lokal.",
        "operationId": "get_asupan_bocil",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/gateway/qris/create": {
      "post": {
        "tags": [
          "Payment Gateway"
        ],
        "summary": "Vier Gateway QRIS Create",
        "description": "Membuat transaksi QRIS Vier Gateway. Biaya layanan: Rp300 + 1,0% per transaksi, ditambah biaya channel QRIS upstream pada total pembayaran. Merchant dikreditkan sebesar nominal amount.",
        "operationId": "post_gateway_qris_create",
        "parameters": [
          {
            "name": "reference",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "ORDER-001"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "15000"
            }
          },
          {
            "name": "customer_name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Javier"
            }
          },
          {
            "name": "customer_email",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "customer@example.com"
            }
          },
          {
            "name": "customer_phone",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "081234567890"
            }
          },
          {
            "name": "callback_url",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "https://merchant.example.com/webhook"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/gateway/qris/status": {
      "get": {
        "tags": [
          "Payment Gateway"
        ],
        "summary": "Vier Gateway QRIS Status",
        "description": "Mengecek status transaksi QRIS milik merchant.",
        "operationId": "get_gateway_qris_status",
        "parameters": [
          {
            "name": "reference",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "ORDER-001"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/gateway/balance": {
      "get": {
        "tags": [
          "Payment Gateway"
        ],
        "summary": "Vier Gateway Balance",
        "description": "Melihat saldo tersedia dan saldo tertahan merchant Vier Gateway.",
        "operationId": "get_gateway_balance",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/gateway/qris/cancel": {
      "post": {
        "tags": [
          "Payment Gateway"
        ],
        "summary": "Vier Gateway QRIS Cancel",
        "description": "Membatalkan transaksi QRIS Vier Gateway yang masih pending. QRIS aktif 30 menit; transaksi success/expired tidak dapat dibatalkan.",
        "operationId": "post_gateway_qris_cancel",
        "parameters": [
          {
            "name": "reference",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "ORDER-001"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/shop/products": {
      "get": {
        "tags": [
          "Shop"
        ],
        "summary": "Vier Shop Products",
        "description": "Menampilkan produk Vier Shop yang telah dikurasi dan diaktifkan admin. Katalog provider internal tidak diekspos.",
        "operationId": "get_shop_products",
        "parameters": [
          {
            "name": "category",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "instagram"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/shop/products/:id": {
      "get": {
        "tags": [
          "Shop"
        ],
        "summary": "Vier Shop Product Detail",
        "description": "Detail produk Vier Shop berdasarkan ID/slug publik.",
        "operationId": "get_shop_products_id",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "instagram-followers-premium"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/shop/order": {
      "post": {
        "tags": [
          "Shop"
        ],
        "summary": "Vier Shop Order",
        "description": "Membuat pesanan produk Vier Shop dan pembayaran QRIS.",
        "operationId": "post_shop_order",
        "parameters": [
          {
            "name": "product_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "instagram-followers-premium"
            }
          },
          {
            "name": "target",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://instagram.com/username"
            }
          },
          {
            "name": "quantity",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "1000"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/shop/order/status": {
      "get": {
        "tags": [
          "Shop"
        ],
        "summary": "Vier Shop Order Status",
        "description": "Cek pembayaran dan progres pesanan Vier Shop.",
        "operationId": "get_shop_order_status",
        "parameters": [
          {
            "name": "order_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "VSHOP-..."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/shop/order/refill": {
      "post": {
        "tags": [
          "Shop"
        ],
        "summary": "Vier Shop Refill",
        "description": "Ajukan refill untuk produk Vier Shop yang mendukung refill.",
        "operationId": "post_shop_order_refill",
        "parameters": [
          {
            "name": "order_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "VSHOP-..."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/shop/order/cancel": {
      "post": {
        "tags": [
          "Shop"
        ],
        "summary": "Vier Shop Cancel",
        "description": "Batalkan pembayaran pending atau ajukan cancel ke provider jika produk mendukungnya.",
        "operationId": "post_shop_order_cancel",
        "parameters": [
          {
            "name": "order_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "VSHOP-..."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/ai/asynt": {
      "get": {
        "tags": [
          "AI"
        ],
        "summary": "Asynt AI",
        "description": "Chat AI melalui Vier API.",
        "operationId": "get_ai_asynt",
        "parameters": [
          {
            "name": "message",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Halo"
            }
          },
          {
            "name": "session_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": ""
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/search/tokoh-quotes": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Tokoh Quotes",
        "description": "Mengambil kutipan tokoh secara acak.",
        "operationId": "get_search_tokoh_quotes",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/topixel": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "To Pixel",
        "description": "Mengubah gambar menjadi efek pixel art.",
        "operationId": "get_tools_topixel",
        "parameters": [
          {
            "name": "image",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://example.com/image.jpg"
            }
          },
          {
            "name": "level",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "20"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/search/lyrics": {
      "get": {
        "tags": [
          "Search"
        ],
        "summary": "Lyrics Search",
        "description": "Mencari satu lagu paling relevan berdasarkan judul atau artis dan menampilkan metadata serta preview lirik singkat.",
        "operationId": "get_search_lyrics",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Hindia Secukupnya"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/qr-generate": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "QR Generator",
        "description": "Membuat QR code PNG dari teks atau URL.",
        "operationId": "get_tools_qr_generate",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://api.viertechsolutions.com"
            }
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "512"
            }
          },
          {
            "name": "output",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/qr-reader": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "QR Reader",
        "description": "Membaca isi QR code dari URL gambar atau upload multipart.",
        "operationId": "get_tools_qr_reader",
        "parameters": [
          {
            "name": "image",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://example.com/qr.png"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/image-compress": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "Image Compress",
        "description": "Mengompres gambar lokal menggunakan Sharp dengan output WebP, JPEG, atau PNG.",
        "operationId": "get_tools_image_compress",
        "parameters": [
          {
            "name": "image",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://example.com/photo.jpg"
            }
          },
          {
            "name": "quality",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "75"
            }
          },
          {
            "name": "format",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "webp"
            }
          },
          {
            "name": "output",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/face-blackout": {
      "get/post": {
        "tags": [
          "Tools"
        ],
        "summary": "Face Blackout",
        "description": "Deteksi wajah otomatis lalu mengubah warna kulit wajah menjadi gelap/hitam sambil mempertahankan detail wajah; tersedia juga blur dan pixelate. Mendukung URL dan upload multipart.",
        "operationId": "get/post_tools_face_blackout",
        "parameters": [
          {
            "name": "image",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://example.com/photo.jpg"
            }
          },
          {
            "name": "mode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "black"
            }
          },
          {
            "name": "padding",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "0.08"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/premium-generator": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "Premium Generator",
        "description": "Generate data premium simulasi untuk kebutuhan testing Vier API.",
        "operationId": "get_tools_premium_generator",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/token-generator": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "Token Generator",
        "description": "Generate token simulasi untuk kebutuhan testing Vier API.",
        "operationId": "get_tools_token_generator",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "1"
            }
          },
          {
            "name": "plan",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "premium"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/am-premium": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "AM Premium Simulator",
        "description": "Generate data premium simulasi Vier API.",
        "operationId": "get_tools_am_premium",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/nftoken": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "NFToken Simulator",
        "description": "Generate token simulasi Vier API.",
        "operationId": "get_tools_nftoken",
        "parameters": [
          {
            "name": "count",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "3"
            }
          },
          {
            "name": "plan",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "premium"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/tempmail/generate": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "Temp Mail Generate",
        "description": "Buat alamat email sementara.",
        "operationId": "get_tools_tempmail_generate",
        "parameters": [
          {
            "name": "username",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "javier"
            }
          },
          {
            "name": "domain",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": ""
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/tempmail/domains": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "Temp Mail Domains",
        "description": "Lihat domain email sementara.",
        "operationId": "get_tools_tempmail_domains",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/tempmail/inbox": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "Temp Mail Inbox",
        "description": "Cek inbox email sementara.",
        "operationId": "get_tools_tempmail_inbox",
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "user@example.com"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/tempmail/message": {
      "get": {
        "tags": [
          "Tools"
        ],
        "summary": "Temp Mail Message",
        "description": "Baca pesan email sementara.",
        "operationId": "get_tools_tempmail_message",
        "parameters": [
          {
            "name": "email",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "user@example.com"
            }
          },
          {
            "name": "message_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "..."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/sticker/ttp": {
      "get": {
        "tags": [
          "Sticker"
        ],
        "summary": "TTP",
        "description": "Buat text-to-picture sticker.",
        "operationId": "get_sticker_ttp",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Vier API"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/sticker/attp": {
      "get": {
        "tags": [
          "Sticker"
        ],
        "summary": "ATTP",
        "description": "Buat animated text sticker WebP.",
        "operationId": "get_sticker_attp",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Vier API"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/sticker/memegen": {
      "get/post": {
        "tags": [
          "Sticker"
        ],
        "summary": "Meme Generator",
        "description": "Tambahkan teks atas dan bawah pada gambar.",
        "operationId": "get/post_sticker_memegen",
        "parameters": [
          {
            "name": "image",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://..."
            }
          },
          {
            "name": "top",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "TOP TEXT"
            }
          },
          {
            "name": "bottom",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "BOTTOM TEXT"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/webp2mp4": {
      "get/post": {
        "tags": [
          "Tools"
        ],
        "summary": "WebP to MP4",
        "description": "Konversi gambar atau animasi WebP menjadi MP4.",
        "operationId": "get/post_tools_webp2mp4",
        "parameters": [
          {
            "name": "image",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://..."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/tools/hd-video": {
      "post": {
        "tags": [
          "Tools"
        ],
        "summary": "HD Video",
        "description": "Enhance video MP4 ke resolusi 2K melalui AI Video Enhancer.",
        "operationId": "post_tools_hd_video",
        "parameters": [
          {
            "name": "video",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": ""
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/ai/gemini/chat": {
      "get/post": {
        "tags": [
          "AI"
        ],
        "summary": "Gemini Chat",
        "description": "Gemini Web chat dengan dukungan conversation melalui chatId.",
        "operationId": "get/post_ai_gemini_chat",
        "parameters": [
          {
            "name": "prompt",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Halo Gemini"
            }
          },
          {
            "name": "chatId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "[...]"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/ai/gemini/search": {
      "get/post": {
        "tags": [
          "AI"
        ],
        "summary": "Gemini Web Search",
        "description": "Gemini Web chat untuk prompt yang membutuhkan pencarian web. Dukungan search ditentukan oleh Gemini Web.",
        "operationId": "get/post_ai_gemini_search",
        "parameters": [
          {
            "name": "prompt",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Berita teknologi Indonesia hari ini"
            }
          },
          {
            "name": "chatId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "[...]"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/ai/gemini/image": {
      "get/post": {
        "tags": [
          "AI"
        ],
        "summary": "Gemini Image",
        "description": "Generate gambar melalui Gemini/Nano Banana. Gunakan output=file untuk respons gambar langsung.",
        "operationId": "get/post_ai_gemini_image",
        "parameters": [
          {
            "name": "prompt",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "cyberpunk car 4k"
            }
          },
          {
            "name": "output",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/ai/gemini/image-to-image": {
      "post": {
        "tags": [
          "AI"
        ],
        "summary": "Gemini Image to Image",
        "description": "Edit/generate gambar dari gambar sumber melalui Gemini. Multipart field: image.",
        "operationId": "post_ai_gemini_image_to_image",
        "parameters": [
          {
            "name": "image",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": ""
            }
          },
          {
            "name": "prompt",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "make it look cyberpunk"
            }
          },
          {
            "name": "output",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "json"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/ai/gemini/vision": {
      "post": {
        "tags": [
          "AI"
        ],
        "summary": "Gemini Vision",
        "description": "Analisis gambar dengan Gemini Vision. Multipart field: image.",
        "operationId": "post_ai_gemini_vision",
        "parameters": [
          {
            "name": "image",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": ""
            }
          },
          {
            "name": "prompt",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Apa yang ada di gambar ini?"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/ai/gemini/vision-file": {
      "post": {
        "tags": [
          "AI"
        ],
        "summary": "Gemini Vision File",
        "description": "Analisis file dengan Gemini. Multipart field: file.",
        "operationId": "post_ai_gemini_vision_file",
        "parameters": [
          {
            "name": "file",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": ""
            }
          },
          {
            "name": "prompt",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "Jelaskan isi file ini"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/stalker/youtube": {
      "get": {
        "tags": [
          "Stalker"
        ],
        "summary": "YouTube Stalker",
        "description": "Mengambil informasi channel YouTube publik tanpa YouTube API key.",
        "operationId": "get_stalker_youtube",
        "parameters": [
          {
            "name": "channel",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "@MrBeast"
            }
          },
          {
            "name": "url",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "https://www.youtube.com/@MrBeast"
            }
          },
          {
            "name": "handle",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "@MrBeast"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/sticker/uno-random": {
      "get": {
        "tags": [
          "Sticker"
        ],
        "summary": "UNO Sticker Random",
        "description": "Mengambil satu kartu UNO random dalam format JSON atau file WebP langsung.",
        "operationId": "get_sticker_uno_random",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "red-0.webp"
            }
          },
          {
            "name": "raw",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/sticker/uno-pack": {
      "get": {
        "tags": [
          "Sticker"
        ],
        "summary": "UNO Sticker Pack",
        "description": "Menampilkan seluruh kartu UNO dan menyediakan download pack ZIP.",
        "operationId": "get_sticker_uno_pack",
        "parameters": [
          {
            "name": "download",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "example": "1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/canvas/fakelobbyml": {
      "get": {
        "tags": [
          "Canvas"
        ],
        "summary": "Fake Lobby ML",
        "description": "Membuat Fake Lobby ML dari template PNG lokal. Avatar ditempel di belakang frame transparan dan nickname diganti dinamis.",
        "operationId": "get_canvas_fakelobbyml",
        "parameters": [
          {
            "name": "nickname",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "Nanaa Vanilla"
            }
          },
          {
            "name": "avatar",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "example": "https://i.pravatar.cc/300"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request berhasil.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "x-api-key",
        "description": "Vier API key wajib dikirim melalui header x-api-key. Query string credential ditolak."
      }
    },
    "schemas": {
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "const": false
          },
          "code": {
            "type": "integer"
          },
          "message": {
            "type": "string"
          },
          "request_id": {
            "type": "string"
          }
        },
        "required": [
          "status",
          "message"
        ]
      }
    },
    "responses": {
      "BadRequest": {
        "description": "Parameter request tidak valid.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            }
          }
        }
      },
      "Unauthorized": {
        "description": "API key tidak valid atau tidak tersedia.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            }
          }
        }
      },
      "Forbidden": {
        "description": "Request tidak diizinkan.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            }
          }
        }
      },
      "RateLimited": {
        "description": "Rate limit atau quota terlampaui.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            }
          }
        }
      },
      "InternalError": {
        "description": "Internal server error.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            }
          }
        }
      },
      "Unavailable": {
        "description": "Endpoint/provider sementara tidak tersedia.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorResponse"
            }
          }
        }
      }
    }
  }
}