{
  "openapi": "3.0.0",
  "paths": {
    "/admin/auth/login": {
      "post": {
        "operationId": "AdminAuth_login",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdminLoginDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Auth"
        ],
        "summary": "Login",
        "description": "`Admin Auth` · Login",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/auth/login \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"email\":\"user@example.com\",\"password\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/auth/login';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"email\":\"user@example.com\",\"password\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"email\":\"user@example.com\",\"password\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/auth/login', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/auth/login\"\n\npayload = {\n    \"email\": \"user@example.com\",\n    \"password\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/auth/login\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"email\\\":\\\"user@example.com\\\",\\\"password\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/auth/login\"\n\n\tpayload := strings.NewReader(\"{\\\"email\\\":\\\"user@example.com\\\",\\\"password\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/auth/login\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"email\\\":\\\"user@example.com\\\",\\\"password\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/auth/refresh": {
      "post": {
        "operationId": "AdminAuth_refresh",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdminRefreshDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Auth"
        ],
        "summary": "Refresh",
        "description": "`Admin Auth` · Refresh",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/auth/refresh \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"refreshToken\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/auth/refresh';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"refreshToken\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"refreshToken\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/auth/refresh', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/auth/refresh\"\n\npayload = {\"refreshToken\": \"string\"}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/auth/refresh\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"refreshToken\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/auth/refresh\"\n\n\tpayload := strings.NewReader(\"{\\\"refreshToken\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/auth/refresh\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"refreshToken\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/auth/profile": {
      "get": {
        "operationId": "AdminAuth_getProfile",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Auth"
        ],
        "summary": "Get Profile",
        "description": "`Admin Auth` · Get Profile",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/auth/profile \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/auth/profile';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/auth/profile', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/auth/profile\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/auth/profile\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/auth/profile\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/auth/profile\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "put": {
        "operationId": "AdminAuth_updateProfile",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProfileDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Auth"
        ],
        "summary": "Update Profile",
        "description": "`Admin Auth` · Update Profile",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/auth/profile \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"email\":\"user@example.com\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/auth/profile';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"email\":\"user@example.com\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"email\":\"user@example.com\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/auth/profile', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/auth/profile\"\n\npayload = {\n    \"name\": \"string\",\n    \"email\": \"user@example.com\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/auth/profile\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"email\\\":\\\"user@example.com\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/auth/profile\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"email\\\":\\\"user@example.com\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/auth/profile\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"email\\\":\\\"user@example.com\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/auth/change-password": {
      "post": {
        "operationId": "AdminAuth_changePassword",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Auth"
        ],
        "summary": "Change Password",
        "description": "`Admin Auth` · Change Password",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/auth/change-password \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"currentPassword\":\"string\",\"newPassword\":\"stringst\",\"confirmPassword\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/auth/change-password';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"currentPassword\":\"string\",\"newPassword\":\"stringst\",\"confirmPassword\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"currentPassword\":\"string\",\"newPassword\":\"stringst\",\"confirmPassword\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/auth/change-password', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/auth/change-password\"\n\npayload = {\n    \"currentPassword\": \"string\",\n    \"newPassword\": \"stringst\",\n    \"confirmPassword\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/auth/change-password\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"currentPassword\\\":\\\"string\\\",\\\"newPassword\\\":\\\"stringst\\\",\\\"confirmPassword\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/auth/change-password\"\n\n\tpayload := strings.NewReader(\"{\\\"currentPassword\\\":\\\"string\\\",\\\"newPassword\\\":\\\"stringst\\\",\\\"confirmPassword\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/auth/change-password\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"currentPassword\\\":\\\"string\\\",\\\"newPassword\\\":\\\"stringst\\\",\\\"confirmPassword\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/auth/forgot-password": {
      "post": {
        "operationId": "AdminAuth_forgotPassword",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ForgotPasswordDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Auth"
        ],
        "summary": "Forgot Password",
        "description": "`Admin Auth` · Forgot Password",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/auth/forgot-password \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"email\":\"user@example.com\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/auth/forgot-password';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"email\":\"user@example.com\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"email\":\"user@example.com\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/auth/forgot-password', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/auth/forgot-password\"\n\npayload = {\"email\": \"user@example.com\"}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/auth/forgot-password\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"email\\\":\\\"user@example.com\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/auth/forgot-password\"\n\n\tpayload := strings.NewReader(\"{\\\"email\\\":\\\"user@example.com\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/auth/forgot-password\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"email\\\":\\\"user@example.com\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/auth/verify-reset-token": {
      "get": {
        "operationId": "AdminAuth_verifyResetToken",
        "parameters": [
          {
            "name": "token",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Auth"
        ],
        "summary": "Verify Reset Token",
        "description": "`Admin Auth` · Verify Reset Token",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/auth/verify-reset-token?token=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/auth/verify-reset-token?token=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/auth/verify-reset-token?token=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/auth/verify-reset-token\"\n\nquerystring = {\"token\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/auth/verify-reset-token?token=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/auth/verify-reset-token?token=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/auth/verify-reset-token?token=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/auth/reset-password": {
      "post": {
        "operationId": "AdminAuth_resetPassword",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetPasswordDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Auth"
        ],
        "summary": "Reset Password",
        "description": "`Admin Auth` · Reset Password",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/auth/reset-password \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"token\":\"string\",\"newPassword\":\"stringst\",\"confirmPassword\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/auth/reset-password';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"token\":\"string\",\"newPassword\":\"stringst\",\"confirmPassword\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"token\":\"string\",\"newPassword\":\"stringst\",\"confirmPassword\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/auth/reset-password', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/auth/reset-password\"\n\npayload = {\n    \"token\": \"string\",\n    \"newPassword\": \"stringst\",\n    \"confirmPassword\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/auth/reset-password\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"token\\\":\\\"string\\\",\\\"newPassword\\\":\\\"stringst\\\",\\\"confirmPassword\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/auth/reset-password\"\n\n\tpayload := strings.NewReader(\"{\\\"token\\\":\\\"string\\\",\\\"newPassword\\\":\\\"stringst\\\",\\\"confirmPassword\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/auth/reset-password\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"token\\\":\\\"string\\\",\\\"newPassword\\\":\\\"stringst\\\",\\\"confirmPassword\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/products": {
      "post": {
        "operationId": "AdminProducts_create",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProductDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "POST /admin/products\nCreate a new product with all related info (variants, tags, categories, types)\n\nExample request body:\n{\n  \"name\": \"Spotify Premium\",\n  \"slug\": \"spotify-premium\",\n  \"product_type_id\": 1,\n  \"brand_id\": 5,\n  \"category_ids\": [2, 3],\n  \"tag_ids\": [1, 2],\n  \"payment_methods\": [\"bkash\", \"nagad\", \"card\"],\n  \"variants\": [\n    {\n      \"name\": \"1 Month\",\n      \"sku\": \"SPOTIFY-1M\",\n      \"original_price\": 199,\n      \"price\": 179\n    },\n    {\n      \"name\": \"3 Months\",\n      \"sku\": \"SPOTIFY-3M\",\n      \"original_price\": 499,\n      \"price\": 449\n    }\n  ]\n}\n\nFor Inhouse type products, redirect_url is required.",
        "tags": [
          "Products"
        ],
        "description": "`Admin Products` · POST /admin/products\nCreate a new product with all related info (variants, tags, categories, types)\n\nExample request body:\n{\n  \"name\": \"Spotify Premium\",\n  \"slug\": \"spotify-premium\",\n  \"product_type_id\": 1,\n  \"brand_id\": 5,\n  \"category_ids\": [2, 3],\n  \"tag_ids\": [1, 2],\n  \"payment_methods\": [\"bkash\", \"nagad\", \"card\"],\n  \"variants\": [\n    {\n      \"name\": \"1 Month\",\n      \"sku\": \"SPOTIFY-1M\",\n      \"original_price\": 199,\n      \"price\": 179\n    },\n    {\n      \"name\": \"3 Months\",\n      \"sku\": \"SPOTIFY-3M\",\n      \"original_price\": 499,\n      \"price\": 449\n    }\n  ]\n}\n\nFor Inhouse type products, redirect_url is required.",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/products \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"slug\":\"string\",\"short_description\":\"string\",\"description\":\"string\",\"product_type_id\":0,\"status\":\"string\",\"brand_id\":0,\"redirect_url\":\"string\",\"thumbnail\":\"string\",\"banner\":\"string\",\"instruction_image\":\"string\",\"instruction_video\":\"string\",\"instruction_steps\":[{}],\"delivery_method\":\"string\",\"validity_text\":\"string\",\"refund_policy\":\"string\",\"meta_title\":\"string\",\"meta_description\":\"string\",\"seo_og_image_url\":\"string\",\"featured\":true,\"trending\":true,\"support_config\":{},\"fulfillment_config\":{\"modality\":\"CODE\",\"mode\":\"string\",\"delivery_type\":\"instant\",\"average_delivery_seconds\":30,\"fields\":[{\"name\":\"player_uid\",\"label\":\"Player UID\",\"type\":\"text\",\"required\":true},{\"name\":\"zone_id\",\"label\":\"Zone ID\",\"type\":\"text\",\"required\":false}]},\"category_ids\":[0],\"tag_ids\":[0],\"payment_methods\":[\"string\"],\"payment_method_ids\":[0],\"variants\":[{\"partner_id\":5,\"partner_cost\":1100,\"partner_priority\":0,\"partner_external_offer_id\":\"off-basic-1m\",\"partner_sku\":\"string\",\"partner_currency\":\"USD\",\"partner_source_active\":true,\"partner_offer_type\":\"VOUCHER\",\"partner_price_type\":\"FIXED\",\"partner_send_value\":25,\"partner_send_currency\":\"USD\",\"partner_metadata\":{},\"name\":\"string\",\"sku\":\"string\",\"original_price\":0,\"price\":0,\"currency\":\"string\",\"discount_type\":\"string\",\"discount_value\":0,\"validity_days\":0,\"is_active\":true,\"track_inventory\":true,\"stock_cap\":0,\"low_stock_threshold\":0}]}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/products';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"short_description\":\"string\",\"description\":\"string\",\"product_type_id\":0,\"status\":\"string\",\"brand_id\":0,\"redirect_url\":\"string\",\"thumbnail\":\"string\",\"banner\":\"string\",\"instruction_image\":\"string\",\"instruction_video\":\"string\",\"instruction_steps\":[{}],\"delivery_method\":\"string\",\"validity_text\":\"string\",\"refund_policy\":\"string\",\"meta_title\":\"string\",\"meta_description\":\"string\",\"seo_og_image_url\":\"string\",\"featured\":true,\"trending\":true,\"support_config\":{},\"fulfillment_config\":{\"modality\":\"CODE\",\"mode\":\"string\",\"delivery_type\":\"instant\",\"average_delivery_seconds\":30,\"fields\":[{\"name\":\"player_uid\",\"label\":\"Player UID\",\"type\":\"text\",\"required\":true},{\"name\":\"zone_id\",\"label\":\"Zone ID\",\"type\":\"text\",\"required\":false}]},\"category_ids\":[0],\"tag_ids\":[0],\"payment_methods\":[\"string\"],\"payment_method_ids\":[0],\"variants\":[{\"partner_id\":5,\"partner_cost\":1100,\"partner_priority\":0,\"partner_external_offer_id\":\"off-basic-1m\",\"partner_sku\":\"string\",\"partner_currency\":\"USD\",\"partner_source_active\":true,\"partner_offer_type\":\"VOUCHER\",\"partner_price_type\":\"FIXED\",\"partner_send_value\":25,\"partner_send_currency\":\"USD\",\"partner_metadata\":{},\"name\":\"string\",\"sku\":\"string\",\"original_price\":0,\"price\":0,\"currency\":\"string\",\"discount_type\":\"string\",\"discount_value\":0,\"validity_days\":0,\"is_active\":true,\"track_inventory\":true,\"stock_cap\":0,\"low_stock_threshold\":0}]}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"short_description\":\"string\",\"description\":\"string\",\"product_type_id\":0,\"status\":\"string\",\"brand_id\":0,\"redirect_url\":\"string\",\"thumbnail\":\"string\",\"banner\":\"string\",\"instruction_image\":\"string\",\"instruction_video\":\"string\",\"instruction_steps\":[{}],\"delivery_method\":\"string\",\"validity_text\":\"string\",\"refund_policy\":\"string\",\"meta_title\":\"string\",\"meta_description\":\"string\",\"seo_og_image_url\":\"string\",\"featured\":true,\"trending\":true,\"support_config\":{},\"fulfillment_config\":{\"modality\":\"CODE\",\"mode\":\"string\",\"delivery_type\":\"instant\",\"average_delivery_seconds\":30,\"fields\":[{\"name\":\"player_uid\",\"label\":\"Player UID\",\"type\":\"text\",\"required\":true},{\"name\":\"zone_id\",\"label\":\"Zone ID\",\"type\":\"text\",\"required\":false}]},\"category_ids\":[0],\"tag_ids\":[0],\"payment_methods\":[\"string\"],\"payment_method_ids\":[0],\"variants\":[{\"partner_id\":5,\"partner_cost\":1100,\"partner_priority\":0,\"partner_external_offer_id\":\"off-basic-1m\",\"partner_sku\":\"string\",\"partner_currency\":\"USD\",\"partner_source_active\":true,\"partner_offer_type\":\"VOUCHER\",\"partner_price_type\":\"FIXED\",\"partner_send_value\":25,\"partner_send_currency\":\"USD\",\"partner_metadata\":{},\"name\":\"string\",\"sku\":\"string\",\"original_price\":0,\"price\":0,\"currency\":\"string\",\"discount_type\":\"string\",\"discount_value\":0,\"validity_days\":0,\"is_active\":true,\"track_inventory\":true,\"stock_cap\":0,\"low_stock_threshold\":0}]}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/products', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/products\"\n\npayload = {\n    \"name\": \"string\",\n    \"slug\": \"string\",\n    \"short_description\": \"string\",\n    \"description\": \"string\",\n    \"product_type_id\": 0,\n    \"status\": \"string\",\n    \"brand_id\": 0,\n    \"redirect_url\": \"string\",\n    \"thumbnail\": \"string\",\n    \"banner\": \"string\",\n    \"instruction_image\": \"string\",\n    \"instruction_video\": \"string\",\n    \"instruction_steps\": [{}],\n    \"delivery_method\": \"string\",\n    \"validity_text\": \"string\",\n    \"refund_policy\": \"string\",\n    \"meta_title\": \"string\",\n    \"meta_description\": \"string\",\n    \"seo_og_image_url\": \"string\",\n    \"featured\": True,\n    \"trending\": True,\n    \"support_config\": {},\n    \"fulfillment_config\": {\n        \"modality\": \"CODE\",\n        \"mode\": \"string\",\n        \"delivery_type\": \"instant\",\n        \"average_delivery_seconds\": 30,\n        \"fields\": [\n            {\n                \"name\": \"player_uid\",\n                \"label\": \"Player UID\",\n                \"type\": \"text\",\n                \"required\": True\n            },\n            {\n                \"name\": \"zone_id\",\n                \"label\": \"Zone ID\",\n                \"type\": \"text\",\n                \"required\": False\n            }\n        ]\n    },\n    \"category_ids\": [0],\n    \"tag_ids\": [0],\n    \"payment_methods\": [\"string\"],\n    \"payment_method_ids\": [0],\n    \"variants\": [\n        {\n            \"partner_id\": 5,\n            \"partner_cost\": 1100,\n            \"partner_priority\": 0,\n            \"partner_external_offer_id\": \"off-basic-1m\",\n            \"partner_sku\": \"string\",\n            \"partner_currency\": \"USD\",\n            \"partner_source_active\": True,\n            \"partner_offer_type\": \"VOUCHER\",\n            \"partner_price_type\": \"FIXED\",\n            \"partner_send_value\": 25,\n            \"partner_send_currency\": \"USD\",\n            \"partner_metadata\": {},\n            \"name\": \"string\",\n            \"sku\": \"string\",\n            \"original_price\": 0,\n            \"price\": 0,\n            \"currency\": \"string\",\n            \"discount_type\": \"string\",\n            \"discount_value\": 0,\n            \"validity_days\": 0,\n            \"is_active\": True,\n            \"track_inventory\": True,\n            \"stock_cap\": 0,\n            \"low_stock_threshold\": 0\n        }\n    ]\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/products\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"short_description\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"product_type_id\\\":0,\\\"status\\\":\\\"string\\\",\\\"brand_id\\\":0,\\\"redirect_url\\\":\\\"string\\\",\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"instruction_image\\\":\\\"string\\\",\\\"instruction_video\\\":\\\"string\\\",\\\"instruction_steps\\\":[{}],\\\"delivery_method\\\":\\\"string\\\",\\\"validity_text\\\":\\\"string\\\",\\\"refund_policy\\\":\\\"string\\\",\\\"meta_title\\\":\\\"string\\\",\\\"meta_description\\\":\\\"string\\\",\\\"seo_og_image_url\\\":\\\"string\\\",\\\"featured\\\":true,\\\"trending\\\":true,\\\"support_config\\\":{},\\\"fulfillment_config\\\":{\\\"modality\\\":\\\"CODE\\\",\\\"mode\\\":\\\"string\\\",\\\"delivery_type\\\":\\\"instant\\\",\\\"average_delivery_seconds\\\":30,\\\"fields\\\":[{\\\"name\\\":\\\"player_uid\\\",\\\"label\\\":\\\"Player UID\\\",\\\"type\\\":\\\"text\\\",\\\"required\\\":true},{\\\"name\\\":\\\"zone_id\\\",\\\"label\\\":\\\"Zone ID\\\",\\\"type\\\":\\\"text\\\",\\\"required\\\":false}]},\\\"category_ids\\\":[0],\\\"tag_ids\\\":[0],\\\"payment_methods\\\":[\\\"string\\\"],\\\"payment_method_ids\\\":[0],\\\"variants\\\":[{\\\"partner_id\\\":5,\\\"partner_cost\\\":1100,\\\"partner_priority\\\":0,\\\"partner_external_offer_id\\\":\\\"off-basic-1m\\\",\\\"partner_sku\\\":\\\"string\\\",\\\"partner_currency\\\":\\\"USD\\\",\\\"partner_source_active\\\":true,\\\"partner_offer_type\\\":\\\"VOUCHER\\\",\\\"partner_price_type\\\":\\\"FIXED\\\",\\\"partner_send_value\\\":25,\\\"partner_send_currency\\\":\\\"USD\\\",\\\"partner_metadata\\\":{},\\\"name\\\":\\\"string\\\",\\\"sku\\\":\\\"string\\\",\\\"original_price\\\":0,\\\"price\\\":0,\\\"currency\\\":\\\"string\\\",\\\"discount_type\\\":\\\"string\\\",\\\"discount_value\\\":0,\\\"validity_days\\\":0,\\\"is_active\\\":true,\\\"track_inventory\\\":true,\\\"stock_cap\\\":0,\\\"low_stock_threshold\\\":0}]}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/products\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"short_description\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"product_type_id\\\":0,\\\"status\\\":\\\"string\\\",\\\"brand_id\\\":0,\\\"redirect_url\\\":\\\"string\\\",\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"instruction_image\\\":\\\"string\\\",\\\"instruction_video\\\":\\\"string\\\",\\\"instruction_steps\\\":[{}],\\\"delivery_method\\\":\\\"string\\\",\\\"validity_text\\\":\\\"string\\\",\\\"refund_policy\\\":\\\"string\\\",\\\"meta_title\\\":\\\"string\\\",\\\"meta_description\\\":\\\"string\\\",\\\"seo_og_image_url\\\":\\\"string\\\",\\\"featured\\\":true,\\\"trending\\\":true,\\\"support_config\\\":{},\\\"fulfillment_config\\\":{\\\"modality\\\":\\\"CODE\\\",\\\"mode\\\":\\\"string\\\",\\\"delivery_type\\\":\\\"instant\\\",\\\"average_delivery_seconds\\\":30,\\\"fields\\\":[{\\\"name\\\":\\\"player_uid\\\",\\\"label\\\":\\\"Player UID\\\",\\\"type\\\":\\\"text\\\",\\\"required\\\":true},{\\\"name\\\":\\\"zone_id\\\",\\\"label\\\":\\\"Zone ID\\\",\\\"type\\\":\\\"text\\\",\\\"required\\\":false}]},\\\"category_ids\\\":[0],\\\"tag_ids\\\":[0],\\\"payment_methods\\\":[\\\"string\\\"],\\\"payment_method_ids\\\":[0],\\\"variants\\\":[{\\\"partner_id\\\":5,\\\"partner_cost\\\":1100,\\\"partner_priority\\\":0,\\\"partner_external_offer_id\\\":\\\"off-basic-1m\\\",\\\"partner_sku\\\":\\\"string\\\",\\\"partner_currency\\\":\\\"USD\\\",\\\"partner_source_active\\\":true,\\\"partner_offer_type\\\":\\\"VOUCHER\\\",\\\"partner_price_type\\\":\\\"FIXED\\\",\\\"partner_send_value\\\":25,\\\"partner_send_currency\\\":\\\"USD\\\",\\\"partner_metadata\\\":{},\\\"name\\\":\\\"string\\\",\\\"sku\\\":\\\"string\\\",\\\"original_price\\\":0,\\\"price\\\":0,\\\"currency\\\":\\\"string\\\",\\\"discount_type\\\":\\\"string\\\",\\\"discount_value\\\":0,\\\"validity_days\\\":0,\\\"is_active\\\":true,\\\"track_inventory\\\":true,\\\"stock_cap\\\":0,\\\"low_stock_threshold\\\":0}]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/products\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"short_description\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"product_type_id\\\":0,\\\"status\\\":\\\"string\\\",\\\"brand_id\\\":0,\\\"redirect_url\\\":\\\"string\\\",\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"instruction_image\\\":\\\"string\\\",\\\"instruction_video\\\":\\\"string\\\",\\\"instruction_steps\\\":[{}],\\\"delivery_method\\\":\\\"string\\\",\\\"validity_text\\\":\\\"string\\\",\\\"refund_policy\\\":\\\"string\\\",\\\"meta_title\\\":\\\"string\\\",\\\"meta_description\\\":\\\"string\\\",\\\"seo_og_image_url\\\":\\\"string\\\",\\\"featured\\\":true,\\\"trending\\\":true,\\\"support_config\\\":{},\\\"fulfillment_config\\\":{\\\"modality\\\":\\\"CODE\\\",\\\"mode\\\":\\\"string\\\",\\\"delivery_type\\\":\\\"instant\\\",\\\"average_delivery_seconds\\\":30,\\\"fields\\\":[{\\\"name\\\":\\\"player_uid\\\",\\\"label\\\":\\\"Player UID\\\",\\\"type\\\":\\\"text\\\",\\\"required\\\":true},{\\\"name\\\":\\\"zone_id\\\",\\\"label\\\":\\\"Zone ID\\\",\\\"type\\\":\\\"text\\\",\\\"required\\\":false}]},\\\"category_ids\\\":[0],\\\"tag_ids\\\":[0],\\\"payment_methods\\\":[\\\"string\\\"],\\\"payment_method_ids\\\":[0],\\\"variants\\\":[{\\\"partner_id\\\":5,\\\"partner_cost\\\":1100,\\\"partner_priority\\\":0,\\\"partner_external_offer_id\\\":\\\"off-basic-1m\\\",\\\"partner_sku\\\":\\\"string\\\",\\\"partner_currency\\\":\\\"USD\\\",\\\"partner_source_active\\\":true,\\\"partner_offer_type\\\":\\\"VOUCHER\\\",\\\"partner_price_type\\\":\\\"FIXED\\\",\\\"partner_send_value\\\":25,\\\"partner_send_currency\\\":\\\"USD\\\",\\\"partner_metadata\\\":{},\\\"name\\\":\\\"string\\\",\\\"sku\\\":\\\"string\\\",\\\"original_price\\\":0,\\\"price\\\":0,\\\"currency\\\":\\\"string\\\",\\\"discount_type\\\":\\\"string\\\",\\\"discount_value\\\":0,\\\"validity_days\\\":0,\\\"is_active\\\":true,\\\"track_inventory\\\":true,\\\"stock_cap\\\":0,\\\"low_stock_threshold\\\":0}]}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminProducts_list",
        "parameters": [
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "brand_id",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category_id",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_id",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tag_id",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "featured",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "trending",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "GET /admin/products?page=1&limit=20&search=spotify&status=active&brand_id=1&category_id=2&type_id=3&tag_id=4&sort=name&order=asc\nList products (admin view) with filters",
        "tags": [
          "Products"
        ],
        "description": "`Admin Products` · GET /admin/products?page=1&limit=20&search=spotify&status=active&brand_id=1&category_id=2&type_id=3&tag_id=4&sort=name&order=asc\nList products (admin view) with filters",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/products?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&brand_id=SOME_STRING_VALUE&category_id=SOME_STRING_VALUE&type_id=SOME_STRING_VALUE&tag_id=SOME_STRING_VALUE&featured=SOME_STRING_VALUE&trending=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&order=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/products?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&brand_id=SOME_STRING_VALUE&category_id=SOME_STRING_VALUE&type_id=SOME_STRING_VALUE&tag_id=SOME_STRING_VALUE&featured=SOME_STRING_VALUE&trending=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&order=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/products?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&brand_id=SOME_STRING_VALUE&category_id=SOME_STRING_VALUE&type_id=SOME_STRING_VALUE&tag_id=SOME_STRING_VALUE&featured=SOME_STRING_VALUE&trending=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&order=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/products\"\n\nquerystring = {\"page\":\"SOME_STRING_VALUE\",\"limit\":\"SOME_STRING_VALUE\",\"search\":\"SOME_STRING_VALUE\",\"status\":\"SOME_STRING_VALUE\",\"brand_id\":\"SOME_STRING_VALUE\",\"category_id\":\"SOME_STRING_VALUE\",\"type_id\":\"SOME_STRING_VALUE\",\"tag_id\":\"SOME_STRING_VALUE\",\"featured\":\"SOME_STRING_VALUE\",\"trending\":\"SOME_STRING_VALUE\",\"sort\":\"SOME_STRING_VALUE\",\"order\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/products?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&brand_id=SOME_STRING_VALUE&category_id=SOME_STRING_VALUE&type_id=SOME_STRING_VALUE&tag_id=SOME_STRING_VALUE&featured=SOME_STRING_VALUE&trending=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&order=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/products?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&brand_id=SOME_STRING_VALUE&category_id=SOME_STRING_VALUE&type_id=SOME_STRING_VALUE&tag_id=SOME_STRING_VALUE&featured=SOME_STRING_VALUE&trending=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&order=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/products?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&brand_id=SOME_STRING_VALUE&category_id=SOME_STRING_VALUE&type_id=SOME_STRING_VALUE&tag_id=SOME_STRING_VALUE&featured=SOME_STRING_VALUE&trending=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&order=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/products/{id}": {
      "put": {
        "operationId": "AdminProducts_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProductDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "PUT /admin/products/:id\nUpdate a product\n\nTo set/change redirect_url for Inhouse products:\n{ \"redirect_url\": \"https://new-partner-url.com/product/456\" }\n\nTo clear redirect_url (when switching away from Inhouse type):\n{ \"redirect_url\": null, \"product_type_id\": 1 }",
        "tags": [
          "Products"
        ],
        "description": "`Admin Products` · PUT /admin/products/:id\nUpdate a product\n\nTo set/change redirect_url for Inhouse products:\n{ \"redirect_url\": \"https://new-partner-url.com/product/456\" }\n\nTo clear redirect_url (when switching away from Inhouse type):\n{ \"redirect_url\": null, \"product_type_id\": 1 }",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/products/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"slug\":\"string\",\"short_description\":\"string\",\"description\":\"string\",\"product_type_id\":0,\"status\":\"string\",\"brand_id\":0,\"redirect_url\":\"string\",\"thumbnail\":\"string\",\"banner\":\"string\",\"instruction_image\":\"string\",\"instruction_video\":\"string\",\"instruction_steps\":[{}],\"delivery_method\":\"string\",\"validity_text\":\"string\",\"refund_policy\":\"string\",\"meta_title\":\"string\",\"meta_description\":\"string\",\"seo_og_image_url\":\"string\",\"featured\":true,\"trending\":true,\"support_config\":{},\"fulfillment_config\":{\"modality\":\"CODE\",\"mode\":\"string\",\"delivery_type\":\"instant\",\"average_delivery_seconds\":30,\"fields\":[{\"name\":\"player_uid\",\"label\":\"Player UID\",\"type\":\"text\",\"required\":true},{\"name\":\"zone_id\",\"label\":\"Zone ID\",\"type\":\"text\",\"required\":false}]},\"category_ids\":[0],\"tag_ids\":[0],\"payment_methods\":[\"string\"],\"payment_method_ids\":[0]}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/products/%7Bid%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"short_description\":\"string\",\"description\":\"string\",\"product_type_id\":0,\"status\":\"string\",\"brand_id\":0,\"redirect_url\":\"string\",\"thumbnail\":\"string\",\"banner\":\"string\",\"instruction_image\":\"string\",\"instruction_video\":\"string\",\"instruction_steps\":[{}],\"delivery_method\":\"string\",\"validity_text\":\"string\",\"refund_policy\":\"string\",\"meta_title\":\"string\",\"meta_description\":\"string\",\"seo_og_image_url\":\"string\",\"featured\":true,\"trending\":true,\"support_config\":{},\"fulfillment_config\":{\"modality\":\"CODE\",\"mode\":\"string\",\"delivery_type\":\"instant\",\"average_delivery_seconds\":30,\"fields\":[{\"name\":\"player_uid\",\"label\":\"Player UID\",\"type\":\"text\",\"required\":true},{\"name\":\"zone_id\",\"label\":\"Zone ID\",\"type\":\"text\",\"required\":false}]},\"category_ids\":[0],\"tag_ids\":[0],\"payment_methods\":[\"string\"],\"payment_method_ids\":[0]}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"short_description\":\"string\",\"description\":\"string\",\"product_type_id\":0,\"status\":\"string\",\"brand_id\":0,\"redirect_url\":\"string\",\"thumbnail\":\"string\",\"banner\":\"string\",\"instruction_image\":\"string\",\"instruction_video\":\"string\",\"instruction_steps\":[{}],\"delivery_method\":\"string\",\"validity_text\":\"string\",\"refund_policy\":\"string\",\"meta_title\":\"string\",\"meta_description\":\"string\",\"seo_og_image_url\":\"string\",\"featured\":true,\"trending\":true,\"support_config\":{},\"fulfillment_config\":{\"modality\":\"CODE\",\"mode\":\"string\",\"delivery_type\":\"instant\",\"average_delivery_seconds\":30,\"fields\":[{\"name\":\"player_uid\",\"label\":\"Player UID\",\"type\":\"text\",\"required\":true},{\"name\":\"zone_id\",\"label\":\"Zone ID\",\"type\":\"text\",\"required\":false}]},\"category_ids\":[0],\"tag_ids\":[0],\"payment_methods\":[\"string\"],\"payment_method_ids\":[0]}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/products/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/products/%7Bid%7D\"\n\npayload = {\n    \"name\": \"string\",\n    \"slug\": \"string\",\n    \"short_description\": \"string\",\n    \"description\": \"string\",\n    \"product_type_id\": 0,\n    \"status\": \"string\",\n    \"brand_id\": 0,\n    \"redirect_url\": \"string\",\n    \"thumbnail\": \"string\",\n    \"banner\": \"string\",\n    \"instruction_image\": \"string\",\n    \"instruction_video\": \"string\",\n    \"instruction_steps\": [{}],\n    \"delivery_method\": \"string\",\n    \"validity_text\": \"string\",\n    \"refund_policy\": \"string\",\n    \"meta_title\": \"string\",\n    \"meta_description\": \"string\",\n    \"seo_og_image_url\": \"string\",\n    \"featured\": True,\n    \"trending\": True,\n    \"support_config\": {},\n    \"fulfillment_config\": {\n        \"modality\": \"CODE\",\n        \"mode\": \"string\",\n        \"delivery_type\": \"instant\",\n        \"average_delivery_seconds\": 30,\n        \"fields\": [\n            {\n                \"name\": \"player_uid\",\n                \"label\": \"Player UID\",\n                \"type\": \"text\",\n                \"required\": True\n            },\n            {\n                \"name\": \"zone_id\",\n                \"label\": \"Zone ID\",\n                \"type\": \"text\",\n                \"required\": False\n            }\n        ]\n    },\n    \"category_ids\": [0],\n    \"tag_ids\": [0],\n    \"payment_methods\": [\"string\"],\n    \"payment_method_ids\": [0]\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/products/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"short_description\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"product_type_id\\\":0,\\\"status\\\":\\\"string\\\",\\\"brand_id\\\":0,\\\"redirect_url\\\":\\\"string\\\",\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"instruction_image\\\":\\\"string\\\",\\\"instruction_video\\\":\\\"string\\\",\\\"instruction_steps\\\":[{}],\\\"delivery_method\\\":\\\"string\\\",\\\"validity_text\\\":\\\"string\\\",\\\"refund_policy\\\":\\\"string\\\",\\\"meta_title\\\":\\\"string\\\",\\\"meta_description\\\":\\\"string\\\",\\\"seo_og_image_url\\\":\\\"string\\\",\\\"featured\\\":true,\\\"trending\\\":true,\\\"support_config\\\":{},\\\"fulfillment_config\\\":{\\\"modality\\\":\\\"CODE\\\",\\\"mode\\\":\\\"string\\\",\\\"delivery_type\\\":\\\"instant\\\",\\\"average_delivery_seconds\\\":30,\\\"fields\\\":[{\\\"name\\\":\\\"player_uid\\\",\\\"label\\\":\\\"Player UID\\\",\\\"type\\\":\\\"text\\\",\\\"required\\\":true},{\\\"name\\\":\\\"zone_id\\\",\\\"label\\\":\\\"Zone ID\\\",\\\"type\\\":\\\"text\\\",\\\"required\\\":false}]},\\\"category_ids\\\":[0],\\\"tag_ids\\\":[0],\\\"payment_methods\\\":[\\\"string\\\"],\\\"payment_method_ids\\\":[0]}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/products/%7Bid%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"short_description\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"product_type_id\\\":0,\\\"status\\\":\\\"string\\\",\\\"brand_id\\\":0,\\\"redirect_url\\\":\\\"string\\\",\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"instruction_image\\\":\\\"string\\\",\\\"instruction_video\\\":\\\"string\\\",\\\"instruction_steps\\\":[{}],\\\"delivery_method\\\":\\\"string\\\",\\\"validity_text\\\":\\\"string\\\",\\\"refund_policy\\\":\\\"string\\\",\\\"meta_title\\\":\\\"string\\\",\\\"meta_description\\\":\\\"string\\\",\\\"seo_og_image_url\\\":\\\"string\\\",\\\"featured\\\":true,\\\"trending\\\":true,\\\"support_config\\\":{},\\\"fulfillment_config\\\":{\\\"modality\\\":\\\"CODE\\\",\\\"mode\\\":\\\"string\\\",\\\"delivery_type\\\":\\\"instant\\\",\\\"average_delivery_seconds\\\":30,\\\"fields\\\":[{\\\"name\\\":\\\"player_uid\\\",\\\"label\\\":\\\"Player UID\\\",\\\"type\\\":\\\"text\\\",\\\"required\\\":true},{\\\"name\\\":\\\"zone_id\\\",\\\"label\\\":\\\"Zone ID\\\",\\\"type\\\":\\\"text\\\",\\\"required\\\":false}]},\\\"category_ids\\\":[0],\\\"tag_ids\\\":[0],\\\"payment_methods\\\":[\\\"string\\\"],\\\"payment_method_ids\\\":[0]}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/products/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"short_description\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"product_type_id\\\":0,\\\"status\\\":\\\"string\\\",\\\"brand_id\\\":0,\\\"redirect_url\\\":\\\"string\\\",\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"instruction_image\\\":\\\"string\\\",\\\"instruction_video\\\":\\\"string\\\",\\\"instruction_steps\\\":[{}],\\\"delivery_method\\\":\\\"string\\\",\\\"validity_text\\\":\\\"string\\\",\\\"refund_policy\\\":\\\"string\\\",\\\"meta_title\\\":\\\"string\\\",\\\"meta_description\\\":\\\"string\\\",\\\"seo_og_image_url\\\":\\\"string\\\",\\\"featured\\\":true,\\\"trending\\\":true,\\\"support_config\\\":{},\\\"fulfillment_config\\\":{\\\"modality\\\":\\\"CODE\\\",\\\"mode\\\":\\\"string\\\",\\\"delivery_type\\\":\\\"instant\\\",\\\"average_delivery_seconds\\\":30,\\\"fields\\\":[{\\\"name\\\":\\\"player_uid\\\",\\\"label\\\":\\\"Player UID\\\",\\\"type\\\":\\\"text\\\",\\\"required\\\":true},{\\\"name\\\":\\\"zone_id\\\",\\\"label\\\":\\\"Zone ID\\\",\\\"type\\\":\\\"text\\\",\\\"required\\\":false}]},\\\"category_ids\\\":[0],\\\"tag_ids\\\":[0],\\\"payment_methods\\\":[\\\"string\\\"],\\\"payment_method_ids\\\":[0]}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminProducts_getOne",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "GET /admin/products/:id\nGet product details (admin view — all fields including redirect_url)",
        "tags": [
          "Products"
        ],
        "description": "`Admin Products` · GET /admin/products/:id\nGet product details (admin view — all fields including redirect_url)",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/products/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/products/%7Bid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/products/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/products/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/products/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/products/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/products/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "description": "Hard-deletes the product row in a `$transaction` that also removes variants, pivot rows (categories/tags/payment-methods), wishlist entries, and any **available** vouchers. Returns **409** if there are order_items, or any reserved/sold vouchers, or any blocking reference that would lose audit history. To merely hide, `PUT /:id` with `status: \"inactive\"`.",
        "operationId": "AdminProducts_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "description": "Product not found"
          },
          "409": {
            "description": "Product has order_items or reserved/sold vouchers"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Permanently delete a product",
        "tags": [
          "Products"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/products/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/products/%7Bid%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/products/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/products/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/products/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/products/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/products/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/products/reorder": {
      "patch": {
        "description": "Atomic `$transaction` updating `sort_order` on up to 500 products. The customer-facing `/products` list defaults to `sort_order ASC, id ASC`, so this is how admins control ordering on storefront + homepage.",
        "operationId": "AdminProducts_reorder",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "{ updated: N }"
          },
          "400": {
            "description": "Duplicate ids in payload"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "description": "One or more ids not found"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Batch-reorder products",
        "tags": [
          "Products"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PATCH \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/products/reorder \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"items\":[{\"id\":42,\"sort_order\":3}]}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/products/reorder';\n\nlet options = {\n  method: 'PATCH',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"items\":[{\"id\":42,\"sort_order\":3}]}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PATCH',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"items\":[{\"id\":42,\"sort_order\":3}]}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/products/reorder', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/products/reorder\"\n\npayload = {\"items\": [\n        {\n            \"id\": 42,\n            \"sort_order\": 3\n        }\n    ]}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PATCH\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/products/reorder\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PATCH\",\n  CURLOPT_POSTFIELDS => \"{\\\"items\\\":[{\\\"id\\\":42,\\\"sort_order\\\":3}]}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/products/reorder\"\n\n\tpayload := strings.NewReader(\"{\\\"items\\\":[{\\\"id\\\":42,\\\"sort_order\\\":3}]}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/products/reorder\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Patch.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"items\\\":[{\\\"id\\\":42,\\\"sort_order\\\":3}]}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/products/{productId}/variants": {
      "get": {
        "operationId": "AdminProducts_listVariants",
        "parameters": [
          {
            "name": "productId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Products"
        ],
        "summary": "List Variants",
        "description": "`Admin Products` · List Variants",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "post": {
        "description": "Body may include optional `partner_id` (+ partner_cost / partner_priority / partner_external_offer_id / partner_sku / partner_currency / partner_source_active) to assign a partner source in the same request.",
        "operationId": "AdminProducts_createVariant",
        "parameters": [
          {
            "name": "productId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVariantDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Variant created (and partner source upserted if partner_id was supplied)"
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "description": "Product or partner_id not found"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Create a variant",
        "tags": [
          "Products"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"partner_id\":5,\"partner_cost\":1100,\"partner_priority\":0,\"partner_external_offer_id\":\"off-basic-1m\",\"partner_sku\":\"string\",\"partner_currency\":\"USD\",\"partner_source_active\":true,\"partner_offer_type\":\"VOUCHER\",\"partner_price_type\":\"FIXED\",\"partner_send_value\":25,\"partner_send_currency\":\"USD\",\"partner_metadata\":{},\"track_inventory\":true,\"stock_cap\":1000,\"low_stock_threshold\":5,\"name\":\"string\",\"sku\":\"string\",\"original_price\":0,\"price\":0,\"currency\":\"string\",\"discount_type\":\"string\",\"discount_value\":0,\"validity_days\":0,\"is_active\":true}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"partner_id\":5,\"partner_cost\":1100,\"partner_priority\":0,\"partner_external_offer_id\":\"off-basic-1m\",\"partner_sku\":\"string\",\"partner_currency\":\"USD\",\"partner_source_active\":true,\"partner_offer_type\":\"VOUCHER\",\"partner_price_type\":\"FIXED\",\"partner_send_value\":25,\"partner_send_currency\":\"USD\",\"partner_metadata\":{},\"track_inventory\":true,\"stock_cap\":1000,\"low_stock_threshold\":5,\"name\":\"string\",\"sku\":\"string\",\"original_price\":0,\"price\":0,\"currency\":\"string\",\"discount_type\":\"string\",\"discount_value\":0,\"validity_days\":0,\"is_active\":true}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"partner_id\":5,\"partner_cost\":1100,\"partner_priority\":0,\"partner_external_offer_id\":\"off-basic-1m\",\"partner_sku\":\"string\",\"partner_currency\":\"USD\",\"partner_source_active\":true,\"partner_offer_type\":\"VOUCHER\",\"partner_price_type\":\"FIXED\",\"partner_send_value\":25,\"partner_send_currency\":\"USD\",\"partner_metadata\":{},\"track_inventory\":true,\"stock_cap\":1000,\"low_stock_threshold\":5,\"name\":\"string\",\"sku\":\"string\",\"original_price\":0,\"price\":0,\"currency\":\"string\",\"discount_type\":\"string\",\"discount_value\":0,\"validity_days\":0,\"is_active\":true}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants\"\n\npayload = {\n    \"partner_id\": 5,\n    \"partner_cost\": 1100,\n    \"partner_priority\": 0,\n    \"partner_external_offer_id\": \"off-basic-1m\",\n    \"partner_sku\": \"string\",\n    \"partner_currency\": \"USD\",\n    \"partner_source_active\": True,\n    \"partner_offer_type\": \"VOUCHER\",\n    \"partner_price_type\": \"FIXED\",\n    \"partner_send_value\": 25,\n    \"partner_send_currency\": \"USD\",\n    \"partner_metadata\": {},\n    \"track_inventory\": True,\n    \"stock_cap\": 1000,\n    \"low_stock_threshold\": 5,\n    \"name\": \"string\",\n    \"sku\": \"string\",\n    \"original_price\": 0,\n    \"price\": 0,\n    \"currency\": \"string\",\n    \"discount_type\": \"string\",\n    \"discount_value\": 0,\n    \"validity_days\": 0,\n    \"is_active\": True\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"partner_id\\\":5,\\\"partner_cost\\\":1100,\\\"partner_priority\\\":0,\\\"partner_external_offer_id\\\":\\\"off-basic-1m\\\",\\\"partner_sku\\\":\\\"string\\\",\\\"partner_currency\\\":\\\"USD\\\",\\\"partner_source_active\\\":true,\\\"partner_offer_type\\\":\\\"VOUCHER\\\",\\\"partner_price_type\\\":\\\"FIXED\\\",\\\"partner_send_value\\\":25,\\\"partner_send_currency\\\":\\\"USD\\\",\\\"partner_metadata\\\":{},\\\"track_inventory\\\":true,\\\"stock_cap\\\":1000,\\\"low_stock_threshold\\\":5,\\\"name\\\":\\\"string\\\",\\\"sku\\\":\\\"string\\\",\\\"original_price\\\":0,\\\"price\\\":0,\\\"currency\\\":\\\"string\\\",\\\"discount_type\\\":\\\"string\\\",\\\"discount_value\\\":0,\\\"validity_days\\\":0,\\\"is_active\\\":true}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants\"\n\n\tpayload := strings.NewReader(\"{\\\"partner_id\\\":5,\\\"partner_cost\\\":1100,\\\"partner_priority\\\":0,\\\"partner_external_offer_id\\\":\\\"off-basic-1m\\\",\\\"partner_sku\\\":\\\"string\\\",\\\"partner_currency\\\":\\\"USD\\\",\\\"partner_source_active\\\":true,\\\"partner_offer_type\\\":\\\"VOUCHER\\\",\\\"partner_price_type\\\":\\\"FIXED\\\",\\\"partner_send_value\\\":25,\\\"partner_send_currency\\\":\\\"USD\\\",\\\"partner_metadata\\\":{},\\\"track_inventory\\\":true,\\\"stock_cap\\\":1000,\\\"low_stock_threshold\\\":5,\\\"name\\\":\\\"string\\\",\\\"sku\\\":\\\"string\\\",\\\"original_price\\\":0,\\\"price\\\":0,\\\"currency\\\":\\\"string\\\",\\\"discount_type\\\":\\\"string\\\",\\\"discount_value\\\":0,\\\"validity_days\\\":0,\\\"is_active\\\":true}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"partner_id\\\":5,\\\"partner_cost\\\":1100,\\\"partner_priority\\\":0,\\\"partner_external_offer_id\\\":\\\"off-basic-1m\\\",\\\"partner_sku\\\":\\\"string\\\",\\\"partner_currency\\\":\\\"USD\\\",\\\"partner_source_active\\\":true,\\\"partner_offer_type\\\":\\\"VOUCHER\\\",\\\"partner_price_type\\\":\\\"FIXED\\\",\\\"partner_send_value\\\":25,\\\"partner_send_currency\\\":\\\"USD\\\",\\\"partner_metadata\\\":{},\\\"track_inventory\\\":true,\\\"stock_cap\\\":1000,\\\"low_stock_threshold\\\":5,\\\"name\\\":\\\"string\\\",\\\"sku\\\":\\\"string\\\",\\\"original_price\\\":0,\\\"price\\\":0,\\\"currency\\\":\\\"string\\\",\\\"discount_type\\\":\\\"string\\\",\\\"discount_value\\\":0,\\\"validity_days\\\":0,\\\"is_active\\\":true}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/products/variants/{variantId}": {
      "get": {
        "operationId": "AdminProducts_getVariant",
        "parameters": [
          {
            "name": "variantId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "GET /admin/products/variants/:variantId\nGet single variant detail",
        "tags": [
          "Products"
        ],
        "description": "`Admin Products` · GET /admin/products/variants/:variantId\nGet single variant detail",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/products/variants/%7BvariantId%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/products/variants/%7BvariantId%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/products/variants/%7BvariantId%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/products/variants/%7BvariantId%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/products/variants/%7BvariantId%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/products/variants/%7BvariantId%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/products/variants/%7BvariantId%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "put": {
        "operationId": "AdminProducts_updateVariant",
        "parameters": [
          {
            "name": "variantId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateVariantDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "PUT /admin/products/variants/:variantId\nUpdate a variant",
        "tags": [
          "Products"
        ],
        "description": "`Admin Products` · PUT /admin/products/variants/:variantId\nUpdate a variant",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/products/variants/%7BvariantId%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"partner_id\":5,\"partner_cost\":1100,\"partner_priority\":0,\"partner_external_offer_id\":\"off-basic-1m\",\"partner_sku\":\"string\",\"partner_currency\":\"USD\",\"partner_source_active\":true,\"partner_offer_type\":\"VOUCHER\",\"partner_price_type\":\"FIXED\",\"partner_send_value\":25,\"partner_send_currency\":\"USD\",\"partner_metadata\":{},\"track_inventory\":true,\"stock_cap\":1000,\"low_stock_threshold\":5,\"name\":\"string\",\"sku\":\"string\",\"original_price\":0,\"price\":0,\"currency\":\"string\",\"discount_type\":\"string\",\"discount_value\":0,\"validity_days\":0,\"is_active\":true}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/products/variants/%7BvariantId%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"partner_id\":5,\"partner_cost\":1100,\"partner_priority\":0,\"partner_external_offer_id\":\"off-basic-1m\",\"partner_sku\":\"string\",\"partner_currency\":\"USD\",\"partner_source_active\":true,\"partner_offer_type\":\"VOUCHER\",\"partner_price_type\":\"FIXED\",\"partner_send_value\":25,\"partner_send_currency\":\"USD\",\"partner_metadata\":{},\"track_inventory\":true,\"stock_cap\":1000,\"low_stock_threshold\":5,\"name\":\"string\",\"sku\":\"string\",\"original_price\":0,\"price\":0,\"currency\":\"string\",\"discount_type\":\"string\",\"discount_value\":0,\"validity_days\":0,\"is_active\":true}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"partner_id\":5,\"partner_cost\":1100,\"partner_priority\":0,\"partner_external_offer_id\":\"off-basic-1m\",\"partner_sku\":\"string\",\"partner_currency\":\"USD\",\"partner_source_active\":true,\"partner_offer_type\":\"VOUCHER\",\"partner_price_type\":\"FIXED\",\"partner_send_value\":25,\"partner_send_currency\":\"USD\",\"partner_metadata\":{},\"track_inventory\":true,\"stock_cap\":1000,\"low_stock_threshold\":5,\"name\":\"string\",\"sku\":\"string\",\"original_price\":0,\"price\":0,\"currency\":\"string\",\"discount_type\":\"string\",\"discount_value\":0,\"validity_days\":0,\"is_active\":true}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/products/variants/%7BvariantId%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/products/variants/%7BvariantId%7D\"\n\npayload = {\n    \"partner_id\": 5,\n    \"partner_cost\": 1100,\n    \"partner_priority\": 0,\n    \"partner_external_offer_id\": \"off-basic-1m\",\n    \"partner_sku\": \"string\",\n    \"partner_currency\": \"USD\",\n    \"partner_source_active\": True,\n    \"partner_offer_type\": \"VOUCHER\",\n    \"partner_price_type\": \"FIXED\",\n    \"partner_send_value\": 25,\n    \"partner_send_currency\": \"USD\",\n    \"partner_metadata\": {},\n    \"track_inventory\": True,\n    \"stock_cap\": 1000,\n    \"low_stock_threshold\": 5,\n    \"name\": \"string\",\n    \"sku\": \"string\",\n    \"original_price\": 0,\n    \"price\": 0,\n    \"currency\": \"string\",\n    \"discount_type\": \"string\",\n    \"discount_value\": 0,\n    \"validity_days\": 0,\n    \"is_active\": True\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/products/variants/%7BvariantId%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"partner_id\\\":5,\\\"partner_cost\\\":1100,\\\"partner_priority\\\":0,\\\"partner_external_offer_id\\\":\\\"off-basic-1m\\\",\\\"partner_sku\\\":\\\"string\\\",\\\"partner_currency\\\":\\\"USD\\\",\\\"partner_source_active\\\":true,\\\"partner_offer_type\\\":\\\"VOUCHER\\\",\\\"partner_price_type\\\":\\\"FIXED\\\",\\\"partner_send_value\\\":25,\\\"partner_send_currency\\\":\\\"USD\\\",\\\"partner_metadata\\\":{},\\\"track_inventory\\\":true,\\\"stock_cap\\\":1000,\\\"low_stock_threshold\\\":5,\\\"name\\\":\\\"string\\\",\\\"sku\\\":\\\"string\\\",\\\"original_price\\\":0,\\\"price\\\":0,\\\"currency\\\":\\\"string\\\",\\\"discount_type\\\":\\\"string\\\",\\\"discount_value\\\":0,\\\"validity_days\\\":0,\\\"is_active\\\":true}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/products/variants/%7BvariantId%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"partner_id\\\":5,\\\"partner_cost\\\":1100,\\\"partner_priority\\\":0,\\\"partner_external_offer_id\\\":\\\"off-basic-1m\\\",\\\"partner_sku\\\":\\\"string\\\",\\\"partner_currency\\\":\\\"USD\\\",\\\"partner_source_active\\\":true,\\\"partner_offer_type\\\":\\\"VOUCHER\\\",\\\"partner_price_type\\\":\\\"FIXED\\\",\\\"partner_send_value\\\":25,\\\"partner_send_currency\\\":\\\"USD\\\",\\\"partner_metadata\\\":{},\\\"track_inventory\\\":true,\\\"stock_cap\\\":1000,\\\"low_stock_threshold\\\":5,\\\"name\\\":\\\"string\\\",\\\"sku\\\":\\\"string\\\",\\\"original_price\\\":0,\\\"price\\\":0,\\\"currency\\\":\\\"string\\\",\\\"discount_type\\\":\\\"string\\\",\\\"discount_value\\\":0,\\\"validity_days\\\":0,\\\"is_active\\\":true}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/products/variants/%7BvariantId%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"partner_id\\\":5,\\\"partner_cost\\\":1100,\\\"partner_priority\\\":0,\\\"partner_external_offer_id\\\":\\\"off-basic-1m\\\",\\\"partner_sku\\\":\\\"string\\\",\\\"partner_currency\\\":\\\"USD\\\",\\\"partner_source_active\\\":true,\\\"partner_offer_type\\\":\\\"VOUCHER\\\",\\\"partner_price_type\\\":\\\"FIXED\\\",\\\"partner_send_value\\\":25,\\\"partner_send_currency\\\":\\\"USD\\\",\\\"partner_metadata\\\":{},\\\"track_inventory\\\":true,\\\"stock_cap\\\":1000,\\\"low_stock_threshold\\\":5,\\\"name\\\":\\\"string\\\",\\\"sku\\\":\\\"string\\\",\\\"original_price\\\":0,\\\"price\\\":0,\\\"currency\\\":\\\"string\\\",\\\"discount_type\\\":\\\"string\\\",\\\"discount_value\\\":0,\\\"validity_days\\\":0,\\\"is_active\\\":true}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "description": "Hard-deletes the variant. Returns **409** if the variant has order_items or any reserved/sold vouchers. Set `is_active: false` via PUT to merely hide it.",
        "operationId": "AdminProducts_deleteVariant",
        "parameters": [
          {
            "name": "variantId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "description": "Variant not found"
          },
          "409": {
            "description": "Variant has order_items or reserved/sold vouchers"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Permanently delete a variant",
        "tags": [
          "Products"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/products/variants/%7BvariantId%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/products/variants/%7BvariantId%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/products/variants/%7BvariantId%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/products/variants/%7BvariantId%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/products/variants/%7BvariantId%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/products/variants/%7BvariantId%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/products/variants/%7BvariantId%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/products/{productId}/variants/bulk": {
      "post": {
        "operationId": "AdminProducts_createBulkVariants",
        "parameters": [
          {
            "name": "productId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkCreateVariantsDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "POST /admin/products/:productId/variants/bulk\nCreate multiple variants for a product at once\n\nExample request body:\n{\n  \"variants\": [\n    {\n      \"name\": \"1 Month\",\n      \"sku\": \"PROD-1M\",\n      \"original_price\": 199,\n      \"price\": 179\n    },\n    {\n      \"name\": \"3 Months\",\n      \"sku\": \"PROD-3M\",\n      \"original_price\": 499,\n      \"price\": 449\n    },\n    {\n      \"name\": \"12 Months\",\n      \"sku\": \"PROD-12M\",\n      \"original_price\": 1499,\n      \"price\": 1199,\n      \"discount_type\": \"percentage\",\n      \"discount_value\": 20\n    }\n  ]\n}",
        "tags": [
          "Products"
        ],
        "description": "`Admin Products` · POST /admin/products/:productId/variants/bulk\nCreate multiple variants for a product at once\n\nExample request body:\n{\n  \"variants\": [\n    {\n      \"name\": \"1 Month\",\n      \"sku\": \"PROD-1M\",\n      \"original_price\": 199,\n      \"price\": 179\n    },\n    {\n      \"name\": \"3 Months\",\n      \"sku\": \"PROD-3M\",\n      \"original_price\": 499,\n      \"price\": 449\n    },\n    {\n      \"name\": \"12 Months\",\n      \"sku\": \"PROD-12M\",\n      \"original_price\": 1499,\n      \"price\": 1199,\n      \"discount_type\": \"percentage\",\n      \"discount_value\": 20\n    }\n  ]\n}",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants/bulk \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"variants\":[{\"partner_id\":5,\"partner_cost\":1100,\"partner_priority\":0,\"partner_external_offer_id\":\"off-basic-1m\",\"partner_sku\":\"string\",\"partner_currency\":\"USD\",\"partner_source_active\":true,\"partner_offer_type\":\"VOUCHER\",\"partner_price_type\":\"FIXED\",\"partner_send_value\":25,\"partner_send_currency\":\"USD\",\"partner_metadata\":{},\"track_inventory\":true,\"stock_cap\":1000,\"low_stock_threshold\":5,\"name\":\"string\",\"sku\":\"string\",\"original_price\":0,\"price\":0,\"currency\":\"string\",\"discount_type\":\"string\",\"discount_value\":0,\"validity_days\":0,\"is_active\":true}]}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants/bulk';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"variants\":[{\"partner_id\":5,\"partner_cost\":1100,\"partner_priority\":0,\"partner_external_offer_id\":\"off-basic-1m\",\"partner_sku\":\"string\",\"partner_currency\":\"USD\",\"partner_source_active\":true,\"partner_offer_type\":\"VOUCHER\",\"partner_price_type\":\"FIXED\",\"partner_send_value\":25,\"partner_send_currency\":\"USD\",\"partner_metadata\":{},\"track_inventory\":true,\"stock_cap\":1000,\"low_stock_threshold\":5,\"name\":\"string\",\"sku\":\"string\",\"original_price\":0,\"price\":0,\"currency\":\"string\",\"discount_type\":\"string\",\"discount_value\":0,\"validity_days\":0,\"is_active\":true}]}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"variants\":[{\"partner_id\":5,\"partner_cost\":1100,\"partner_priority\":0,\"partner_external_offer_id\":\"off-basic-1m\",\"partner_sku\":\"string\",\"partner_currency\":\"USD\",\"partner_source_active\":true,\"partner_offer_type\":\"VOUCHER\",\"partner_price_type\":\"FIXED\",\"partner_send_value\":25,\"partner_send_currency\":\"USD\",\"partner_metadata\":{},\"track_inventory\":true,\"stock_cap\":1000,\"low_stock_threshold\":5,\"name\":\"string\",\"sku\":\"string\",\"original_price\":0,\"price\":0,\"currency\":\"string\",\"discount_type\":\"string\",\"discount_value\":0,\"validity_days\":0,\"is_active\":true}]}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants/bulk', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants/bulk\"\n\npayload = {\"variants\": [\n        {\n            \"partner_id\": 5,\n            \"partner_cost\": 1100,\n            \"partner_priority\": 0,\n            \"partner_external_offer_id\": \"off-basic-1m\",\n            \"partner_sku\": \"string\",\n            \"partner_currency\": \"USD\",\n            \"partner_source_active\": True,\n            \"partner_offer_type\": \"VOUCHER\",\n            \"partner_price_type\": \"FIXED\",\n            \"partner_send_value\": 25,\n            \"partner_send_currency\": \"USD\",\n            \"partner_metadata\": {},\n            \"track_inventory\": True,\n            \"stock_cap\": 1000,\n            \"low_stock_threshold\": 5,\n            \"name\": \"string\",\n            \"sku\": \"string\",\n            \"original_price\": 0,\n            \"price\": 0,\n            \"currency\": \"string\",\n            \"discount_type\": \"string\",\n            \"discount_value\": 0,\n            \"validity_days\": 0,\n            \"is_active\": True\n        }\n    ]}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants/bulk\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"variants\\\":[{\\\"partner_id\\\":5,\\\"partner_cost\\\":1100,\\\"partner_priority\\\":0,\\\"partner_external_offer_id\\\":\\\"off-basic-1m\\\",\\\"partner_sku\\\":\\\"string\\\",\\\"partner_currency\\\":\\\"USD\\\",\\\"partner_source_active\\\":true,\\\"partner_offer_type\\\":\\\"VOUCHER\\\",\\\"partner_price_type\\\":\\\"FIXED\\\",\\\"partner_send_value\\\":25,\\\"partner_send_currency\\\":\\\"USD\\\",\\\"partner_metadata\\\":{},\\\"track_inventory\\\":true,\\\"stock_cap\\\":1000,\\\"low_stock_threshold\\\":5,\\\"name\\\":\\\"string\\\",\\\"sku\\\":\\\"string\\\",\\\"original_price\\\":0,\\\"price\\\":0,\\\"currency\\\":\\\"string\\\",\\\"discount_type\\\":\\\"string\\\",\\\"discount_value\\\":0,\\\"validity_days\\\":0,\\\"is_active\\\":true}]}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants/bulk\"\n\n\tpayload := strings.NewReader(\"{\\\"variants\\\":[{\\\"partner_id\\\":5,\\\"partner_cost\\\":1100,\\\"partner_priority\\\":0,\\\"partner_external_offer_id\\\":\\\"off-basic-1m\\\",\\\"partner_sku\\\":\\\"string\\\",\\\"partner_currency\\\":\\\"USD\\\",\\\"partner_source_active\\\":true,\\\"partner_offer_type\\\":\\\"VOUCHER\\\",\\\"partner_price_type\\\":\\\"FIXED\\\",\\\"partner_send_value\\\":25,\\\"partner_send_currency\\\":\\\"USD\\\",\\\"partner_metadata\\\":{},\\\"track_inventory\\\":true,\\\"stock_cap\\\":1000,\\\"low_stock_threshold\\\":5,\\\"name\\\":\\\"string\\\",\\\"sku\\\":\\\"string\\\",\\\"original_price\\\":0,\\\"price\\\":0,\\\"currency\\\":\\\"string\\\",\\\"discount_type\\\":\\\"string\\\",\\\"discount_value\\\":0,\\\"validity_days\\\":0,\\\"is_active\\\":true}]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants/bulk\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"variants\\\":[{\\\"partner_id\\\":5,\\\"partner_cost\\\":1100,\\\"partner_priority\\\":0,\\\"partner_external_offer_id\\\":\\\"off-basic-1m\\\",\\\"partner_sku\\\":\\\"string\\\",\\\"partner_currency\\\":\\\"USD\\\",\\\"partner_source_active\\\":true,\\\"partner_offer_type\\\":\\\"VOUCHER\\\",\\\"partner_price_type\\\":\\\"FIXED\\\",\\\"partner_send_value\\\":25,\\\"partner_send_currency\\\":\\\"USD\\\",\\\"partner_metadata\\\":{},\\\"track_inventory\\\":true,\\\"stock_cap\\\":1000,\\\"low_stock_threshold\\\":5,\\\"name\\\":\\\"string\\\",\\\"sku\\\":\\\"string\\\",\\\"original_price\\\":0,\\\"price\\\":0,\\\"currency\\\":\\\"string\\\",\\\"discount_type\\\":\\\"string\\\",\\\"discount_value\\\":0,\\\"validity_days\\\":0,\\\"is_active\\\":true}]}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/products/{productId}/variants/reorder": {
      "patch": {
        "description": "Atomic `$transaction` updating `sort_order` on up to 500 variants belonging to the given product. The customer product-detail response orders variants by `sort_order ASC, id ASC`, so this is how admins control variant display order on the storefront.",
        "operationId": "AdminProducts_reorderVariants",
        "parameters": [
          {
            "name": "productId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "{ updated: N }"
          },
          "400": {
            "description": "Duplicate ids, or ids that do not belong to the product"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "description": "Product not found, or one or more variant ids not found"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Batch-reorder variants of a product",
        "tags": [
          "Products"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PATCH \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants/reorder \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"items\":[{\"id\":42,\"sort_order\":3}]}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants/reorder';\n\nlet options = {\n  method: 'PATCH',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"items\":[{\"id\":42,\"sort_order\":3}]}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PATCH',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"items\":[{\"id\":42,\"sort_order\":3}]}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants/reorder', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants/reorder\"\n\npayload = {\"items\": [\n        {\n            \"id\": 42,\n            \"sort_order\": 3\n        }\n    ]}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PATCH\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants/reorder\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PATCH\",\n  CURLOPT_POSTFIELDS => \"{\\\"items\\\":[{\\\"id\\\":42,\\\"sort_order\\\":3}]}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants/reorder\"\n\n\tpayload := strings.NewReader(\"{\\\"items\\\":[{\\\"id\\\":42,\\\"sort_order\\\":3}]}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/products/%7BproductId%7D/variants/reorder\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Patch.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"items\\\":[{\\\"id\\\":42,\\\"sort_order\\\":3}]}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/brands": {
      "post": {
        "description": "Creates a brand. Slug must be unique. `sort_order` defaults to 0 (appears first).",
        "operationId": "AdminBrands_create",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBrandDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Brand created"
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "409": {
            "description": "Slug already exists"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Create a brand",
        "tags": [
          "Brands"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/brands \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"slug\":\"string\",\"status\":true,\"image\":\"string\",\"thumbnail\":\"string\",\"banner\":\"string\",\"description\":\"string\",\"meta_title\":\"string\",\"meta_description\":\"string\",\"sort_order\":0}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/brands';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"status\":true,\"image\":\"string\",\"thumbnail\":\"string\",\"banner\":\"string\",\"description\":\"string\",\"meta_title\":\"string\",\"meta_description\":\"string\",\"sort_order\":0}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"status\":true,\"image\":\"string\",\"thumbnail\":\"string\",\"banner\":\"string\",\"description\":\"string\",\"meta_title\":\"string\",\"meta_description\":\"string\",\"sort_order\":0}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/brands', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/brands\"\n\npayload = {\n    \"name\": \"string\",\n    \"slug\": \"string\",\n    \"status\": True,\n    \"image\": \"string\",\n    \"thumbnail\": \"string\",\n    \"banner\": \"string\",\n    \"description\": \"string\",\n    \"meta_title\": \"string\",\n    \"meta_description\": \"string\",\n    \"sort_order\": 0\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/brands\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"status\\\":true,\\\"image\\\":\\\"string\\\",\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"meta_title\\\":\\\"string\\\",\\\"meta_description\\\":\\\"string\\\",\\\"sort_order\\\":0}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/brands\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"status\\\":true,\\\"image\\\":\\\"string\\\",\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"meta_title\\\":\\\"string\\\",\\\"meta_description\\\":\\\"string\\\",\\\"sort_order\\\":0}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/brands\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"status\\\":true,\\\"image\\\":\\\"string\\\",\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"meta_title\\\":\\\"string\\\",\\\"meta_description\\\":\\\"string\\\",\\\"sort_order\\\":0}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "description": "Results are returned in admin-curated `sort_order ASC, id ASC` order by default.",
        "operationId": "AdminBrands_list",
        "parameters": [
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "example": 1,
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "example": 50,
              "type": "number"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "description": "'true' | 'false' — filter by active flag",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "List brands (paginated)",
        "tags": [
          "Brands"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/brands?page=1&limit=50&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/brands?page=1&limit=50&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/brands?page=1&limit=50&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/brands\"\n\nquerystring = {\"page\":\"1\",\"limit\":\"50\",\"search\":\"SOME_STRING_VALUE\",\"status\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/brands?page=1&limit=50&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/brands?page=1&limit=50&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/brands?page=1&limit=50&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/brands/{id}": {
      "put": {
        "description": "Partial update. Send `status: false` to hide the brand (and its products) from the customer API without deleting it.",
        "operationId": "AdminBrands_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBrandDto"
              }
            }
          }
        },
        "responses": {
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "description": "Brand not found"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Update a brand",
        "tags": [
          "Brands"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/brands/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"slug\":\"string\",\"status\":true,\"image\":\"string\",\"thumbnail\":\"string\",\"banner\":\"string\",\"description\":\"string\",\"meta_title\":\"string\",\"meta_description\":\"string\",\"sort_order\":0}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/brands/%7Bid%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"status\":true,\"image\":\"string\",\"thumbnail\":\"string\",\"banner\":\"string\",\"description\":\"string\",\"meta_title\":\"string\",\"meta_description\":\"string\",\"sort_order\":0}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"status\":true,\"image\":\"string\",\"thumbnail\":\"string\",\"banner\":\"string\",\"description\":\"string\",\"meta_title\":\"string\",\"meta_description\":\"string\",\"sort_order\":0}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/brands/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/brands/%7Bid%7D\"\n\npayload = {\n    \"name\": \"string\",\n    \"slug\": \"string\",\n    \"status\": True,\n    \"image\": \"string\",\n    \"thumbnail\": \"string\",\n    \"banner\": \"string\",\n    \"description\": \"string\",\n    \"meta_title\": \"string\",\n    \"meta_description\": \"string\",\n    \"sort_order\": 0\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/brands/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"status\\\":true,\\\"image\\\":\\\"string\\\",\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"meta_title\\\":\\\"string\\\",\\\"meta_description\\\":\\\"string\\\",\\\"sort_order\\\":0}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/brands/%7Bid%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"status\\\":true,\\\"image\\\":\\\"string\\\",\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"meta_title\\\":\\\"string\\\",\\\"meta_description\\\":\\\"string\\\",\\\"sort_order\\\":0}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/brands/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"status\\\":true,\\\"image\\\":\\\"string\\\",\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"meta_title\\\":\\\"string\\\",\\\"meta_description\\\":\\\"string\\\",\\\"sort_order\\\":0}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminBrands_getOne",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "description": "Brand not found"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Get one brand by id",
        "tags": [
          "Brands"
        ],
        "description": "`Admin Brands` · Get one brand by id",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/brands/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/brands/%7Bid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/brands/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/brands/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/brands/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/brands/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/brands/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "description": "Hard-deletes the brand row. Returns **409 Conflict** if any product still references this brand — reassign those products or set `status: false` instead.",
        "operationId": "AdminBrands_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Brand deleted"
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "description": "Brand not found"
          },
          "409": {
            "description": "Brand has dependent products — cannot delete"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Permanently delete a brand",
        "tags": [
          "Brands"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/brands/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/brands/%7Bid%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/brands/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/brands/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/brands/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/brands/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/brands/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/brands/reorder": {
      "patch": {
        "description": "Atomically updates `sort_order` on up to 500 brands in one `$transaction`. Use after a drag-and-drop in the admin list.",
        "operationId": "AdminBrands_reorder",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "{ updated: N }"
          },
          "400": {
            "description": "Duplicate ids in payload"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "description": "One or more ids not found"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Batch-reorder brands",
        "tags": [
          "Brands"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PATCH \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/brands/reorder \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"items\":[{\"id\":42,\"sort_order\":3}]}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/brands/reorder';\n\nlet options = {\n  method: 'PATCH',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"items\":[{\"id\":42,\"sort_order\":3}]}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PATCH',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"items\":[{\"id\":42,\"sort_order\":3}]}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/brands/reorder', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/brands/reorder\"\n\npayload = {\"items\": [\n        {\n            \"id\": 42,\n            \"sort_order\": 3\n        }\n    ]}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PATCH\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/brands/reorder\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PATCH\",\n  CURLOPT_POSTFIELDS => \"{\\\"items\\\":[{\\\"id\\\":42,\\\"sort_order\\\":3}]}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/brands/reorder\"\n\n\tpayload := strings.NewReader(\"{\\\"items\\\":[{\\\"id\\\":42,\\\"sort_order\\\":3}]}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/brands/reorder\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Patch.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"items\\\":[{\\\"id\\\":42,\\\"sort_order\\\":3}]}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/categories": {
      "post": {
        "operationId": "AdminCategories_create",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCategoryDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Categories"
        ],
        "summary": "Create",
        "description": "`Admin Categories` · Create",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/categories \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"slug\":\"string\",\"parent_id\":0,\"status\":true,\"thumbnail\":\"string\",\"banner\":\"string\",\"description\":\"string\",\"icon\":\"string\",\"meta_title\":\"string\",\"meta_description\":\"string\",\"sort_order\":0}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/categories';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"parent_id\":0,\"status\":true,\"thumbnail\":\"string\",\"banner\":\"string\",\"description\":\"string\",\"icon\":\"string\",\"meta_title\":\"string\",\"meta_description\":\"string\",\"sort_order\":0}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"parent_id\":0,\"status\":true,\"thumbnail\":\"string\",\"banner\":\"string\",\"description\":\"string\",\"icon\":\"string\",\"meta_title\":\"string\",\"meta_description\":\"string\",\"sort_order\":0}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/categories', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/categories\"\n\npayload = {\n    \"name\": \"string\",\n    \"slug\": \"string\",\n    \"parent_id\": 0,\n    \"status\": True,\n    \"thumbnail\": \"string\",\n    \"banner\": \"string\",\n    \"description\": \"string\",\n    \"icon\": \"string\",\n    \"meta_title\": \"string\",\n    \"meta_description\": \"string\",\n    \"sort_order\": 0\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/categories\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"parent_id\\\":0,\\\"status\\\":true,\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"icon\\\":\\\"string\\\",\\\"meta_title\\\":\\\"string\\\",\\\"meta_description\\\":\\\"string\\\",\\\"sort_order\\\":0}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/categories\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"parent_id\\\":0,\\\"status\\\":true,\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"icon\\\":\\\"string\\\",\\\"meta_title\\\":\\\"string\\\",\\\"meta_description\\\":\\\"string\\\",\\\"sort_order\\\":0}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/categories\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"parent_id\\\":0,\\\"status\\\":true,\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"icon\\\":\\\"string\\\",\\\"meta_title\\\":\\\"string\\\",\\\"meta_description\\\":\\\"string\\\",\\\"sort_order\\\":0}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminCategories_list",
        "parameters": [
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "parent_id",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Categories"
        ],
        "summary": "List",
        "description": "`Admin Categories` · List",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/categories?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&parent_id=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/categories?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&parent_id=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/categories?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&parent_id=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/categories\"\n\nquerystring = {\"page\":\"SOME_STRING_VALUE\",\"limit\":\"SOME_STRING_VALUE\",\"search\":\"SOME_STRING_VALUE\",\"status\":\"SOME_STRING_VALUE\",\"parent_id\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/categories?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&parent_id=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/categories?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&parent_id=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/categories?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&parent_id=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/categories/{id}": {
      "put": {
        "operationId": "AdminCategories_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCategoryDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Categories"
        ],
        "summary": "Update",
        "description": "`Admin Categories` · Update",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/categories/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"slug\":\"string\",\"parent_id\":0,\"status\":true,\"thumbnail\":\"string\",\"banner\":\"string\",\"description\":\"string\",\"icon\":\"string\",\"meta_title\":\"string\",\"meta_description\":\"string\",\"sort_order\":0}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/categories/%7Bid%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"parent_id\":0,\"status\":true,\"thumbnail\":\"string\",\"banner\":\"string\",\"description\":\"string\",\"icon\":\"string\",\"meta_title\":\"string\",\"meta_description\":\"string\",\"sort_order\":0}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"parent_id\":0,\"status\":true,\"thumbnail\":\"string\",\"banner\":\"string\",\"description\":\"string\",\"icon\":\"string\",\"meta_title\":\"string\",\"meta_description\":\"string\",\"sort_order\":0}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/categories/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/categories/%7Bid%7D\"\n\npayload = {\n    \"name\": \"string\",\n    \"slug\": \"string\",\n    \"parent_id\": 0,\n    \"status\": True,\n    \"thumbnail\": \"string\",\n    \"banner\": \"string\",\n    \"description\": \"string\",\n    \"icon\": \"string\",\n    \"meta_title\": \"string\",\n    \"meta_description\": \"string\",\n    \"sort_order\": 0\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/categories/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"parent_id\\\":0,\\\"status\\\":true,\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"icon\\\":\\\"string\\\",\\\"meta_title\\\":\\\"string\\\",\\\"meta_description\\\":\\\"string\\\",\\\"sort_order\\\":0}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/categories/%7Bid%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"parent_id\\\":0,\\\"status\\\":true,\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"icon\\\":\\\"string\\\",\\\"meta_title\\\":\\\"string\\\",\\\"meta_description\\\":\\\"string\\\",\\\"sort_order\\\":0}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/categories/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"parent_id\\\":0,\\\"status\\\":true,\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"icon\\\":\\\"string\\\",\\\"meta_title\\\":\\\"string\\\",\\\"meta_description\\\":\\\"string\\\",\\\"sort_order\\\":0}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminCategories_getOne",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Categories"
        ],
        "summary": "Get One",
        "description": "`Admin Categories` · Get One",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/categories/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/categories/%7Bid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/categories/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/categories/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/categories/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/categories/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/categories/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "description": "Hard-deletes the row. **409** if any product still references this category — reparent or set `status: false` first.",
        "operationId": "AdminCategories_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "description": "Category not found"
          },
          "409": {
            "description": "Category has dependent products"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Permanently delete a category",
        "tags": [
          "Categories"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/categories/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/categories/%7Bid%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/categories/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/categories/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/categories/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/categories/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/categories/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/categories/reorder": {
      "patch": {
        "description": "Atomic $transaction over up to 500 `{id, sort_order}` items.",
        "operationId": "AdminCategories_reorder",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "{ updated: N }"
          },
          "400": {
            "description": "Duplicate ids in payload"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "description": "One or more ids not found"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Batch-reorder categories",
        "tags": [
          "Categories"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PATCH \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/categories/reorder \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"items\":[{\"id\":42,\"sort_order\":3}]}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/categories/reorder';\n\nlet options = {\n  method: 'PATCH',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"items\":[{\"id\":42,\"sort_order\":3}]}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PATCH',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"items\":[{\"id\":42,\"sort_order\":3}]}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/categories/reorder', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/categories/reorder\"\n\npayload = {\"items\": [\n        {\n            \"id\": 42,\n            \"sort_order\": 3\n        }\n    ]}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PATCH\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/categories/reorder\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PATCH\",\n  CURLOPT_POSTFIELDS => \"{\\\"items\\\":[{\\\"id\\\":42,\\\"sort_order\\\":3}]}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/categories/reorder\"\n\n\tpayload := strings.NewReader(\"{\\\"items\\\":[{\\\"id\\\":42,\\\"sort_order\\\":3}]}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/categories/reorder\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Patch.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"items\\\":[{\\\"id\\\":42,\\\"sort_order\\\":3}]}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/tags": {
      "post": {
        "operationId": "AdminTags_create",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTagDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Tags"
        ],
        "summary": "Create",
        "description": "`Admin Tags` · Create",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/tags \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"slug\":\"string\",\"status\":true,\"description\":\"string\",\"icon\":\"string\",\"sort_order\":0}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/tags';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"status\":true,\"description\":\"string\",\"icon\":\"string\",\"sort_order\":0}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"status\":true,\"description\":\"string\",\"icon\":\"string\",\"sort_order\":0}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/tags', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/tags\"\n\npayload = {\n    \"name\": \"string\",\n    \"slug\": \"string\",\n    \"status\": True,\n    \"description\": \"string\",\n    \"icon\": \"string\",\n    \"sort_order\": 0\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/tags\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"status\\\":true,\\\"description\\\":\\\"string\\\",\\\"icon\\\":\\\"string\\\",\\\"sort_order\\\":0}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/tags\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"status\\\":true,\\\"description\\\":\\\"string\\\",\\\"icon\\\":\\\"string\\\",\\\"sort_order\\\":0}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/tags\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"status\\\":true,\\\"description\\\":\\\"string\\\",\\\"icon\\\":\\\"string\\\",\\\"sort_order\\\":0}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminTags_list",
        "parameters": [
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Tags"
        ],
        "summary": "List",
        "description": "`Admin Tags` · List",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/tags?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/tags?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/tags?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/tags\"\n\nquerystring = {\"page\":\"SOME_STRING_VALUE\",\"limit\":\"SOME_STRING_VALUE\",\"search\":\"SOME_STRING_VALUE\",\"status\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/tags?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/tags?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/tags?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/tags/{id}": {
      "put": {
        "operationId": "AdminTags_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTagDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Tags"
        ],
        "summary": "Update",
        "description": "`Admin Tags` · Update",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/tags/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"slug\":\"string\",\"status\":true,\"description\":\"string\",\"icon\":\"string\",\"sort_order\":0}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/tags/%7Bid%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"status\":true,\"description\":\"string\",\"icon\":\"string\",\"sort_order\":0}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"status\":true,\"description\":\"string\",\"icon\":\"string\",\"sort_order\":0}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/tags/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/tags/%7Bid%7D\"\n\npayload = {\n    \"name\": \"string\",\n    \"slug\": \"string\",\n    \"status\": True,\n    \"description\": \"string\",\n    \"icon\": \"string\",\n    \"sort_order\": 0\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/tags/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"status\\\":true,\\\"description\\\":\\\"string\\\",\\\"icon\\\":\\\"string\\\",\\\"sort_order\\\":0}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/tags/%7Bid%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"status\\\":true,\\\"description\\\":\\\"string\\\",\\\"icon\\\":\\\"string\\\",\\\"sort_order\\\":0}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/tags/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"status\\\":true,\\\"description\\\":\\\"string\\\",\\\"icon\\\":\\\"string\\\",\\\"sort_order\\\":0}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminTags_getOne",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Tags"
        ],
        "summary": "Get One",
        "description": "`Admin Tags` · Get One",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/tags/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/tags/%7Bid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/tags/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/tags/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/tags/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/tags/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/tags/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "description": "Hard-deletes the tag; its `product_tags` join rows are removed in the same `$transaction` so there is no 409 path (tags are labels, not owners).",
        "operationId": "AdminTags_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "description": "Tag not found"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Permanently delete a tag",
        "tags": [
          "Tags"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/tags/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/tags/%7Bid%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/tags/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/tags/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/tags/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/tags/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/tags/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/tags/reorder": {
      "patch": {
        "operationId": "AdminTags_reorder",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "{ updated: N }"
          },
          "400": {
            "description": "Duplicate ids in payload"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "description": "One or more ids not found"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Batch-reorder tags",
        "tags": [
          "Tags"
        ],
        "description": "`Admin Tags` · Batch-reorder tags",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PATCH \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/tags/reorder \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"items\":[{\"id\":42,\"sort_order\":3}]}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/tags/reorder';\n\nlet options = {\n  method: 'PATCH',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"items\":[{\"id\":42,\"sort_order\":3}]}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PATCH',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"items\":[{\"id\":42,\"sort_order\":3}]}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/tags/reorder', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/tags/reorder\"\n\npayload = {\"items\": [\n        {\n            \"id\": 42,\n            \"sort_order\": 3\n        }\n    ]}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PATCH\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/tags/reorder\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PATCH\",\n  CURLOPT_POSTFIELDS => \"{\\\"items\\\":[{\\\"id\\\":42,\\\"sort_order\\\":3}]}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/tags/reorder\"\n\n\tpayload := strings.NewReader(\"{\\\"items\\\":[{\\\"id\\\":42,\\\"sort_order\\\":3}]}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/tags/reorder\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Patch.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"items\\\":[{\\\"id\\\":42,\\\"sort_order\\\":3}]}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/partners": {
      "post": {
        "operationId": "AdminPartners_create",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePartnerDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Partners"
        ],
        "summary": "Create",
        "description": "`Admin Partners` · Create",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/partners \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"code\":\"string\",\"fulfillment_type\":\"PRELOADED\",\"api_endpoint\":\"string\",\"api_key\":\"string\",\"api_secret\":\"string\",\"status\":true,\"thumbnail\":\"string\",\"banner\":\"string\",\"config\":{},\"webhook_url\":\"string\",\"default_priority\":0}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/partners';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"code\":\"string\",\"fulfillment_type\":\"PRELOADED\",\"api_endpoint\":\"string\",\"api_key\":\"string\",\"api_secret\":\"string\",\"status\":true,\"thumbnail\":\"string\",\"banner\":\"string\",\"config\":{},\"webhook_url\":\"string\",\"default_priority\":0}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"code\":\"string\",\"fulfillment_type\":\"PRELOADED\",\"api_endpoint\":\"string\",\"api_key\":\"string\",\"api_secret\":\"string\",\"status\":true,\"thumbnail\":\"string\",\"banner\":\"string\",\"config\":{},\"webhook_url\":\"string\",\"default_priority\":0}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/partners', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/partners\"\n\npayload = {\n    \"name\": \"string\",\n    \"code\": \"string\",\n    \"fulfillment_type\": \"PRELOADED\",\n    \"api_endpoint\": \"string\",\n    \"api_key\": \"string\",\n    \"api_secret\": \"string\",\n    \"status\": True,\n    \"thumbnail\": \"string\",\n    \"banner\": \"string\",\n    \"config\": {},\n    \"webhook_url\": \"string\",\n    \"default_priority\": 0\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/partners\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"code\\\":\\\"string\\\",\\\"fulfillment_type\\\":\\\"PRELOADED\\\",\\\"api_endpoint\\\":\\\"string\\\",\\\"api_key\\\":\\\"string\\\",\\\"api_secret\\\":\\\"string\\\",\\\"status\\\":true,\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"config\\\":{},\\\"webhook_url\\\":\\\"string\\\",\\\"default_priority\\\":0}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/partners\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"code\\\":\\\"string\\\",\\\"fulfillment_type\\\":\\\"PRELOADED\\\",\\\"api_endpoint\\\":\\\"string\\\",\\\"api_key\\\":\\\"string\\\",\\\"api_secret\\\":\\\"string\\\",\\\"status\\\":true,\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"config\\\":{},\\\"webhook_url\\\":\\\"string\\\",\\\"default_priority\\\":0}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/partners\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"code\\\":\\\"string\\\",\\\"fulfillment_type\\\":\\\"PRELOADED\\\",\\\"api_endpoint\\\":\\\"string\\\",\\\"api_key\\\":\\\"string\\\",\\\"api_secret\\\":\\\"string\\\",\\\"status\\\":true,\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"config\\\":{},\\\"webhook_url\\\":\\\"string\\\",\\\"default_priority\\\":0}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminPartners_list",
        "parameters": [
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Partners"
        ],
        "summary": "List",
        "description": "`Admin Partners` · List",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/partners?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/partners?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/partners?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/partners\"\n\nquerystring = {\"page\":\"SOME_STRING_VALUE\",\"limit\":\"SOME_STRING_VALUE\",\"search\":\"SOME_STRING_VALUE\",\"status\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/partners?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/partners?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/partners?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/partners/{id}": {
      "put": {
        "operationId": "AdminPartners_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartnerDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Partners"
        ],
        "summary": "Update",
        "description": "`Admin Partners` · Update",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/partners/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"code\":\"string\",\"fulfillment_type\":\"PRELOADED\",\"api_endpoint\":\"string\",\"api_key\":\"string\",\"api_secret\":\"string\",\"status\":true,\"thumbnail\":\"string\",\"banner\":\"string\",\"config\":{},\"webhook_url\":\"string\",\"default_priority\":0}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/partners/%7Bid%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"code\":\"string\",\"fulfillment_type\":\"PRELOADED\",\"api_endpoint\":\"string\",\"api_key\":\"string\",\"api_secret\":\"string\",\"status\":true,\"thumbnail\":\"string\",\"banner\":\"string\",\"config\":{},\"webhook_url\":\"string\",\"default_priority\":0}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"code\":\"string\",\"fulfillment_type\":\"PRELOADED\",\"api_endpoint\":\"string\",\"api_key\":\"string\",\"api_secret\":\"string\",\"status\":true,\"thumbnail\":\"string\",\"banner\":\"string\",\"config\":{},\"webhook_url\":\"string\",\"default_priority\":0}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/partners/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/partners/%7Bid%7D\"\n\npayload = {\n    \"name\": \"string\",\n    \"code\": \"string\",\n    \"fulfillment_type\": \"PRELOADED\",\n    \"api_endpoint\": \"string\",\n    \"api_key\": \"string\",\n    \"api_secret\": \"string\",\n    \"status\": True,\n    \"thumbnail\": \"string\",\n    \"banner\": \"string\",\n    \"config\": {},\n    \"webhook_url\": \"string\",\n    \"default_priority\": 0\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/partners/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"code\\\":\\\"string\\\",\\\"fulfillment_type\\\":\\\"PRELOADED\\\",\\\"api_endpoint\\\":\\\"string\\\",\\\"api_key\\\":\\\"string\\\",\\\"api_secret\\\":\\\"string\\\",\\\"status\\\":true,\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"config\\\":{},\\\"webhook_url\\\":\\\"string\\\",\\\"default_priority\\\":0}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/partners/%7Bid%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"code\\\":\\\"string\\\",\\\"fulfillment_type\\\":\\\"PRELOADED\\\",\\\"api_endpoint\\\":\\\"string\\\",\\\"api_key\\\":\\\"string\\\",\\\"api_secret\\\":\\\"string\\\",\\\"status\\\":true,\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"config\\\":{},\\\"webhook_url\\\":\\\"string\\\",\\\"default_priority\\\":0}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/partners/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"code\\\":\\\"string\\\",\\\"fulfillment_type\\\":\\\"PRELOADED\\\",\\\"api_endpoint\\\":\\\"string\\\",\\\"api_key\\\":\\\"string\\\",\\\"api_secret\\\":\\\"string\\\",\\\"status\\\":true,\\\"thumbnail\\\":\\\"string\\\",\\\"banner\\\":\\\"string\\\",\\\"config\\\":{},\\\"webhook_url\\\":\\\"string\\\",\\\"default_priority\\\":0}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminPartners_getOne",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Partners"
        ],
        "summary": "Get One",
        "description": "`Admin Partners` · Get One",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/partners/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/partners/%7Bid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/partners/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/partners/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/partners/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/partners/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/partners/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "operationId": "AdminPartners_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Partners"
        ],
        "summary": "Delete",
        "description": "`Admin Partners` · Delete",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/partners/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/partners/%7Bid%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/partners/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/partners/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/partners/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/partners/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/partners/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/orders": {
      "get": {
        "operationId": "AdminOrders_list",
        "parameters": [
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_id",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from_date",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to_date",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "GET /admin/orders\nList all orders with filters",
        "tags": [
          "Orders"
        ],
        "description": "`Admin Orders` · GET /admin/orders\nList all orders with filters",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/orders?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&status=SOME_STRING_VALUE&search=SOME_STRING_VALUE&user_id=SOME_STRING_VALUE&from_date=SOME_STRING_VALUE&to_date=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/orders?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&status=SOME_STRING_VALUE&search=SOME_STRING_VALUE&user_id=SOME_STRING_VALUE&from_date=SOME_STRING_VALUE&to_date=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/orders?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&status=SOME_STRING_VALUE&search=SOME_STRING_VALUE&user_id=SOME_STRING_VALUE&from_date=SOME_STRING_VALUE&to_date=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/orders\"\n\nquerystring = {\"page\":\"SOME_STRING_VALUE\",\"limit\":\"SOME_STRING_VALUE\",\"status\":\"SOME_STRING_VALUE\",\"search\":\"SOME_STRING_VALUE\",\"user_id\":\"SOME_STRING_VALUE\",\"from_date\":\"SOME_STRING_VALUE\",\"to_date\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/orders?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&status=SOME_STRING_VALUE&search=SOME_STRING_VALUE&user_id=SOME_STRING_VALUE&from_date=SOME_STRING_VALUE&to_date=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/orders?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&status=SOME_STRING_VALUE&search=SOME_STRING_VALUE&user_id=SOME_STRING_VALUE&from_date=SOME_STRING_VALUE&to_date=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/orders?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&status=SOME_STRING_VALUE&search=SOME_STRING_VALUE&user_id=SOME_STRING_VALUE&from_date=SOME_STRING_VALUE&to_date=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/orders/stats": {
      "get": {
        "operationId": "AdminOrders_getStats",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "GET /admin/orders/stats\nDashboard statistics",
        "tags": [
          "Orders"
        ],
        "description": "`Admin Orders` · GET /admin/orders/stats\nDashboard statistics",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/orders/stats \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/orders/stats';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/orders/stats', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/orders/stats\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/orders/stats\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/orders/stats\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/orders/stats\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/orders/{id}": {
      "get": {
        "operationId": "AdminOrders_getOne",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "GET /admin/orders/:id\nGet order details by ID or 8-digit order_number",
        "tags": [
          "Orders"
        ],
        "description": "`Admin Orders` · GET /admin/orders/:id\nGet order details by ID or 8-digit order_number",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/orders/{id}/status": {
      "patch": {
        "operationId": "AdminOrders_updateStatus",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOrderStatusDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "PATCH /admin/orders/:id/status\nUpdate order status",
        "tags": [
          "Orders"
        ],
        "description": "`Admin Orders` · PATCH /admin/orders/:id/status\nUpdate order status",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PATCH \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/status \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"status\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/status';\n\nlet options = {\n  method: 'PATCH',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"status\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PATCH',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"status\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/status', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/status\"\n\npayload = {\"status\": \"string\"}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PATCH\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/status\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PATCH\",\n  CURLOPT_POSTFIELDS => \"{\\\"status\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/status\"\n\n\tpayload := strings.NewReader(\"{\\\"status\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/status\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Patch.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"status\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/orders/{id}/fulfillment-attempts": {
      "get": {
        "operationId": "AdminOrders_listFulfillmentAttempts",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "List all admin-driven fulfillment attempts for this order",
        "tags": [
          "Orders"
        ],
        "description": "`Admin Orders` · List all admin-driven fulfillment attempts for this order",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment-attempts \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment-attempts';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment-attempts', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment-attempts\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment-attempts\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment-attempts\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment-attempts\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/orders/{id}/fulfillment/manual-code": {
      "post": {
        "operationId": "AdminOrders_manualCodeDispatch",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ManualCodeDispatchDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Admin manually enters a voucher code and delivers it to the customer (same pipeline as regular flow)",
        "tags": [
          "Orders"
        ],
        "description": "`Admin Orders` · Admin manually enters a voucher code and delivers it to the customer (same pipeline as regular flow)",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/manual-code \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"orderItemId\":123,\"code\":\"ABCD-1234-EFGH-5678\",\"pin\":\"string\",\"redemptionUrl\":\"string\",\"serialNumber\":\"string\",\"codes\":[{\"code\":\"ABCD-1234-EFGH-5678\",\"pin\":\"string\",\"redemptionUrl\":\"string\",\"serialNumber\":\"string\",\"partnerId\":5,\"expiresAt\":\"2027-12-31T23:59:59.000Z\",\"metadata\":{}}],\"partnerId\":5,\"notes\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/manual-code';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"orderItemId\":123,\"code\":\"ABCD-1234-EFGH-5678\",\"pin\":\"string\",\"redemptionUrl\":\"string\",\"serialNumber\":\"string\",\"codes\":[{\"code\":\"ABCD-1234-EFGH-5678\",\"pin\":\"string\",\"redemptionUrl\":\"string\",\"serialNumber\":\"string\",\"partnerId\":5,\"expiresAt\":\"2027-12-31T23:59:59.000Z\",\"metadata\":{}}],\"partnerId\":5,\"notes\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"orderItemId\":123,\"code\":\"ABCD-1234-EFGH-5678\",\"pin\":\"string\",\"redemptionUrl\":\"string\",\"serialNumber\":\"string\",\"codes\":[{\"code\":\"ABCD-1234-EFGH-5678\",\"pin\":\"string\",\"redemptionUrl\":\"string\",\"serialNumber\":\"string\",\"partnerId\":5,\"expiresAt\":\"2027-12-31T23:59:59.000Z\",\"metadata\":{}}],\"partnerId\":5,\"notes\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/manual-code', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/manual-code\"\n\npayload = {\n    \"orderItemId\": 123,\n    \"code\": \"ABCD-1234-EFGH-5678\",\n    \"pin\": \"string\",\n    \"redemptionUrl\": \"string\",\n    \"serialNumber\": \"string\",\n    \"codes\": [\n        {\n            \"code\": \"ABCD-1234-EFGH-5678\",\n            \"pin\": \"string\",\n            \"redemptionUrl\": \"string\",\n            \"serialNumber\": \"string\",\n            \"partnerId\": 5,\n            \"expiresAt\": \"2027-12-31T23:59:59.000Z\",\n            \"metadata\": {}\n        }\n    ],\n    \"partnerId\": 5,\n    \"notes\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/manual-code\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"orderItemId\\\":123,\\\"code\\\":\\\"ABCD-1234-EFGH-5678\\\",\\\"pin\\\":\\\"string\\\",\\\"redemptionUrl\\\":\\\"string\\\",\\\"serialNumber\\\":\\\"string\\\",\\\"codes\\\":[{\\\"code\\\":\\\"ABCD-1234-EFGH-5678\\\",\\\"pin\\\":\\\"string\\\",\\\"redemptionUrl\\\":\\\"string\\\",\\\"serialNumber\\\":\\\"string\\\",\\\"partnerId\\\":5,\\\"expiresAt\\\":\\\"2027-12-31T23:59:59.000Z\\\",\\\"metadata\\\":{}}],\\\"partnerId\\\":5,\\\"notes\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/manual-code\"\n\n\tpayload := strings.NewReader(\"{\\\"orderItemId\\\":123,\\\"code\\\":\\\"ABCD-1234-EFGH-5678\\\",\\\"pin\\\":\\\"string\\\",\\\"redemptionUrl\\\":\\\"string\\\",\\\"serialNumber\\\":\\\"string\\\",\\\"codes\\\":[{\\\"code\\\":\\\"ABCD-1234-EFGH-5678\\\",\\\"pin\\\":\\\"string\\\",\\\"redemptionUrl\\\":\\\"string\\\",\\\"serialNumber\\\":\\\"string\\\",\\\"partnerId\\\":5,\\\"expiresAt\\\":\\\"2027-12-31T23:59:59.000Z\\\",\\\"metadata\\\":{}}],\\\"partnerId\\\":5,\\\"notes\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/manual-code\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"orderItemId\\\":123,\\\"code\\\":\\\"ABCD-1234-EFGH-5678\\\",\\\"pin\\\":\\\"string\\\",\\\"redemptionUrl\\\":\\\"string\\\",\\\"serialNumber\\\":\\\"string\\\",\\\"codes\\\":[{\\\"code\\\":\\\"ABCD-1234-EFGH-5678\\\",\\\"pin\\\":\\\"string\\\",\\\"redemptionUrl\\\":\\\"string\\\",\\\"serialNumber\\\":\\\"string\\\",\\\"partnerId\\\":5,\\\"expiresAt\\\":\\\"2027-12-31T23:59:59.000Z\\\",\\\"metadata\\\":{}}],\\\"partnerId\\\":5,\\\"notes\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/orders/{id}/fulfillment/manual-codes": {
      "post": {
        "operationId": "AdminOrders_manualCodesDispatch",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ManualCodesDispatchDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Admin bulk manual fulfillment: submit all item codes (quantity-wise) for an order in one request",
        "tags": [
          "Orders"
        ],
        "description": "`Admin Orders` · Admin bulk manual fulfillment: submit all item codes (quantity-wise) for an order in one request",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/manual-codes \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"items\":[{\"orderItemId\":123,\"variantId\":22402,\"partnerId\":5,\"codes\":[{\"code\":\"ABCD-1234-EFGH-5678\",\"pin\":\"string\",\"redemptionUrl\":\"string\",\"serialNumber\":\"string\",\"partnerId\":5,\"expiresAt\":\"2027-12-31T23:59:59.000Z\",\"metadata\":{}}],\"notes\":\"string\"}],\"notes\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/manual-codes';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"items\":[{\"orderItemId\":123,\"variantId\":22402,\"partnerId\":5,\"codes\":[{\"code\":\"ABCD-1234-EFGH-5678\",\"pin\":\"string\",\"redemptionUrl\":\"string\",\"serialNumber\":\"string\",\"partnerId\":5,\"expiresAt\":\"2027-12-31T23:59:59.000Z\",\"metadata\":{}}],\"notes\":\"string\"}],\"notes\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"items\":[{\"orderItemId\":123,\"variantId\":22402,\"partnerId\":5,\"codes\":[{\"code\":\"ABCD-1234-EFGH-5678\",\"pin\":\"string\",\"redemptionUrl\":\"string\",\"serialNumber\":\"string\",\"partnerId\":5,\"expiresAt\":\"2027-12-31T23:59:59.000Z\",\"metadata\":{}}],\"notes\":\"string\"}],\"notes\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/manual-codes', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/manual-codes\"\n\npayload = {\n    \"items\": [\n        {\n            \"orderItemId\": 123,\n            \"variantId\": 22402,\n            \"partnerId\": 5,\n            \"codes\": [\n                {\n                    \"code\": \"ABCD-1234-EFGH-5678\",\n                    \"pin\": \"string\",\n                    \"redemptionUrl\": \"string\",\n                    \"serialNumber\": \"string\",\n                    \"partnerId\": 5,\n                    \"expiresAt\": \"2027-12-31T23:59:59.000Z\",\n                    \"metadata\": {}\n                }\n            ],\n            \"notes\": \"string\"\n        }\n    ],\n    \"notes\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/manual-codes\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"items\\\":[{\\\"orderItemId\\\":123,\\\"variantId\\\":22402,\\\"partnerId\\\":5,\\\"codes\\\":[{\\\"code\\\":\\\"ABCD-1234-EFGH-5678\\\",\\\"pin\\\":\\\"string\\\",\\\"redemptionUrl\\\":\\\"string\\\",\\\"serialNumber\\\":\\\"string\\\",\\\"partnerId\\\":5,\\\"expiresAt\\\":\\\"2027-12-31T23:59:59.000Z\\\",\\\"metadata\\\":{}}],\\\"notes\\\":\\\"string\\\"}],\\\"notes\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/manual-codes\"\n\n\tpayload := strings.NewReader(\"{\\\"items\\\":[{\\\"orderItemId\\\":123,\\\"variantId\\\":22402,\\\"partnerId\\\":5,\\\"codes\\\":[{\\\"code\\\":\\\"ABCD-1234-EFGH-5678\\\",\\\"pin\\\":\\\"string\\\",\\\"redemptionUrl\\\":\\\"string\\\",\\\"serialNumber\\\":\\\"string\\\",\\\"partnerId\\\":5,\\\"expiresAt\\\":\\\"2027-12-31T23:59:59.000Z\\\",\\\"metadata\\\":{}}],\\\"notes\\\":\\\"string\\\"}],\\\"notes\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/manual-codes\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"items\\\":[{\\\"orderItemId\\\":123,\\\"variantId\\\":22402,\\\"partnerId\\\":5,\\\"codes\\\":[{\\\"code\\\":\\\"ABCD-1234-EFGH-5678\\\",\\\"pin\\\":\\\"string\\\",\\\"redemptionUrl\\\":\\\"string\\\",\\\"serialNumber\\\":\\\"string\\\",\\\"partnerId\\\":5,\\\"expiresAt\\\":\\\"2027-12-31T23:59:59.000Z\\\",\\\"metadata\\\":{}}],\\\"notes\\\":\\\"string\\\"}],\\\"notes\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/orders/{id}/fulfillment/resend-email": {
      "post": {
        "operationId": "AdminOrders_resendOrderVoucherEmail",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResendOrderVoucherEmailDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Resend one consolidated voucher email for the whole order from the admin panel",
        "tags": [
          "Orders"
        ],
        "description": "`Admin Orders` · Resend one consolidated voucher email for the whole order from the admin panel",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/resend-email \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"notes\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/resend-email';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"notes\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"notes\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/resend-email', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/resend-email\"\n\npayload = {\"notes\": \"string\"}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/resend-email\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"notes\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/resend-email\"\n\n\tpayload := strings.NewReader(\"{\\\"notes\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/resend-email\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"notes\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/orders/{id}/fulfillment/partner-retry": {
      "post": {
        "operationId": "AdminOrders_partnerRetry",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartnerRetryDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Retry the upstream partner for a paid-but-undelivered item. Failures are logged, not thrown.",
        "tags": [
          "Orders"
        ],
        "description": "`Admin Orders` · Retry the upstream partner for a paid-but-undelivered item. Failures are logged, not thrown.",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/partner-retry \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"orderItemId\":123,\"partnerSourceId\":1,\"notes\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/partner-retry';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"orderItemId\":123,\"partnerSourceId\":1,\"notes\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"orderItemId\":123,\"partnerSourceId\":1,\"notes\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/partner-retry', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/partner-retry\"\n\npayload = {\n    \"orderItemId\": 123,\n    \"partnerSourceId\": 1,\n    \"notes\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/partner-retry\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"orderItemId\\\":123,\\\"partnerSourceId\\\":1,\\\"notes\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/partner-retry\"\n\n\tpayload := strings.NewReader(\"{\\\"orderItemId\\\":123,\\\"partnerSourceId\\\":1,\\\"notes\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/orders/%7Bid%7D/fulfillment/partner-retry\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"orderItemId\\\":123,\\\"partnerSourceId\\\":1,\\\"notes\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/alerts": {
      "get": {
        "description": "Returns the alert queue (default 50/page). Open alerts come first, then acknowledged, then resolved — each bucket newest-first. `meta.open_count` is the dashboard badge number.",
        "operationId": "AdminAlerts_list",
        "parameters": [
          {
            "name": "status",
            "required": false,
            "in": "query",
            "description": "Filter by alert lifecycle state.",
            "schema": {
              "type": "string",
              "enum": [
                "open",
                "acknowledged",
                "resolved"
              ]
            }
          },
          {
            "name": "severity",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "low",
                "medium",
                "high",
                "critical"
              ]
            }
          },
          {
            "name": "type",
            "required": false,
            "in": "query",
            "description": "Discriminator (e.g. fulfillment_failed, fulfillment_partial, low_stock).",
            "schema": {
              "maxLength": 50,
              "type": "string"
            }
          },
          {
            "name": "order_id",
            "required": false,
            "in": "query",
            "description": "Restrict to a specific order id.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "minimum": 1,
              "maximum": 200,
              "default": 50,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "List operator alerts",
        "tags": [
          "Alerts"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/alerts?status=SOME_STRING_VALUE&severity=SOME_STRING_VALUE&type=SOME_STRING_VALUE&order_id=SOME_NUMBER_VALUE&page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/alerts?status=SOME_STRING_VALUE&severity=SOME_STRING_VALUE&type=SOME_STRING_VALUE&order_id=SOME_NUMBER_VALUE&page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/alerts?status=SOME_STRING_VALUE&severity=SOME_STRING_VALUE&type=SOME_STRING_VALUE&order_id=SOME_NUMBER_VALUE&page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/alerts\"\n\nquerystring = {\"status\":\"SOME_STRING_VALUE\",\"severity\":\"SOME_STRING_VALUE\",\"type\":\"SOME_STRING_VALUE\",\"order_id\":\"SOME_NUMBER_VALUE\",\"page\":\"SOME_NUMBER_VALUE\",\"limit\":\"SOME_NUMBER_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/alerts?status=SOME_STRING_VALUE&severity=SOME_STRING_VALUE&type=SOME_STRING_VALUE&order_id=SOME_NUMBER_VALUE&page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/alerts?status=SOME_STRING_VALUE&severity=SOME_STRING_VALUE&type=SOME_STRING_VALUE&order_id=SOME_NUMBER_VALUE&page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/alerts?status=SOME_STRING_VALUE&severity=SOME_STRING_VALUE&type=SOME_STRING_VALUE&order_id=SOME_NUMBER_VALUE&page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/alerts/{id}": {
      "get": {
        "description": "Returns the alert plus an expanded view of the linked order (customer, items, fulfilment status) so the operator has everything needed to act.",
        "operationId": "AdminAlerts_getOne",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "description": "Alert not found"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Get alert detail",
        "tags": [
          "Alerts"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/alerts/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/alerts/%7Bid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/alerts/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/alerts/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/alerts/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/alerts/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/alerts/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/alerts/{id}/acknowledge": {
      "patch": {
        "description": "Marks the alert as `acknowledged` (operator has seen it). Idempotent — re-acknowledging refreshes the timestamp and actor. Use `/resolve` instead once the situation is fully handled.",
        "operationId": "AdminAlerts_acknowledge",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Alert is already resolved"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "description": "Alert not found"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Acknowledge an open alert",
        "tags": [
          "Alerts"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PATCH \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/alerts/%7Bid%7D/acknowledge \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/alerts/%7Bid%7D/acknowledge';\n\nlet options = {method: 'PATCH', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'PATCH', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/alerts/%7Bid%7D/acknowledge', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/alerts/%7Bid%7D/acknowledge\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"PATCH\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/alerts/%7Bid%7D/acknowledge\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PATCH\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/alerts/%7Bid%7D/acknowledge\"\n\n\treq, _ := http.NewRequest(\"PATCH\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/alerts/%7Bid%7D/acknowledge\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Patch.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/alerts/{id}/resolve": {
      "patch": {
        "description": "Marks the alert as fully resolved with optional `resolution_notes` for audit. Auto-fills the acknowledge fields if the operator skipped that step.",
        "operationId": "AdminAlerts_resolve",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResolveAlertDto"
              }
            }
          }
        },
        "responses": {
          "400": {
            "description": "Alert is already resolved"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "description": "Alert not found"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Resolve an alert",
        "tags": [
          "Alerts"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PATCH \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/alerts/%7Bid%7D/resolve \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"resolution_notes\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/alerts/%7Bid%7D/resolve';\n\nlet options = {\n  method: 'PATCH',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"resolution_notes\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PATCH',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"resolution_notes\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/alerts/%7Bid%7D/resolve', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/alerts/%7Bid%7D/resolve\"\n\npayload = {\"resolution_notes\": \"string\"}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PATCH\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/alerts/%7Bid%7D/resolve\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PATCH\",\n  CURLOPT_POSTFIELDS => \"{\\\"resolution_notes\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/alerts/%7Bid%7D/resolve\"\n\n\tpayload := strings.NewReader(\"{\\\"resolution_notes\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/alerts/%7Bid%7D/resolve\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Patch.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"resolution_notes\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/vouchers": {
      "post": {
        "operationId": "AdminVouchers_create",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVoucherDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "POST /admin/vouchers\nCreate a single voucher code",
        "tags": [
          "Vouchers"
        ],
        "description": "`Admin Vouchers` · POST /admin/vouchers\nCreate a single voucher code",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/vouchers \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"variant_id\":0,\"partner_id\":0,\"code\":\"string\",\"serial_number\":\"string\",\"status\":\"available\",\"cost\":0,\"metadata\":{},\"expires_at\":\"string\",\"source_type\":\"PRELOADED\",\"reserved_at\":\"string\",\"sold_at\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/vouchers';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"variant_id\":0,\"partner_id\":0,\"code\":\"string\",\"serial_number\":\"string\",\"status\":\"available\",\"cost\":0,\"metadata\":{},\"expires_at\":\"string\",\"source_type\":\"PRELOADED\",\"reserved_at\":\"string\",\"sold_at\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"variant_id\":0,\"partner_id\":0,\"code\":\"string\",\"serial_number\":\"string\",\"status\":\"available\",\"cost\":0,\"metadata\":{},\"expires_at\":\"string\",\"source_type\":\"PRELOADED\",\"reserved_at\":\"string\",\"sold_at\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/vouchers', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/vouchers\"\n\npayload = {\n    \"variant_id\": 0,\n    \"partner_id\": 0,\n    \"code\": \"string\",\n    \"serial_number\": \"string\",\n    \"status\": \"available\",\n    \"cost\": 0,\n    \"metadata\": {},\n    \"expires_at\": \"string\",\n    \"source_type\": \"PRELOADED\",\n    \"reserved_at\": \"string\",\n    \"sold_at\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/vouchers\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"variant_id\\\":0,\\\"partner_id\\\":0,\\\"code\\\":\\\"string\\\",\\\"serial_number\\\":\\\"string\\\",\\\"status\\\":\\\"available\\\",\\\"cost\\\":0,\\\"metadata\\\":{},\\\"expires_at\\\":\\\"string\\\",\\\"source_type\\\":\\\"PRELOADED\\\",\\\"reserved_at\\\":\\\"string\\\",\\\"sold_at\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/vouchers\"\n\n\tpayload := strings.NewReader(\"{\\\"variant_id\\\":0,\\\"partner_id\\\":0,\\\"code\\\":\\\"string\\\",\\\"serial_number\\\":\\\"string\\\",\\\"status\\\":\\\"available\\\",\\\"cost\\\":0,\\\"metadata\\\":{},\\\"expires_at\\\":\\\"string\\\",\\\"source_type\\\":\\\"PRELOADED\\\",\\\"reserved_at\\\":\\\"string\\\",\\\"sold_at\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/vouchers\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"variant_id\\\":0,\\\"partner_id\\\":0,\\\"code\\\":\\\"string\\\",\\\"serial_number\\\":\\\"string\\\",\\\"status\\\":\\\"available\\\",\\\"cost\\\":0,\\\"metadata\\\":{},\\\"expires_at\\\":\\\"string\\\",\\\"source_type\\\":\\\"PRELOADED\\\",\\\"reserved_at\\\":\\\"string\\\",\\\"sold_at\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminVouchers_list",
        "parameters": [
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "variant_id",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "partner_id",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "GET /admin/vouchers?status=available&variant_id=1&page=1&limit=20\nList vouchers with filters",
        "tags": [
          "Vouchers"
        ],
        "description": "`Admin Vouchers` · GET /admin/vouchers?status=available&variant_id=1&page=1&limit=20\nList vouchers with filters",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/vouchers?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&status=SOME_STRING_VALUE&variant_id=SOME_STRING_VALUE&partner_id=SOME_STRING_VALUE&search=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/vouchers?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&status=SOME_STRING_VALUE&variant_id=SOME_STRING_VALUE&partner_id=SOME_STRING_VALUE&search=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/vouchers?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&status=SOME_STRING_VALUE&variant_id=SOME_STRING_VALUE&partner_id=SOME_STRING_VALUE&search=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/vouchers\"\n\nquerystring = {\"page\":\"SOME_STRING_VALUE\",\"limit\":\"SOME_STRING_VALUE\",\"status\":\"SOME_STRING_VALUE\",\"variant_id\":\"SOME_STRING_VALUE\",\"partner_id\":\"SOME_STRING_VALUE\",\"search\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/vouchers?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&status=SOME_STRING_VALUE&variant_id=SOME_STRING_VALUE&partner_id=SOME_STRING_VALUE&search=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/vouchers?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&status=SOME_STRING_VALUE&variant_id=SOME_STRING_VALUE&partner_id=SOME_STRING_VALUE&search=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/vouchers?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&status=SOME_STRING_VALUE&variant_id=SOME_STRING_VALUE&partner_id=SOME_STRING_VALUE&search=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/vouchers/bulk": {
      "post": {
        "operationId": "AdminVouchers_bulkCreate",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkCreateVoucherDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "POST /admin/vouchers/bulk\nBulk upload voucher codes for a variant",
        "tags": [
          "Vouchers"
        ],
        "description": "`Admin Vouchers` · POST /admin/vouchers/bulk\nBulk upload voucher codes for a variant",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/vouchers/bulk \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"variant_id\":0,\"partner_id\":0,\"codes\":[\"string\"],\"cost\":0,\"expires_at\":\"string\",\"source_type\":\"PRELOADED\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/vouchers/bulk';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"variant_id\":0,\"partner_id\":0,\"codes\":[\"string\"],\"cost\":0,\"expires_at\":\"string\",\"source_type\":\"PRELOADED\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"variant_id\":0,\"partner_id\":0,\"codes\":[\"string\"],\"cost\":0,\"expires_at\":\"string\",\"source_type\":\"PRELOADED\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/vouchers/bulk', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/vouchers/bulk\"\n\npayload = {\n    \"variant_id\": 0,\n    \"partner_id\": 0,\n    \"codes\": [\"string\"],\n    \"cost\": 0,\n    \"expires_at\": \"string\",\n    \"source_type\": \"PRELOADED\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/vouchers/bulk\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"variant_id\\\":0,\\\"partner_id\\\":0,\\\"codes\\\":[\\\"string\\\"],\\\"cost\\\":0,\\\"expires_at\\\":\\\"string\\\",\\\"source_type\\\":\\\"PRELOADED\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/vouchers/bulk\"\n\n\tpayload := strings.NewReader(\"{\\\"variant_id\\\":0,\\\"partner_id\\\":0,\\\"codes\\\":[\\\"string\\\"],\\\"cost\\\":0,\\\"expires_at\\\":\\\"string\\\",\\\"source_type\\\":\\\"PRELOADED\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/vouchers/bulk\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"variant_id\\\":0,\\\"partner_id\\\":0,\\\"codes\\\":[\\\"string\\\"],\\\"cost\\\":0,\\\"expires_at\\\":\\\"string\\\",\\\"source_type\\\":\\\"PRELOADED\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/vouchers/{id}": {
      "put": {
        "operationId": "AdminVouchers_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateVoucherDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "PUT /admin/vouchers/:id\nUpdate a voucher",
        "tags": [
          "Vouchers"
        ],
        "description": "`Admin Vouchers` · PUT /admin/vouchers/:id\nUpdate a voucher",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/vouchers/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"variant_id\":0,\"partner_id\":0,\"code\":\"string\",\"serial_number\":\"string\",\"status\":\"available\",\"cost\":0,\"metadata\":{},\"expires_at\":\"string\",\"source_type\":\"PRELOADED\",\"reserved_at\":\"string\",\"sold_at\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/vouchers/%7Bid%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"variant_id\":0,\"partner_id\":0,\"code\":\"string\",\"serial_number\":\"string\",\"status\":\"available\",\"cost\":0,\"metadata\":{},\"expires_at\":\"string\",\"source_type\":\"PRELOADED\",\"reserved_at\":\"string\",\"sold_at\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"variant_id\":0,\"partner_id\":0,\"code\":\"string\",\"serial_number\":\"string\",\"status\":\"available\",\"cost\":0,\"metadata\":{},\"expires_at\":\"string\",\"source_type\":\"PRELOADED\",\"reserved_at\":\"string\",\"sold_at\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/vouchers/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/vouchers/%7Bid%7D\"\n\npayload = {\n    \"variant_id\": 0,\n    \"partner_id\": 0,\n    \"code\": \"string\",\n    \"serial_number\": \"string\",\n    \"status\": \"available\",\n    \"cost\": 0,\n    \"metadata\": {},\n    \"expires_at\": \"string\",\n    \"source_type\": \"PRELOADED\",\n    \"reserved_at\": \"string\",\n    \"sold_at\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/vouchers/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"variant_id\\\":0,\\\"partner_id\\\":0,\\\"code\\\":\\\"string\\\",\\\"serial_number\\\":\\\"string\\\",\\\"status\\\":\\\"available\\\",\\\"cost\\\":0,\\\"metadata\\\":{},\\\"expires_at\\\":\\\"string\\\",\\\"source_type\\\":\\\"PRELOADED\\\",\\\"reserved_at\\\":\\\"string\\\",\\\"sold_at\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/vouchers/%7Bid%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"variant_id\\\":0,\\\"partner_id\\\":0,\\\"code\\\":\\\"string\\\",\\\"serial_number\\\":\\\"string\\\",\\\"status\\\":\\\"available\\\",\\\"cost\\\":0,\\\"metadata\\\":{},\\\"expires_at\\\":\\\"string\\\",\\\"source_type\\\":\\\"PRELOADED\\\",\\\"reserved_at\\\":\\\"string\\\",\\\"sold_at\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/vouchers/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"variant_id\\\":0,\\\"partner_id\\\":0,\\\"code\\\":\\\"string\\\",\\\"serial_number\\\":\\\"string\\\",\\\"status\\\":\\\"available\\\",\\\"cost\\\":0,\\\"metadata\\\":{},\\\"expires_at\\\":\\\"string\\\",\\\"source_type\\\":\\\"PRELOADED\\\",\\\"reserved_at\\\":\\\"string\\\",\\\"sold_at\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminVouchers_getOne",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "GET /admin/vouchers/:id\nGet voucher details",
        "tags": [
          "Vouchers"
        ],
        "description": "`Admin Vouchers` · GET /admin/vouchers/:id\nGet voucher details",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/vouchers/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/vouchers/%7Bid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/vouchers/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/vouchers/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/vouchers/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/vouchers/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/vouchers/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "operationId": "AdminVouchers_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "DELETE /admin/vouchers/:id\nDelete a voucher (only if not sold)",
        "tags": [
          "Vouchers"
        ],
        "description": "`Admin Vouchers` · DELETE /admin/vouchers/:id\nDelete a voucher (only if not sold)",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/vouchers/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/vouchers/%7Bid%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/vouchers/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/vouchers/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/vouchers/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/vouchers/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/vouchers/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/vouchers/inventory": {
      "get": {
        "operationId": "AdminVouchers_inventory",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "GET /admin/vouchers/inventory\nVoucher inventory summary",
        "tags": [
          "Vouchers"
        ],
        "description": "`Admin Vouchers` · GET /admin/vouchers/inventory\nVoucher inventory summary",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/vouchers/inventory \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/vouchers/inventory';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/vouchers/inventory', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/vouchers/inventory\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/vouchers/inventory\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/vouchers/inventory\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/vouchers/inventory\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/discounts": {
      "post": {
        "operationId": "AdminDiscounts_create",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDiscountDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Discounts"
        ],
        "summary": "Create",
        "description": "`Admin Discounts` · Create",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/discounts \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"max_discount\":0,\"usage_limit\":1,\"per_user_limit\":1,\"allowed_payment_methods\":[\"bkash\",\"sslcommerz\"],\"allowed_brand_ids\":[12,18],\"allowed_category_ids\":[3,7],\"name\":\"string\",\"code\":\"string\",\"description\":\"string\",\"discount_type\":\"percentage\",\"discount_value\":0,\"min_purchase\":0,\"start_date\":\"string\",\"end_date\":\"string\",\"is_active\":true}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/discounts';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"max_discount\":0,\"usage_limit\":1,\"per_user_limit\":1,\"allowed_payment_methods\":[\"bkash\",\"sslcommerz\"],\"allowed_brand_ids\":[12,18],\"allowed_category_ids\":[3,7],\"name\":\"string\",\"code\":\"string\",\"description\":\"string\",\"discount_type\":\"percentage\",\"discount_value\":0,\"min_purchase\":0,\"start_date\":\"string\",\"end_date\":\"string\",\"is_active\":true}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"max_discount\":0,\"usage_limit\":1,\"per_user_limit\":1,\"allowed_payment_methods\":[\"bkash\",\"sslcommerz\"],\"allowed_brand_ids\":[12,18],\"allowed_category_ids\":[3,7],\"name\":\"string\",\"code\":\"string\",\"description\":\"string\",\"discount_type\":\"percentage\",\"discount_value\":0,\"min_purchase\":0,\"start_date\":\"string\",\"end_date\":\"string\",\"is_active\":true}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/discounts', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/discounts\"\n\npayload = {\n    \"max_discount\": 0,\n    \"usage_limit\": 1,\n    \"per_user_limit\": 1,\n    \"allowed_payment_methods\": [\"bkash\", \"sslcommerz\"],\n    \"allowed_brand_ids\": [12, 18],\n    \"allowed_category_ids\": [3, 7],\n    \"name\": \"string\",\n    \"code\": \"string\",\n    \"description\": \"string\",\n    \"discount_type\": \"percentage\",\n    \"discount_value\": 0,\n    \"min_purchase\": 0,\n    \"start_date\": \"string\",\n    \"end_date\": \"string\",\n    \"is_active\": True\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/discounts\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"max_discount\\\":0,\\\"usage_limit\\\":1,\\\"per_user_limit\\\":1,\\\"allowed_payment_methods\\\":[\\\"bkash\\\",\\\"sslcommerz\\\"],\\\"allowed_brand_ids\\\":[12,18],\\\"allowed_category_ids\\\":[3,7],\\\"name\\\":\\\"string\\\",\\\"code\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"discount_type\\\":\\\"percentage\\\",\\\"discount_value\\\":0,\\\"min_purchase\\\":0,\\\"start_date\\\":\\\"string\\\",\\\"end_date\\\":\\\"string\\\",\\\"is_active\\\":true}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/discounts\"\n\n\tpayload := strings.NewReader(\"{\\\"max_discount\\\":0,\\\"usage_limit\\\":1,\\\"per_user_limit\\\":1,\\\"allowed_payment_methods\\\":[\\\"bkash\\\",\\\"sslcommerz\\\"],\\\"allowed_brand_ids\\\":[12,18],\\\"allowed_category_ids\\\":[3,7],\\\"name\\\":\\\"string\\\",\\\"code\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"discount_type\\\":\\\"percentage\\\",\\\"discount_value\\\":0,\\\"min_purchase\\\":0,\\\"start_date\\\":\\\"string\\\",\\\"end_date\\\":\\\"string\\\",\\\"is_active\\\":true}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/discounts\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"max_discount\\\":0,\\\"usage_limit\\\":1,\\\"per_user_limit\\\":1,\\\"allowed_payment_methods\\\":[\\\"bkash\\\",\\\"sslcommerz\\\"],\\\"allowed_brand_ids\\\":[12,18],\\\"allowed_category_ids\\\":[3,7],\\\"name\\\":\\\"string\\\",\\\"code\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"discount_type\\\":\\\"percentage\\\",\\\"discount_value\\\":0,\\\"min_purchase\\\":0,\\\"start_date\\\":\\\"string\\\",\\\"end_date\\\":\\\"string\\\",\\\"is_active\\\":true}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminDiscounts_list",
        "parameters": [
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "is_active",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Discounts"
        ],
        "summary": "List",
        "description": "`Admin Discounts` · List",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/discounts?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/discounts?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/discounts?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/discounts\"\n\nquerystring = {\"page\":\"SOME_STRING_VALUE\",\"limit\":\"SOME_STRING_VALUE\",\"search\":\"SOME_STRING_VALUE\",\"is_active\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/discounts?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/discounts?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/discounts?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/discounts/{id}": {
      "put": {
        "operationId": "AdminDiscounts_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDiscountDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Discounts"
        ],
        "summary": "Update",
        "description": "`Admin Discounts` · Update",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/discounts/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"per_user_limit\":1,\"allowed_payment_methods\":[\"dcb\"],\"allowed_brand_ids\":[1],\"allowed_category_ids\":[1],\"name\":\"string\",\"code\":\"string\",\"description\":\"string\",\"discount_type\":\"percentage\",\"discount_value\":0,\"min_purchase\":0,\"max_discount\":0,\"start_date\":\"string\",\"end_date\":\"string\",\"usage_limit\":1,\"is_active\":true}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/discounts/%7Bid%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"per_user_limit\":1,\"allowed_payment_methods\":[\"dcb\"],\"allowed_brand_ids\":[1],\"allowed_category_ids\":[1],\"name\":\"string\",\"code\":\"string\",\"description\":\"string\",\"discount_type\":\"percentage\",\"discount_value\":0,\"min_purchase\":0,\"max_discount\":0,\"start_date\":\"string\",\"end_date\":\"string\",\"usage_limit\":1,\"is_active\":true}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"per_user_limit\":1,\"allowed_payment_methods\":[\"dcb\"],\"allowed_brand_ids\":[1],\"allowed_category_ids\":[1],\"name\":\"string\",\"code\":\"string\",\"description\":\"string\",\"discount_type\":\"percentage\",\"discount_value\":0,\"min_purchase\":0,\"max_discount\":0,\"start_date\":\"string\",\"end_date\":\"string\",\"usage_limit\":1,\"is_active\":true}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/discounts/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/discounts/%7Bid%7D\"\n\npayload = {\n    \"per_user_limit\": 1,\n    \"allowed_payment_methods\": [\"dcb\"],\n    \"allowed_brand_ids\": [1],\n    \"allowed_category_ids\": [1],\n    \"name\": \"string\",\n    \"code\": \"string\",\n    \"description\": \"string\",\n    \"discount_type\": \"percentage\",\n    \"discount_value\": 0,\n    \"min_purchase\": 0,\n    \"max_discount\": 0,\n    \"start_date\": \"string\",\n    \"end_date\": \"string\",\n    \"usage_limit\": 1,\n    \"is_active\": True\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/discounts/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"per_user_limit\\\":1,\\\"allowed_payment_methods\\\":[\\\"dcb\\\"],\\\"allowed_brand_ids\\\":[1],\\\"allowed_category_ids\\\":[1],\\\"name\\\":\\\"string\\\",\\\"code\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"discount_type\\\":\\\"percentage\\\",\\\"discount_value\\\":0,\\\"min_purchase\\\":0,\\\"max_discount\\\":0,\\\"start_date\\\":\\\"string\\\",\\\"end_date\\\":\\\"string\\\",\\\"usage_limit\\\":1,\\\"is_active\\\":true}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/discounts/%7Bid%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"per_user_limit\\\":1,\\\"allowed_payment_methods\\\":[\\\"dcb\\\"],\\\"allowed_brand_ids\\\":[1],\\\"allowed_category_ids\\\":[1],\\\"name\\\":\\\"string\\\",\\\"code\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"discount_type\\\":\\\"percentage\\\",\\\"discount_value\\\":0,\\\"min_purchase\\\":0,\\\"max_discount\\\":0,\\\"start_date\\\":\\\"string\\\",\\\"end_date\\\":\\\"string\\\",\\\"usage_limit\\\":1,\\\"is_active\\\":true}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/discounts/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"per_user_limit\\\":1,\\\"allowed_payment_methods\\\":[\\\"dcb\\\"],\\\"allowed_brand_ids\\\":[1],\\\"allowed_category_ids\\\":[1],\\\"name\\\":\\\"string\\\",\\\"code\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"discount_type\\\":\\\"percentage\\\",\\\"discount_value\\\":0,\\\"min_purchase\\\":0,\\\"max_discount\\\":0,\\\"start_date\\\":\\\"string\\\",\\\"end_date\\\":\\\"string\\\",\\\"usage_limit\\\":1,\\\"is_active\\\":true}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminDiscounts_getOne",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Discounts"
        ],
        "summary": "Get One",
        "description": "`Admin Discounts` · Get One",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/discounts/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/discounts/%7Bid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/discounts/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/discounts/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/discounts/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/discounts/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/discounts/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "operationId": "AdminDiscounts_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Discounts"
        ],
        "summary": "Delete",
        "description": "`Admin Discounts` · Delete",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/discounts/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/discounts/%7Bid%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/discounts/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/discounts/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/discounts/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/discounts/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/discounts/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/product-types": {
      "post": {
        "operationId": "AdminProductTypes_create",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProductTypeDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Product Types"
        ],
        "summary": "Create",
        "description": "`Admin Product Types` · Create",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/product-types \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"slug\":\"string\",\"description\":\"string\",\"has_redirect\":true,\"status\":true,\"icon\":\"string\",\"sort_order\":0}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/product-types';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"description\":\"string\",\"has_redirect\":true,\"status\":true,\"icon\":\"string\",\"sort_order\":0}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"description\":\"string\",\"has_redirect\":true,\"status\":true,\"icon\":\"string\",\"sort_order\":0}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/product-types', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/product-types\"\n\npayload = {\n    \"name\": \"string\",\n    \"slug\": \"string\",\n    \"description\": \"string\",\n    \"has_redirect\": True,\n    \"status\": True,\n    \"icon\": \"string\",\n    \"sort_order\": 0\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/product-types\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"has_redirect\\\":true,\\\"status\\\":true,\\\"icon\\\":\\\"string\\\",\\\"sort_order\\\":0}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/product-types\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"has_redirect\\\":true,\\\"status\\\":true,\\\"icon\\\":\\\"string\\\",\\\"sort_order\\\":0}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/product-types\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"has_redirect\\\":true,\\\"status\\\":true,\\\"icon\\\":\\\"string\\\",\\\"sort_order\\\":0}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminProductTypes_list",
        "parameters": [
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Product Types"
        ],
        "summary": "List",
        "description": "`Admin Product Types` · List",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/product-types?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/product-types?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/product-types?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/product-types\"\n\nquerystring = {\"page\":\"SOME_STRING_VALUE\",\"limit\":\"SOME_STRING_VALUE\",\"search\":\"SOME_STRING_VALUE\",\"status\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/product-types?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/product-types?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/product-types?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/product-types/{id}": {
      "put": {
        "operationId": "AdminProductTypes_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProductTypeDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Product Types"
        ],
        "summary": "Update",
        "description": "`Admin Product Types` · Update",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/product-types/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"slug\":\"string\",\"description\":\"string\",\"has_redirect\":true,\"status\":true,\"icon\":\"string\",\"sort_order\":0}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/product-types/%7Bid%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"description\":\"string\",\"has_redirect\":true,\"status\":true,\"icon\":\"string\",\"sort_order\":0}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"description\":\"string\",\"has_redirect\":true,\"status\":true,\"icon\":\"string\",\"sort_order\":0}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/product-types/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/product-types/%7Bid%7D\"\n\npayload = {\n    \"name\": \"string\",\n    \"slug\": \"string\",\n    \"description\": \"string\",\n    \"has_redirect\": True,\n    \"status\": True,\n    \"icon\": \"string\",\n    \"sort_order\": 0\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/product-types/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"has_redirect\\\":true,\\\"status\\\":true,\\\"icon\\\":\\\"string\\\",\\\"sort_order\\\":0}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/product-types/%7Bid%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"has_redirect\\\":true,\\\"status\\\":true,\\\"icon\\\":\\\"string\\\",\\\"sort_order\\\":0}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/product-types/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"has_redirect\\\":true,\\\"status\\\":true,\\\"icon\\\":\\\"string\\\",\\\"sort_order\\\":0}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminProductTypes_getOne",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Product Types"
        ],
        "summary": "Get One",
        "description": "`Admin Product Types` · Get One",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/product-types/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/product-types/%7Bid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/product-types/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/product-types/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/product-types/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/product-types/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/product-types/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "description": "Hard-deletes the row. Without `?force=true`, returns **409** if any product still uses this type. With `?force=true`, nulls `products.product_type_id` inside a `$transaction` then deletes — use with care.",
        "operationId": "AdminProductTypes_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "force",
            "required": false,
            "in": "query",
            "description": "Pass 'true' to null out products.product_type_id and delete anyway.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "description": "Product type not found"
          },
          "409": {
            "description": "Product type has dependent products (and ?force not supplied)"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Permanently delete a product type",
        "tags": [
          "Product Types"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/product-types/%7Bid%7D?force=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/product-types/%7Bid%7D?force=SOME_STRING_VALUE';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/product-types/%7Bid%7D?force=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/product-types/%7Bid%7D\"\n\nquerystring = {\"force\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/product-types/%7Bid%7D?force=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/product-types/%7Bid%7D?force=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/product-types/%7Bid%7D?force=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/product-types/reorder": {
      "patch": {
        "operationId": "AdminProductTypes_reorder",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "{ updated: N }"
          },
          "400": {
            "description": "Duplicate ids in payload"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "description": "One or more ids not found"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Batch-reorder product types",
        "tags": [
          "Product Types"
        ],
        "description": "`Admin Product Types` · Batch-reorder product types",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PATCH \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/product-types/reorder \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"items\":[{\"id\":42,\"sort_order\":3}]}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/product-types/reorder';\n\nlet options = {\n  method: 'PATCH',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"items\":[{\"id\":42,\"sort_order\":3}]}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PATCH',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"items\":[{\"id\":42,\"sort_order\":3}]}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/product-types/reorder', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/product-types/reorder\"\n\npayload = {\"items\": [\n        {\n            \"id\": 42,\n            \"sort_order\": 3\n        }\n    ]}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PATCH\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/product-types/reorder\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PATCH\",\n  CURLOPT_POSTFIELDS => \"{\\\"items\\\":[{\\\"id\\\":42,\\\"sort_order\\\":3}]}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/product-types/reorder\"\n\n\tpayload := strings.NewReader(\"{\\\"items\\\":[{\\\"id\\\":42,\\\"sort_order\\\":3}]}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/product-types/reorder\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Patch.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"items\\\":[{\\\"id\\\":42,\\\"sort_order\\\":3}]}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/users": {
      "get": {
        "operationId": "AdminUsers_list",
        "parameters": [
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Users"
        ],
        "summary": "List",
        "description": "`Admin Users` · List",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/users?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/users?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/users?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/users\"\n\nquerystring = {\"page\":\"SOME_STRING_VALUE\",\"limit\":\"SOME_STRING_VALUE\",\"search\":\"SOME_STRING_VALUE\",\"status\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/users?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/users?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/users?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/users/{id}": {
      "get": {
        "operationId": "AdminUsers_getOne",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Users"
        ],
        "summary": "Get One",
        "description": "`Admin Users` · Get One",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/users/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/users/%7Bid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/users/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/users/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/users/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/users/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/users/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "put": {
        "operationId": "AdminUsers_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Users"
        ],
        "summary": "Update",
        "description": "`Admin Users` · Update",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/users/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"status\":\"string\",\"country\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/users/%7Bid%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"status\":\"string\",\"country\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"status\":\"string\",\"country\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/users/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/users/%7Bid%7D\"\n\npayload = {\n    \"name\": \"string\",\n    \"status\": \"string\",\n    \"country\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/users/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"status\\\":\\\"string\\\",\\\"country\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/users/%7Bid%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"status\\\":\\\"string\\\",\\\"country\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/users/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"status\\\":\\\"string\\\",\\\"country\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/admin-users": {
      "get": {
        "operationId": "AdminAdminUsers_list",
        "parameters": [
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "roleId",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Admin Users"
        ],
        "summary": "List",
        "description": "`Admin Admin Users` · List",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/admin-users?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&roleId=SOME_NUMBER_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/admin-users?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&roleId=SOME_NUMBER_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/admin-users?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&roleId=SOME_NUMBER_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/admin-users\"\n\nquerystring = {\"page\":\"SOME_NUMBER_VALUE\",\"limit\":\"SOME_NUMBER_VALUE\",\"search\":\"SOME_STRING_VALUE\",\"status\":\"SOME_STRING_VALUE\",\"roleId\":\"SOME_NUMBER_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/admin-users?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&roleId=SOME_NUMBER_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/admin-users?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&roleId=SOME_NUMBER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/admin-users?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&roleId=SOME_NUMBER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "post": {
        "operationId": "AdminAdminUsers_create",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAdminUserDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Admin Users"
        ],
        "summary": "Create",
        "description": "`Admin Admin Users` · Create",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/admin-users \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"email\":\"user@example.com\",\"password\":\"stringst\",\"roleId\":0,\"status\":\"active\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/admin-users';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"email\":\"user@example.com\",\"password\":\"stringst\",\"roleId\":0,\"status\":\"active\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"email\":\"user@example.com\",\"password\":\"stringst\",\"roleId\":0,\"status\":\"active\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/admin-users', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/admin-users\"\n\npayload = {\n    \"name\": \"string\",\n    \"email\": \"user@example.com\",\n    \"password\": \"stringst\",\n    \"roleId\": 0,\n    \"status\": \"active\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/admin-users\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"email\\\":\\\"user@example.com\\\",\\\"password\\\":\\\"stringst\\\",\\\"roleId\\\":0,\\\"status\\\":\\\"active\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/admin-users\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"email\\\":\\\"user@example.com\\\",\\\"password\\\":\\\"stringst\\\",\\\"roleId\\\":0,\\\"status\\\":\\\"active\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/admin-users\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"email\\\":\\\"user@example.com\\\",\\\"password\\\":\\\"stringst\\\",\\\"roleId\\\":0,\\\"status\\\":\\\"active\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/admin-users/roles": {
      "get": {
        "operationId": "AdminAdminUsers_getRoles",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Admin Users"
        ],
        "summary": "Get Roles",
        "description": "`Admin Admin Users` · Get Roles",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/admin-users/roles \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/admin-users/roles';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/admin-users/roles', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/admin-users/roles\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/admin-users/roles\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/admin-users/roles\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/admin-users/roles\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/admin-users/{id}": {
      "get": {
        "operationId": "AdminAdminUsers_getOne",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Admin Users"
        ],
        "summary": "Get One",
        "description": "`Admin Admin Users` · Get One",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "put": {
        "operationId": "AdminAdminUsers_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAdminUserDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Admin Users"
        ],
        "summary": "Update",
        "description": "`Admin Admin Users` · Update",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"email\":\"user@example.com\",\"roleId\":0,\"status\":\"active\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"email\":\"user@example.com\",\"roleId\":0,\"status\":\"active\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"email\":\"user@example.com\",\"roleId\":0,\"status\":\"active\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D\"\n\npayload = {\n    \"name\": \"string\",\n    \"email\": \"user@example.com\",\n    \"roleId\": 0,\n    \"status\": \"active\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"email\\\":\\\"user@example.com\\\",\\\"roleId\\\":0,\\\"status\\\":\\\"active\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"email\\\":\\\"user@example.com\\\",\\\"roleId\\\":0,\\\"status\\\":\\\"active\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"email\\\":\\\"user@example.com\\\",\\\"roleId\\\":0,\\\"status\\\":\\\"active\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "operationId": "AdminAdminUsers_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Admin Users"
        ],
        "summary": "Delete",
        "description": "`Admin Admin Users` · Delete",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/admin-users/{id}/set-password": {
      "post": {
        "operationId": "AdminAdminUsers_setPassword",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetAdminPasswordDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Admin Users"
        ],
        "summary": "Set Password",
        "description": "`Admin Admin Users` · Set Password",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D/set-password \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"newPassword\":\"stringst\",\"confirmPassword\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D/set-password';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"newPassword\":\"stringst\",\"confirmPassword\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"newPassword\":\"stringst\",\"confirmPassword\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D/set-password', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D/set-password\"\n\npayload = {\n    \"newPassword\": \"stringst\",\n    \"confirmPassword\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D/set-password\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"newPassword\\\":\\\"stringst\\\",\\\"confirmPassword\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D/set-password\"\n\n\tpayload := strings.NewReader(\"{\\\"newPassword\\\":\\\"stringst\\\",\\\"confirmPassword\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/admin-users/%7Bid%7D/set-password\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"newPassword\\\":\\\"stringst\\\",\\\"confirmPassword\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/roles": {
      "get": {
        "operationId": "AdminRoles_listRoles",
        "parameters": [
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Roles"
        ],
        "summary": "List Roles",
        "description": "`Admin Roles` · List Roles",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/roles?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&search=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/roles?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&search=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/roles?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&search=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/roles\"\n\nquerystring = {\"page\":\"SOME_NUMBER_VALUE\",\"limit\":\"SOME_NUMBER_VALUE\",\"search\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/roles?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&search=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/roles?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&search=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/roles?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&search=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "post": {
        "operationId": "AdminRoles_createRole",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRoleDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Roles"
        ],
        "summary": "Create Role",
        "description": "`Admin Roles` · Create Role",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/roles \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"description\":\"string\",\"permissionIds\":[0]}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/roles';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"description\":\"string\",\"permissionIds\":[0]}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"description\":\"string\",\"permissionIds\":[0]}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/roles', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/roles\"\n\npayload = {\n    \"name\": \"string\",\n    \"description\": \"string\",\n    \"permissionIds\": [0]\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/roles\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"permissionIds\\\":[0]}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/roles\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"permissionIds\\\":[0]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/roles\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"permissionIds\\\":[0]}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/roles/{id}": {
      "get": {
        "operationId": "AdminRoles_getRoleById",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Roles"
        ],
        "summary": "Get Role By Id",
        "description": "`Admin Roles` · Get Role By Id",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/roles/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/roles/%7Bid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/roles/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/roles/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/roles/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/roles/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/roles/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "put": {
        "operationId": "AdminRoles_updateRole",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRoleDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Roles"
        ],
        "summary": "Update Role",
        "description": "`Admin Roles` · Update Role",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/roles/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"description\":\"string\",\"permissionIds\":[0]}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/roles/%7Bid%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"description\":\"string\",\"permissionIds\":[0]}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"description\":\"string\",\"permissionIds\":[0]}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/roles/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/roles/%7Bid%7D\"\n\npayload = {\n    \"name\": \"string\",\n    \"description\": \"string\",\n    \"permissionIds\": [0]\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/roles/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"permissionIds\\\":[0]}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/roles/%7Bid%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"permissionIds\\\":[0]}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/roles/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"permissionIds\\\":[0]}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "operationId": "AdminRoles_deleteRole",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Roles"
        ],
        "summary": "Delete Role",
        "description": "`Admin Roles` · Delete Role",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/roles/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/roles/%7Bid%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/roles/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/roles/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/roles/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/roles/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/roles/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/roles/permissions/list": {
      "get": {
        "operationId": "AdminRoles_listPermissions",
        "parameters": [
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Roles"
        ],
        "summary": "List Permissions",
        "description": "`Admin Roles` · List Permissions",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions/list?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&search=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions/list?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&search=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions/list?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&search=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions/list\"\n\nquerystring = {\"page\":\"SOME_NUMBER_VALUE\",\"limit\":\"SOME_NUMBER_VALUE\",\"search\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions/list?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&search=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions/list?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&search=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions/list?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&search=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/roles/permissions": {
      "post": {
        "operationId": "AdminRoles_createPermission",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePermissionDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Roles"
        ],
        "summary": "Create Permission",
        "description": "`Admin Roles` · Create Permission",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"description\":\"string\",\"resource\":\"string\",\"action\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"description\":\"string\",\"resource\":\"string\",\"action\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"description\":\"string\",\"resource\":\"string\",\"action\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions\"\n\npayload = {\n    \"name\": \"string\",\n    \"description\": \"string\",\n    \"resource\": \"string\",\n    \"action\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"resource\\\":\\\"string\\\",\\\"action\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"resource\\\":\\\"string\\\",\\\"action\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"resource\\\":\\\"string\\\",\\\"action\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/roles/permissions/{id}": {
      "put": {
        "operationId": "AdminRoles_updatePermission",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePermissionDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Roles"
        ],
        "summary": "Update Permission",
        "description": "`Admin Roles` · Update Permission",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"description\":\"string\",\"resource\":\"string\",\"action\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions/%7Bid%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"description\":\"string\",\"resource\":\"string\",\"action\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"description\":\"string\",\"resource\":\"string\",\"action\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions/%7Bid%7D\"\n\npayload = {\n    \"name\": \"string\",\n    \"description\": \"string\",\n    \"resource\": \"string\",\n    \"action\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"resource\\\":\\\"string\\\",\\\"action\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions/%7Bid%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"resource\\\":\\\"string\\\",\\\"action\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"resource\\\":\\\"string\\\",\\\"action\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "operationId": "AdminRoles_deletePermission",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Roles"
        ],
        "summary": "Delete Permission",
        "description": "`Admin Roles` · Delete Permission",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions/%7Bid%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/roles/permissions/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/roles/users/{userId}/roles": {
      "get": {
        "operationId": "AdminRoles_getUserRoles",
        "parameters": [
          {
            "name": "userId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Roles"
        ],
        "summary": "Get User Roles",
        "description": "`Admin Roles` · Get User Roles",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "post": {
        "operationId": "AdminRoles_assignRolesToUser",
        "parameters": [
          {
            "name": "userId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Roles"
        ],
        "summary": "Assign Roles To User",
        "description": "`Admin Roles` · Assign Roles To User",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles';\n\nlet options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"POST\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/roles/users/{userId}/roles/{roleId}": {
      "post": {
        "operationId": "AdminRoles_addRoleToUser",
        "parameters": [
          {
            "name": "userId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "roleId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Roles"
        ],
        "summary": "Add Role To User",
        "description": "`Admin Roles` · Add Role To User",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles/%7BroleId%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles/%7BroleId%7D';\n\nlet options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles/%7BroleId%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles/%7BroleId%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"POST\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles/%7BroleId%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles/%7BroleId%7D\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles/%7BroleId%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "operationId": "AdminRoles_removeRoleFromUser",
        "parameters": [
          {
            "name": "userId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "roleId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Roles"
        ],
        "summary": "Remove Role From User",
        "description": "`Admin Roles` · Remove Role From User",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles/%7BroleId%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles/%7BroleId%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles/%7BroleId%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles/%7BroleId%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles/%7BroleId%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles/%7BroleId%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/roles/users/%7BuserId%7D/roles/%7BroleId%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/faqs": {
      "post": {
        "operationId": "AdminFaqs_create",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFaqDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Faqs"
        ],
        "summary": "Create",
        "description": "`Admin Faqs` · Create",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/faqs \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"question\":\"string\",\"answer\":\"string\",\"sort_order\":0,\"status\":true}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/faqs';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"question\":\"string\",\"answer\":\"string\",\"sort_order\":0,\"status\":true}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"question\":\"string\",\"answer\":\"string\",\"sort_order\":0,\"status\":true}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/faqs', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/faqs\"\n\npayload = {\n    \"question\": \"string\",\n    \"answer\": \"string\",\n    \"sort_order\": 0,\n    \"status\": True\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/faqs\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"question\\\":\\\"string\\\",\\\"answer\\\":\\\"string\\\",\\\"sort_order\\\":0,\\\"status\\\":true}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/faqs\"\n\n\tpayload := strings.NewReader(\"{\\\"question\\\":\\\"string\\\",\\\"answer\\\":\\\"string\\\",\\\"sort_order\\\":0,\\\"status\\\":true}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/faqs\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"question\\\":\\\"string\\\",\\\"answer\\\":\\\"string\\\",\\\"sort_order\\\":0,\\\"status\\\":true}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminFaqs_list",
        "parameters": [
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Faqs"
        ],
        "summary": "List",
        "description": "`Admin Faqs` · List",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/faqs?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/faqs?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/faqs?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/faqs\"\n\nquerystring = {\"page\":\"SOME_STRING_VALUE\",\"limit\":\"SOME_STRING_VALUE\",\"search\":\"SOME_STRING_VALUE\",\"status\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/faqs?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/faqs?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/faqs?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/faqs/{id}": {
      "put": {
        "operationId": "AdminFaqs_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateFaqDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Faqs"
        ],
        "summary": "Update",
        "description": "`Admin Faqs` · Update",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/faqs/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"question\":\"string\",\"answer\":\"string\",\"sort_order\":0,\"status\":true}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/faqs/%7Bid%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"question\":\"string\",\"answer\":\"string\",\"sort_order\":0,\"status\":true}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"question\":\"string\",\"answer\":\"string\",\"sort_order\":0,\"status\":true}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/faqs/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/faqs/%7Bid%7D\"\n\npayload = {\n    \"question\": \"string\",\n    \"answer\": \"string\",\n    \"sort_order\": 0,\n    \"status\": True\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/faqs/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"question\\\":\\\"string\\\",\\\"answer\\\":\\\"string\\\",\\\"sort_order\\\":0,\\\"status\\\":true}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/faqs/%7Bid%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"question\\\":\\\"string\\\",\\\"answer\\\":\\\"string\\\",\\\"sort_order\\\":0,\\\"status\\\":true}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/faqs/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"question\\\":\\\"string\\\",\\\"answer\\\":\\\"string\\\",\\\"sort_order\\\":0,\\\"status\\\":true}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminFaqs_getOne",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Faqs"
        ],
        "summary": "Get One",
        "description": "`Admin Faqs` · Get One",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/faqs/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/faqs/%7Bid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/faqs/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/faqs/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/faqs/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/faqs/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/faqs/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "operationId": "AdminFaqs_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Faqs"
        ],
        "summary": "Delete",
        "description": "`Admin Faqs` · Delete",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/faqs/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/faqs/%7Bid%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/faqs/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/faqs/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/faqs/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/faqs/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/faqs/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/pages": {
      "post": {
        "operationId": "AdminPages_create",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePageDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Pages"
        ],
        "summary": "Create",
        "description": "`Admin Pages` · Create",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/pages \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"title\":\"string\",\"slug\":\"string\",\"content\":\"string\",\"type\":\"string\",\"status\":true}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/pages';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"title\":\"string\",\"slug\":\"string\",\"content\":\"string\",\"type\":\"string\",\"status\":true}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"title\":\"string\",\"slug\":\"string\",\"content\":\"string\",\"type\":\"string\",\"status\":true}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/pages', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/pages\"\n\npayload = {\n    \"title\": \"string\",\n    \"slug\": \"string\",\n    \"content\": \"string\",\n    \"type\": \"string\",\n    \"status\": True\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/pages\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"title\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"content\\\":\\\"string\\\",\\\"type\\\":\\\"string\\\",\\\"status\\\":true}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/pages\"\n\n\tpayload := strings.NewReader(\"{\\\"title\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"content\\\":\\\"string\\\",\\\"type\\\":\\\"string\\\",\\\"status\\\":true}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/pages\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"title\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"content\\\":\\\"string\\\",\\\"type\\\":\\\"string\\\",\\\"status\\\":true}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminPages_list",
        "parameters": [
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Pages"
        ],
        "summary": "List",
        "description": "`Admin Pages` · List",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/pages?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&type=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/pages?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&type=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/pages?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&type=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/pages\"\n\nquerystring = {\"page\":\"SOME_STRING_VALUE\",\"limit\":\"SOME_STRING_VALUE\",\"search\":\"SOME_STRING_VALUE\",\"status\":\"SOME_STRING_VALUE\",\"type\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/pages?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&type=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/pages?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&type=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/pages?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE&type=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/pages/{id}": {
      "put": {
        "operationId": "AdminPages_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePageDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Pages"
        ],
        "summary": "Update",
        "description": "`Admin Pages` · Update",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/pages/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"title\":\"string\",\"slug\":\"string\",\"content\":\"string\",\"type\":\"string\",\"status\":true}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/pages/%7Bid%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"title\":\"string\",\"slug\":\"string\",\"content\":\"string\",\"type\":\"string\",\"status\":true}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"title\":\"string\",\"slug\":\"string\",\"content\":\"string\",\"type\":\"string\",\"status\":true}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/pages/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/pages/%7Bid%7D\"\n\npayload = {\n    \"title\": \"string\",\n    \"slug\": \"string\",\n    \"content\": \"string\",\n    \"type\": \"string\",\n    \"status\": True\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/pages/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"title\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"content\\\":\\\"string\\\",\\\"type\\\":\\\"string\\\",\\\"status\\\":true}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/pages/%7Bid%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"title\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"content\\\":\\\"string\\\",\\\"type\\\":\\\"string\\\",\\\"status\\\":true}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/pages/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"title\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"content\\\":\\\"string\\\",\\\"type\\\":\\\"string\\\",\\\"status\\\":true}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminPages_getOne",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Pages"
        ],
        "summary": "Get One",
        "description": "`Admin Pages` · Get One",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/pages/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/pages/%7Bid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/pages/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/pages/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/pages/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/pages/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/pages/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "operationId": "AdminPages_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Pages"
        ],
        "summary": "Delete",
        "description": "`Admin Pages` · Delete",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/pages/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/pages/%7Bid%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/pages/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/pages/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/pages/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/pages/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/pages/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/blogs": {
      "post": {
        "operationId": "AdminBlogs_create",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBlogDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Blogs"
        ],
        "summary": "Create",
        "description": "`Admin Blogs` · Create",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/blogs \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"title\":\"string\",\"slug\":\"string\",\"content\":\"string\",\"excerpt\":\"string\",\"thumbnail\":\"string\",\"author\":\"string\",\"status\":true,\"published_at\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/blogs';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"title\":\"string\",\"slug\":\"string\",\"content\":\"string\",\"excerpt\":\"string\",\"thumbnail\":\"string\",\"author\":\"string\",\"status\":true,\"published_at\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"title\":\"string\",\"slug\":\"string\",\"content\":\"string\",\"excerpt\":\"string\",\"thumbnail\":\"string\",\"author\":\"string\",\"status\":true,\"published_at\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/blogs', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/blogs\"\n\npayload = {\n    \"title\": \"string\",\n    \"slug\": \"string\",\n    \"content\": \"string\",\n    \"excerpt\": \"string\",\n    \"thumbnail\": \"string\",\n    \"author\": \"string\",\n    \"status\": True,\n    \"published_at\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/blogs\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"title\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"content\\\":\\\"string\\\",\\\"excerpt\\\":\\\"string\\\",\\\"thumbnail\\\":\\\"string\\\",\\\"author\\\":\\\"string\\\",\\\"status\\\":true,\\\"published_at\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/blogs\"\n\n\tpayload := strings.NewReader(\"{\\\"title\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"content\\\":\\\"string\\\",\\\"excerpt\\\":\\\"string\\\",\\\"thumbnail\\\":\\\"string\\\",\\\"author\\\":\\\"string\\\",\\\"status\\\":true,\\\"published_at\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/blogs\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"title\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"content\\\":\\\"string\\\",\\\"excerpt\\\":\\\"string\\\",\\\"thumbnail\\\":\\\"string\\\",\\\"author\\\":\\\"string\\\",\\\"status\\\":true,\\\"published_at\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminBlogs_list",
        "parameters": [
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Blogs"
        ],
        "summary": "List",
        "description": "`Admin Blogs` · List",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/blogs?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/blogs?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/blogs?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/blogs\"\n\nquerystring = {\"page\":\"SOME_STRING_VALUE\",\"limit\":\"SOME_STRING_VALUE\",\"search\":\"SOME_STRING_VALUE\",\"status\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/blogs?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/blogs?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/blogs?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/blogs/{id}": {
      "put": {
        "operationId": "AdminBlogs_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBlogDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Blogs"
        ],
        "summary": "Update",
        "description": "`Admin Blogs` · Update",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/blogs/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"title\":\"string\",\"slug\":\"string\",\"content\":\"string\",\"excerpt\":\"string\",\"thumbnail\":\"string\",\"author\":\"string\",\"status\":true,\"published_at\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/blogs/%7Bid%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"title\":\"string\",\"slug\":\"string\",\"content\":\"string\",\"excerpt\":\"string\",\"thumbnail\":\"string\",\"author\":\"string\",\"status\":true,\"published_at\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"title\":\"string\",\"slug\":\"string\",\"content\":\"string\",\"excerpt\":\"string\",\"thumbnail\":\"string\",\"author\":\"string\",\"status\":true,\"published_at\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/blogs/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/blogs/%7Bid%7D\"\n\npayload = {\n    \"title\": \"string\",\n    \"slug\": \"string\",\n    \"content\": \"string\",\n    \"excerpt\": \"string\",\n    \"thumbnail\": \"string\",\n    \"author\": \"string\",\n    \"status\": True,\n    \"published_at\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/blogs/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"title\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"content\\\":\\\"string\\\",\\\"excerpt\\\":\\\"string\\\",\\\"thumbnail\\\":\\\"string\\\",\\\"author\\\":\\\"string\\\",\\\"status\\\":true,\\\"published_at\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/blogs/%7Bid%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"title\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"content\\\":\\\"string\\\",\\\"excerpt\\\":\\\"string\\\",\\\"thumbnail\\\":\\\"string\\\",\\\"author\\\":\\\"string\\\",\\\"status\\\":true,\\\"published_at\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/blogs/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"title\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"content\\\":\\\"string\\\",\\\"excerpt\\\":\\\"string\\\",\\\"thumbnail\\\":\\\"string\\\",\\\"author\\\":\\\"string\\\",\\\"status\\\":true,\\\"published_at\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminBlogs_getOne",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Blogs"
        ],
        "summary": "Get One",
        "description": "`Admin Blogs` · Get One",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/blogs/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/blogs/%7Bid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/blogs/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/blogs/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/blogs/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/blogs/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/blogs/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "operationId": "AdminBlogs_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Blogs"
        ],
        "summary": "Delete",
        "description": "`Admin Blogs` · Delete",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/blogs/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/blogs/%7Bid%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/blogs/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/blogs/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/blogs/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/blogs/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/blogs/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/upload/single/{category}": {
      "post": {
        "operationId": "AdminUpload_uploadSingle",
        "parameters": [
          {
            "name": "category",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UploadDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Upload single file\nPOST /api/v1/upload/single/:category\n\nCategories: products, categories, brands, users, documents, blogs, pages, banners",
        "tags": [
          "Upload"
        ],
        "description": "`Admin Upload` · Upload single file\nPOST /api/v1/upload/single/:category\n\nCategories: products, categories, brands, users, documents, blogs, pages, banners",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/upload/single/%7Bcategory%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"entityId\":\"string\",\"description\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/upload/single/%7Bcategory%7D';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"entityId\":\"string\",\"description\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"entityId\":\"string\",\"description\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/upload/single/%7Bcategory%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/upload/single/%7Bcategory%7D\"\n\npayload = {\n    \"entityId\": \"string\",\n    \"description\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/upload/single/%7Bcategory%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"entityId\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/upload/single/%7Bcategory%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"entityId\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/upload/single/%7Bcategory%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"entityId\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/upload/multiple/{category}": {
      "post": {
        "operationId": "AdminUpload_uploadMultiple",
        "parameters": [
          {
            "name": "category",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkUploadDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Upload multiple files\nPOST /api/v1/upload/multiple/:category",
        "tags": [
          "Upload"
        ],
        "description": "`Admin Upload` · Upload multiple files\nPOST /api/v1/upload/multiple/:category",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/upload/multiple/%7Bcategory%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"entityId\":\"string\",\"description\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/upload/multiple/%7Bcategory%7D';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"entityId\":\"string\",\"description\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"entityId\":\"string\",\"description\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/upload/multiple/%7Bcategory%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/upload/multiple/%7Bcategory%7D\"\n\npayload = {\n    \"entityId\": \"string\",\n    \"description\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/upload/multiple/%7Bcategory%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"entityId\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/upload/multiple/%7Bcategory%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"entityId\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/upload/multiple/%7Bcategory%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"entityId\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/upload/info/{fileId}": {
      "get": {
        "operationId": "AdminUpload_getFileInfo",
        "parameters": [
          {
            "name": "fileId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Get file info\nGET /api/v1/upload/info/:fileId",
        "tags": [
          "Upload"
        ],
        "description": "`Admin Upload` · Get file info\nGET /api/v1/upload/info/:fileId",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/upload/info/%7BfileId%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/upload/info/%7BfileId%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/upload/info/%7BfileId%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/upload/info/%7BfileId%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/upload/info/%7BfileId%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/upload/info/%7BfileId%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/upload/info/%7BfileId%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/upload/{fileId}": {
      "delete": {
        "operationId": "AdminUpload_deleteFile",
        "parameters": [
          {
            "name": "fileId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Delete file\nDELETE /api/v1/upload/:fileId",
        "tags": [
          "Upload"
        ],
        "description": "`Admin Upload` · Delete file\nDELETE /api/v1/upload/:fileId",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/upload/%7BfileId%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/upload/%7BfileId%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/upload/%7BfileId%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/upload/%7BfileId%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/upload/%7BfileId%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/upload/%7BfileId%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/upload/%7BfileId%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/upload/categories": {
      "get": {
        "operationId": "AdminUpload_getCategories",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Get allowed file categories\nGET /api/v1/upload/categories",
        "tags": [
          "Upload"
        ],
        "description": "`Admin Upload` · Get allowed file categories\nGET /api/v1/upload/categories",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/upload/categories \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/upload/categories';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/upload/categories', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/upload/categories\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/upload/categories\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/upload/categories\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/upload/categories\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/upload/folders": {
      "get": {
        "operationId": "AdminUpload_getFolders",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Get folder structure\nGET /api/v1/upload/folders",
        "tags": [
          "Upload"
        ],
        "description": "`Admin Upload` · Get folder structure\nGET /api/v1/upload/folders",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/upload/folders \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/upload/folders';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/upload/folders', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/upload/folders\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/upload/folders\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/upload/folders\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/upload/folders\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/files/{category}/{subfolder}/list": {
      "get": {
        "operationId": "FileServing_listFolderFiles",
        "parameters": [
          {
            "name": "category",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subfolder",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-client": []
          }
        ],
        "summary": "List files from a folder path (paginated)\nGET /api/v1/files/:category/:subfolder/list?page=1&limit=20&search=abc",
        "tags": [
          "File Serving"
        ],
        "description": "`File Serving` · List files from a folder path (paginated)\nGET /api/v1/files/:category/:subfolder/list?page=1&limit=20&search=abc"
      }
    },
    "/files/{category}/{entityId}/{filename}": {
      "get": {
        "operationId": "FileServing_serveFile",
        "parameters": [
          {
            "name": "category",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "entityId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filename",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-client": []
          }
        ],
        "summary": "Serve uploaded files\nGET /api/v1/files/:category/:entityId/:filename",
        "tags": [
          "File Serving"
        ],
        "description": "`File Serving` · Serve uploaded files\nGET /api/v1/files/:category/:entityId/:filename"
      }
    },
    "/files/{category}/{filename}": {
      "get": {
        "operationId": "FileServing_serveFileSimple",
        "parameters": [
          {
            "name": "category",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filename",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-client": []
          }
        ],
        "summary": "Serve uploaded files without entity ID (direct category path)\nGET /api/v1/files/:category/:filename",
        "tags": [
          "File Serving"
        ],
        "description": "`File Serving` · Serve uploaded files without entity ID (direct category path)\nGET /api/v1/files/:category/:filename"
      }
    },
    "/files/{filePath}": {
      "get": {
        "operationId": "FileServing_serveFileAlt",
        "parameters": [
          {
            "name": "filePath",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-client": []
          }
        ],
        "summary": "Serve files with alternative path structure\nGET /api/v1/files/*filePath",
        "tags": [
          "File Serving"
        ],
        "description": "`File Serving` · Serve files with alternative path structure\nGET /api/v1/files/*filePath"
      }
    },
    "/admin/file-manager/browse": {
      "get": {
        "operationId": "AdminFileManager_browse",
        "parameters": [
          {
            "name": "path",
            "required": false,
            "in": "query",
            "schema": {
              "maxLength": 1024,
              "default": "",
              "type": "string"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 50,
              "type": "number"
            }
          },
          {
            "name": "type",
            "required": false,
            "in": "query",
            "schema": {
              "default": "all",
              "allOf": [
                {
                  "$ref": "#/components/schemas/Object"
                }
              ]
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "maxLength": 200,
              "type": "string"
            }
          },
          {
            "name": "sort",
            "required": false,
            "in": "query",
            "schema": {
              "default": "name",
              "allOf": [
                {
                  "$ref": "#/components/schemas/Object"
                }
              ]
            }
          },
          {
            "name": "order",
            "required": false,
            "in": "query",
            "schema": {
              "default": "asc",
              "allOf": [
                {
                  "$ref": "#/components/schemas/Object"
                }
              ]
            }
          },
          {
            "name": "ext",
            "required": false,
            "in": "query",
            "schema": {
              "maxLength": 200,
              "type": "string"
            }
          },
          {
            "name": "includeTrashed",
            "required": false,
            "in": "query",
            "schema": {
              "default": false,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Browse",
        "description": "`Admin File Manager` · Browse"
      }
    },
    "/admin/file-manager/tree": {
      "get": {
        "operationId": "AdminFileManager_tree",
        "parameters": [
          {
            "name": "path",
            "required": false,
            "in": "query",
            "schema": {
              "maxLength": 1024,
              "default": "",
              "type": "string"
            }
          },
          {
            "name": "depth",
            "required": false,
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 3,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Get Tree",
        "description": "`Admin File Manager` · Get Tree",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/tree?path=SOME_STRING_VALUE&depth=SOME_NUMBER_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/tree?path=SOME_STRING_VALUE&depth=SOME_NUMBER_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/file-manager/tree?path=SOME_STRING_VALUE&depth=SOME_NUMBER_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/tree\"\n\nquerystring = {\"path\":\"SOME_STRING_VALUE\",\"depth\":\"SOME_NUMBER_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/tree?path=SOME_STRING_VALUE&depth=SOME_NUMBER_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/tree?path=SOME_STRING_VALUE&depth=SOME_NUMBER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/tree?path=SOME_STRING_VALUE&depth=SOME_NUMBER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/file-manager/breadcrumbs": {
      "get": {
        "operationId": "AdminFileManager_breadcrumbs",
        "parameters": [
          {
            "name": "path",
            "required": false,
            "in": "query",
            "schema": {
              "maxLength": 1024,
              "default": "",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Get Breadcrumbs",
        "description": "`Admin File Manager` · Get Breadcrumbs",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/breadcrumbs?path=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/breadcrumbs?path=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/file-manager/breadcrumbs?path=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/breadcrumbs\"\n\nquerystring = {\"path\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/breadcrumbs?path=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/breadcrumbs?path=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/breadcrumbs?path=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/file-manager/stat": {
      "get": {
        "operationId": "AdminFileManager_stat",
        "parameters": [
          {
            "name": "path",
            "required": true,
            "in": "query",
            "schema": {
              "maxLength": 1024,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Stat",
        "description": "`Admin File Manager` · Stat",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/stat?path=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/stat?path=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/file-manager/stat?path=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/stat\"\n\nquerystring = {\"path\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/stat?path=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/stat?path=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/stat?path=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/file-manager/info/{uid}": {
      "get": {
        "operationId": "AdminFileManager_info",
        "parameters": [
          {
            "name": "uid",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Get Info",
        "description": "`Admin File Manager` · Get Info",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/file-manager/info/%7Buid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/info/%7Buid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/file-manager/info/%7Buid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/info/%7Buid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/info/%7Buid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/info/%7Buid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/info/%7Buid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/file-manager/usage": {
      "get": {
        "operationId": "AdminFileManager_usage",
        "parameters": [
          {
            "name": "path",
            "required": false,
            "in": "query",
            "schema": {
              "maxLength": 1024,
              "default": "",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Get Usage",
        "description": "`Admin File Manager` · Get Usage",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/usage?path=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/usage?path=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/file-manager/usage?path=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/usage\"\n\nquerystring = {\"path\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/usage?path=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/usage?path=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/usage?path=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/file-manager/search": {
      "get": {
        "operationId": "AdminFileManager_search",
        "parameters": [
          {
            "name": "q",
            "required": true,
            "in": "query",
            "schema": {
              "maxLength": 200,
              "type": "string"
            }
          },
          {
            "name": "path",
            "required": false,
            "in": "query",
            "schema": {
              "maxLength": 1024,
              "default": "",
              "type": "string"
            }
          },
          {
            "name": "ext",
            "required": false,
            "in": "query",
            "schema": {
              "maxLength": 200,
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 100,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Search",
        "description": "`Admin File Manager` · Search",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/search?q=SOME_STRING_VALUE&path=SOME_STRING_VALUE&ext=SOME_STRING_VALUE&limit=SOME_NUMBER_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/search?q=SOME_STRING_VALUE&path=SOME_STRING_VALUE&ext=SOME_STRING_VALUE&limit=SOME_NUMBER_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/file-manager/search?q=SOME_STRING_VALUE&path=SOME_STRING_VALUE&ext=SOME_STRING_VALUE&limit=SOME_NUMBER_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/search\"\n\nquerystring = {\"q\":\"SOME_STRING_VALUE\",\"path\":\"SOME_STRING_VALUE\",\"ext\":\"SOME_STRING_VALUE\",\"limit\":\"SOME_NUMBER_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/search?q=SOME_STRING_VALUE&path=SOME_STRING_VALUE&ext=SOME_STRING_VALUE&limit=SOME_NUMBER_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/search?q=SOME_STRING_VALUE&path=SOME_STRING_VALUE&ext=SOME_STRING_VALUE&limit=SOME_NUMBER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/search?q=SOME_STRING_VALUE&path=SOME_STRING_VALUE&ext=SOME_STRING_VALUE&limit=SOME_NUMBER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/file-manager/folders": {
      "post": {
        "operationId": "AdminFileManager_createFolder",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFolderDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Create Folder",
        "description": "`Admin File Manager` · Create Folder",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/file-manager/folders \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"path\":\"\",\"name\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/folders';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"path\":\"\",\"name\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"path\":\"\",\"name\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/file-manager/folders', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/folders\"\n\npayload = {\n    \"path\": \"\",\n    \"name\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/folders\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"path\\\":\\\"\\\",\\\"name\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/folders\"\n\n\tpayload := strings.NewReader(\"{\\\"path\\\":\\\"\\\",\\\"name\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/folders\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"path\\\":\\\"\\\",\\\"name\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/file-manager/rename": {
      "patch": {
        "operationId": "AdminFileManager_rename",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Rename",
        "description": "`Admin File Manager` · Rename",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PATCH \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/file-manager/rename \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"path\":\"string\",\"newName\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/rename';\n\nlet options = {\n  method: 'PATCH',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"path\":\"string\",\"newName\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PATCH',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"path\":\"string\",\"newName\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/file-manager/rename', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/rename\"\n\npayload = {\n    \"path\": \"string\",\n    \"newName\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PATCH\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/rename\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PATCH\",\n  CURLOPT_POSTFIELDS => \"{\\\"path\\\":\\\"string\\\",\\\"newName\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/rename\"\n\n\tpayload := strings.NewReader(\"{\\\"path\\\":\\\"string\\\",\\\"newName\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/rename\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Patch.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"path\\\":\\\"string\\\",\\\"newName\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/file-manager/move": {
      "post": {
        "operationId": "AdminFileManager_move",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MoveDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Move",
        "description": "`Admin File Manager` · Move",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/file-manager/move \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"from\":\"string\",\"to\":\"string\",\"overwrite\":false}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/move';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"from\":\"string\",\"to\":\"string\",\"overwrite\":false}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"from\":\"string\",\"to\":\"string\",\"overwrite\":false}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/file-manager/move', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/move\"\n\npayload = {\n    \"from\": \"string\",\n    \"to\": \"string\",\n    \"overwrite\": False\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/move\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"from\\\":\\\"string\\\",\\\"to\\\":\\\"string\\\",\\\"overwrite\\\":false}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/move\"\n\n\tpayload := strings.NewReader(\"{\\\"from\\\":\\\"string\\\",\\\"to\\\":\\\"string\\\",\\\"overwrite\\\":false}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/move\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"from\\\":\\\"string\\\",\\\"to\\\":\\\"string\\\",\\\"overwrite\\\":false}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/file-manager/copy": {
      "post": {
        "operationId": "AdminFileManager_copy",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CopyDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Copy",
        "description": "`Admin File Manager` · Copy",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/file-manager/copy \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"from\":\"string\",\"to\":\"string\",\"overwrite\":false}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/copy';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"from\":\"string\",\"to\":\"string\",\"overwrite\":false}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"from\":\"string\",\"to\":\"string\",\"overwrite\":false}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/file-manager/copy', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/copy\"\n\npayload = {\n    \"from\": \"string\",\n    \"to\": \"string\",\n    \"overwrite\": False\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/copy\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"from\\\":\\\"string\\\",\\\"to\\\":\\\"string\\\",\\\"overwrite\\\":false}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/copy\"\n\n\tpayload := strings.NewReader(\"{\\\"from\\\":\\\"string\\\",\\\"to\\\":\\\"string\\\",\\\"overwrite\\\":false}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/copy\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"from\\\":\\\"string\\\",\\\"to\\\":\\\"string\\\",\\\"overwrite\\\":false}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/file-manager/bulk/move": {
      "post": {
        "operationId": "AdminFileManager_bulkMove",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkPathsDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Bulk Move",
        "description": "`Admin File Manager` · Bulk Move",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/file-manager/bulk/move \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"paths\":[\"string\"],\"to\":\"string\",\"overwrite\":false,\"permanent\":false}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/bulk/move';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"paths\":[\"string\"],\"to\":\"string\",\"overwrite\":false,\"permanent\":false}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"paths\":[\"string\"],\"to\":\"string\",\"overwrite\":false,\"permanent\":false}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/file-manager/bulk/move', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/bulk/move\"\n\npayload = {\n    \"paths\": [\"string\"],\n    \"to\": \"string\",\n    \"overwrite\": False,\n    \"permanent\": False\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/bulk/move\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"paths\\\":[\\\"string\\\"],\\\"to\\\":\\\"string\\\",\\\"overwrite\\\":false,\\\"permanent\\\":false}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/bulk/move\"\n\n\tpayload := strings.NewReader(\"{\\\"paths\\\":[\\\"string\\\"],\\\"to\\\":\\\"string\\\",\\\"overwrite\\\":false,\\\"permanent\\\":false}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/bulk/move\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"paths\\\":[\\\"string\\\"],\\\"to\\\":\\\"string\\\",\\\"overwrite\\\":false,\\\"permanent\\\":false}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/file-manager/bulk/copy": {
      "post": {
        "operationId": "AdminFileManager_bulkCopy",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkPathsDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Bulk Copy",
        "description": "`Admin File Manager` · Bulk Copy",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/file-manager/bulk/copy \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"paths\":[\"string\"],\"to\":\"string\",\"overwrite\":false,\"permanent\":false}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/bulk/copy';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"paths\":[\"string\"],\"to\":\"string\",\"overwrite\":false,\"permanent\":false}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"paths\":[\"string\"],\"to\":\"string\",\"overwrite\":false,\"permanent\":false}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/file-manager/bulk/copy', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/bulk/copy\"\n\npayload = {\n    \"paths\": [\"string\"],\n    \"to\": \"string\",\n    \"overwrite\": False,\n    \"permanent\": False\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/bulk/copy\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"paths\\\":[\\\"string\\\"],\\\"to\\\":\\\"string\\\",\\\"overwrite\\\":false,\\\"permanent\\\":false}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/bulk/copy\"\n\n\tpayload := strings.NewReader(\"{\\\"paths\\\":[\\\"string\\\"],\\\"to\\\":\\\"string\\\",\\\"overwrite\\\":false,\\\"permanent\\\":false}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/bulk/copy\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"paths\\\":[\\\"string\\\"],\\\"to\\\":\\\"string\\\",\\\"overwrite\\\":false,\\\"permanent\\\":false}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/file-manager/bulk/delete": {
      "post": {
        "operationId": "AdminFileManager_bulkDelete",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkPathsDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Bulk",
        "description": "`Admin File Manager` · Bulk",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/file-manager/bulk/delete \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"paths\":[\"string\"],\"to\":\"string\",\"overwrite\":false,\"permanent\":false}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/bulk/delete';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"paths\":[\"string\"],\"to\":\"string\",\"overwrite\":false,\"permanent\":false}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"paths\":[\"string\"],\"to\":\"string\",\"overwrite\":false,\"permanent\":false}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/file-manager/bulk/delete', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/bulk/delete\"\n\npayload = {\n    \"paths\": [\"string\"],\n    \"to\": \"string\",\n    \"overwrite\": False,\n    \"permanent\": False\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/bulk/delete\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"paths\\\":[\\\"string\\\"],\\\"to\\\":\\\"string\\\",\\\"overwrite\\\":false,\\\"permanent\\\":false}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/bulk/delete\"\n\n\tpayload := strings.NewReader(\"{\\\"paths\\\":[\\\"string\\\"],\\\"to\\\":\\\"string\\\",\\\"overwrite\\\":false,\\\"permanent\\\":false}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/bulk/delete\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"paths\\\":[\\\"string\\\"],\\\"to\\\":\\\"string\\\",\\\"overwrite\\\":false,\\\"permanent\\\":false}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/file-manager": {
      "delete": {
        "operationId": "AdminFileManager_del",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Delete Del",
        "description": "`Admin File Manager` · Delete Del",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/file-manager \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"path\":\"string\",\"permanent\":false}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager';\n\nlet options = {\n  method: 'DELETE',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"path\":\"string\",\"permanent\":false}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'DELETE',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"path\":\"string\",\"permanent\":false}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/file-manager', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager\"\n\npayload = {\n    \"path\": \"string\",\n    \"permanent\": False\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"DELETE\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_POSTFIELDS => \"{\\\"path\\\":\\\"string\\\",\\\"permanent\\\":false}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager\"\n\n\tpayload := strings.NewReader(\"{\\\"path\\\":\\\"string\\\",\\\"permanent\\\":false}\")\n\n\treq, _ := http.NewRequest(\"DELETE\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/file-manager\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"path\\\":\\\"string\\\",\\\"permanent\\\":false}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/file-manager/upload": {
      "post": {
        "operationId": "AdminFileManager_uploadSingle",
        "parameters": [
          {
            "name": "path",
            "required": false,
            "in": "query",
            "schema": {
              "maxLength": 1024,
              "default": "",
              "type": "string"
            }
          },
          {
            "name": "overwrite",
            "required": false,
            "in": "query",
            "schema": {
              "default": false,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Upload Single",
        "description": "`Admin File Manager` · Upload Single",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/upload?path=SOME_STRING_VALUE&overwrite=SOME_BOOLEAN_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/upload?path=SOME_STRING_VALUE&overwrite=SOME_BOOLEAN_VALUE';\n\nlet options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/file-manager/upload?path=SOME_STRING_VALUE&overwrite=SOME_BOOLEAN_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/upload\"\n\nquerystring = {\"path\":\"SOME_STRING_VALUE\",\"overwrite\":\"SOME_BOOLEAN_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"POST\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/upload?path=SOME_STRING_VALUE&overwrite=SOME_BOOLEAN_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/upload?path=SOME_STRING_VALUE&overwrite=SOME_BOOLEAN_VALUE\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/upload?path=SOME_STRING_VALUE&overwrite=SOME_BOOLEAN_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/file-manager/upload/bulk": {
      "post": {
        "operationId": "AdminFileManager_uploadBulk",
        "parameters": [
          {
            "name": "path",
            "required": false,
            "in": "query",
            "schema": {
              "maxLength": 1024,
              "default": "",
              "type": "string"
            }
          },
          {
            "name": "overwrite",
            "required": false,
            "in": "query",
            "schema": {
              "default": false,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Upload Bulk",
        "description": "`Admin File Manager` · Upload Bulk",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/upload/bulk?path=SOME_STRING_VALUE&overwrite=SOME_BOOLEAN_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/upload/bulk?path=SOME_STRING_VALUE&overwrite=SOME_BOOLEAN_VALUE';\n\nlet options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/file-manager/upload/bulk?path=SOME_STRING_VALUE&overwrite=SOME_BOOLEAN_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/upload/bulk\"\n\nquerystring = {\"path\":\"SOME_STRING_VALUE\",\"overwrite\":\"SOME_BOOLEAN_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"POST\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/upload/bulk?path=SOME_STRING_VALUE&overwrite=SOME_BOOLEAN_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/upload/bulk?path=SOME_STRING_VALUE&overwrite=SOME_BOOLEAN_VALUE\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/upload/bulk?path=SOME_STRING_VALUE&overwrite=SOME_BOOLEAN_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/file-manager/download": {
      "get": {
        "operationId": "AdminFileManager_download",
        "parameters": [
          {
            "name": "path",
            "required": true,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Download",
        "description": "`Admin File Manager` · Download",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/download?path=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/download?path=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/file-manager/download?path=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/download\"\n\nquerystring = {\"path\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/download?path=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/download?path=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/download?path=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/file-manager/download/zip": {
      "post": {
        "operationId": "AdminFileManager_downloadZip",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ZipDownloadDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Download Zip",
        "description": "`Admin File Manager` · Download Zip",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/file-manager/download/zip \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"paths\":[\"string\"],\"zipName\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/download/zip';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"paths\":[\"string\"],\"zipName\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"paths\":[\"string\"],\"zipName\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/file-manager/download/zip', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/download/zip\"\n\npayload = {\n    \"paths\": [\"string\"],\n    \"zipName\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/download/zip\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"paths\\\":[\\\"string\\\"],\\\"zipName\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/download/zip\"\n\n\tpayload := strings.NewReader(\"{\\\"paths\\\":[\\\"string\\\"],\\\"zipName\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/download/zip\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"paths\\\":[\\\"string\\\"],\\\"zipName\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/file-manager/trash": {
      "get": {
        "operationId": "AdminFileManager_trashList",
        "parameters": [
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 50,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Trash List",
        "description": "`Admin File Manager` · Trash List",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/trash?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/trash?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/file-manager/trash?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/trash\"\n\nquerystring = {\"page\":\"SOME_NUMBER_VALUE\",\"limit\":\"SOME_NUMBER_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/trash?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/trash?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/trash?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "operationId": "AdminFileManager_emptyTrash",
        "parameters": [
          {
            "name": "olderThanDays",
            "required": false,
            "in": "query",
            "schema": {
              "minimum": 0,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Empty Trash",
        "description": "`Admin File Manager` · Empty Trash",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/trash?olderThanDays=SOME_NUMBER_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/trash?olderThanDays=SOME_NUMBER_VALUE';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/file-manager/trash?olderThanDays=SOME_NUMBER_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/trash\"\n\nquerystring = {\"olderThanDays\":\"SOME_NUMBER_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/trash?olderThanDays=SOME_NUMBER_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/trash?olderThanDays=SOME_NUMBER_VALUE\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/trash?olderThanDays=SOME_NUMBER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/file-manager/trash/restore": {
      "post": {
        "operationId": "AdminFileManager_restore",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RestoreDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Restore",
        "description": "`Admin File Manager` · Restore",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/file-manager/trash/restore \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"paths\":[\"string\"]}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/trash/restore';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"paths\":[\"string\"]}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"paths\":[\"string\"]}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/file-manager/trash/restore', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/trash/restore\"\n\npayload = {\"paths\": [\"string\"]}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/trash/restore\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"paths\\\":[\\\"string\\\"]}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/trash/restore\"\n\n\tpayload := strings.NewReader(\"{\\\"paths\\\":[\\\"string\\\"]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/trash/restore\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"paths\\\":[\\\"string\\\"]}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/file-manager/audit": {
      "get": {
        "operationId": "AdminFileManager_audit",
        "parameters": [
          {
            "name": "path",
            "required": false,
            "in": "query",
            "schema": {
              "maxLength": 1024,
              "type": "string"
            }
          },
          {
            "name": "fileUid",
            "required": false,
            "in": "query",
            "schema": {
              "maxLength": 64,
              "type": "string"
            }
          },
          {
            "name": "action",
            "required": false,
            "in": "query",
            "schema": {
              "maxLength": 32,
              "type": "string"
            }
          },
          {
            "name": "actorId",
            "required": false,
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 50,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "File Manager"
        ],
        "summary": "Get Audit",
        "description": "`Admin File Manager` · Get Audit",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/audit?path=SOME_STRING_VALUE&fileUid=SOME_STRING_VALUE&action=SOME_STRING_VALUE&actorId=SOME_NUMBER_VALUE&page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/file-manager/audit?path=SOME_STRING_VALUE&fileUid=SOME_STRING_VALUE&action=SOME_STRING_VALUE&actorId=SOME_NUMBER_VALUE&page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/file-manager/audit?path=SOME_STRING_VALUE&fileUid=SOME_STRING_VALUE&action=SOME_STRING_VALUE&actorId=SOME_NUMBER_VALUE&page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/audit\"\n\nquerystring = {\"path\":\"SOME_STRING_VALUE\",\"fileUid\":\"SOME_STRING_VALUE\",\"action\":\"SOME_STRING_VALUE\",\"actorId\":\"SOME_NUMBER_VALUE\",\"page\":\"SOME_NUMBER_VALUE\",\"limit\":\"SOME_NUMBER_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/audit?path=SOME_STRING_VALUE&fileUid=SOME_STRING_VALUE&action=SOME_STRING_VALUE&actorId=SOME_NUMBER_VALUE&page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/audit?path=SOME_STRING_VALUE&fileUid=SOME_STRING_VALUE&action=SOME_STRING_VALUE&actorId=SOME_NUMBER_VALUE&page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/file-manager/audit?path=SOME_STRING_VALUE&fileUid=SOME_STRING_VALUE&action=SOME_STRING_VALUE&actorId=SOME_NUMBER_VALUE&page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/homepage/banners": {
      "post": {
        "operationId": "AdminHomepage_createBanner",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBannerDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Create Banner",
        "description": "`Admin Homepage` · Create Banner",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"title\":\"string\",\"subtitle\":\"string\",\"image_url\":\"string\",\"mobile_image_url\":\"string\",\"link_url\":\"string\",\"link_type\":\"internal\",\"link_target\":\"_self\",\"position\":0,\"is_active\":true,\"start_date\":\"string\",\"end_date\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"title\":\"string\",\"subtitle\":\"string\",\"image_url\":\"string\",\"mobile_image_url\":\"string\",\"link_url\":\"string\",\"link_type\":\"internal\",\"link_target\":\"_self\",\"position\":0,\"is_active\":true,\"start_date\":\"string\",\"end_date\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"title\":\"string\",\"subtitle\":\"string\",\"image_url\":\"string\",\"mobile_image_url\":\"string\",\"link_url\":\"string\",\"link_type\":\"internal\",\"link_target\":\"_self\",\"position\":0,\"is_active\":true,\"start_date\":\"string\",\"end_date\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners\"\n\npayload = {\n    \"title\": \"string\",\n    \"subtitle\": \"string\",\n    \"image_url\": \"string\",\n    \"mobile_image_url\": \"string\",\n    \"link_url\": \"string\",\n    \"link_type\": \"internal\",\n    \"link_target\": \"_self\",\n    \"position\": 0,\n    \"is_active\": True,\n    \"start_date\": \"string\",\n    \"end_date\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"title\\\":\\\"string\\\",\\\"subtitle\\\":\\\"string\\\",\\\"image_url\\\":\\\"string\\\",\\\"mobile_image_url\\\":\\\"string\\\",\\\"link_url\\\":\\\"string\\\",\\\"link_type\\\":\\\"internal\\\",\\\"link_target\\\":\\\"_self\\\",\\\"position\\\":0,\\\"is_active\\\":true,\\\"start_date\\\":\\\"string\\\",\\\"end_date\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners\"\n\n\tpayload := strings.NewReader(\"{\\\"title\\\":\\\"string\\\",\\\"subtitle\\\":\\\"string\\\",\\\"image_url\\\":\\\"string\\\",\\\"mobile_image_url\\\":\\\"string\\\",\\\"link_url\\\":\\\"string\\\",\\\"link_type\\\":\\\"internal\\\",\\\"link_target\\\":\\\"_self\\\",\\\"position\\\":0,\\\"is_active\\\":true,\\\"start_date\\\":\\\"string\\\",\\\"end_date\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"title\\\":\\\"string\\\",\\\"subtitle\\\":\\\"string\\\",\\\"image_url\\\":\\\"string\\\",\\\"mobile_image_url\\\":\\\"string\\\",\\\"link_url\\\":\\\"string\\\",\\\"link_type\\\":\\\"internal\\\",\\\"link_target\\\":\\\"_self\\\",\\\"position\\\":0,\\\"is_active\\\":true,\\\"start_date\\\":\\\"string\\\",\\\"end_date\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminHomepage_listBanners",
        "parameters": [
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "is_active",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "List Banners",
        "description": "`Admin Homepage` · List Banners",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners\"\n\nquerystring = {\"page\":\"SOME_STRING_VALUE\",\"limit\":\"SOME_STRING_VALUE\",\"is_active\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/homepage/banners/{id}": {
      "put": {
        "operationId": "AdminHomepage_updateBanner",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBannerDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Update Banner",
        "description": "`Admin Homepage` · Update Banner",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"title\":\"string\",\"subtitle\":\"string\",\"image_url\":\"string\",\"mobile_image_url\":\"string\",\"link_url\":\"string\",\"link_type\":\"internal\",\"link_target\":\"_self\",\"position\":0,\"is_active\":true,\"start_date\":\"string\",\"end_date\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/%7Bid%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"title\":\"string\",\"subtitle\":\"string\",\"image_url\":\"string\",\"mobile_image_url\":\"string\",\"link_url\":\"string\",\"link_type\":\"internal\",\"link_target\":\"_self\",\"position\":0,\"is_active\":true,\"start_date\":\"string\",\"end_date\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"title\":\"string\",\"subtitle\":\"string\",\"image_url\":\"string\",\"mobile_image_url\":\"string\",\"link_url\":\"string\",\"link_type\":\"internal\",\"link_target\":\"_self\",\"position\":0,\"is_active\":true,\"start_date\":\"string\",\"end_date\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/%7Bid%7D\"\n\npayload = {\n    \"title\": \"string\",\n    \"subtitle\": \"string\",\n    \"image_url\": \"string\",\n    \"mobile_image_url\": \"string\",\n    \"link_url\": \"string\",\n    \"link_type\": \"internal\",\n    \"link_target\": \"_self\",\n    \"position\": 0,\n    \"is_active\": True,\n    \"start_date\": \"string\",\n    \"end_date\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"title\\\":\\\"string\\\",\\\"subtitle\\\":\\\"string\\\",\\\"image_url\\\":\\\"string\\\",\\\"mobile_image_url\\\":\\\"string\\\",\\\"link_url\\\":\\\"string\\\",\\\"link_type\\\":\\\"internal\\\",\\\"link_target\\\":\\\"_self\\\",\\\"position\\\":0,\\\"is_active\\\":true,\\\"start_date\\\":\\\"string\\\",\\\"end_date\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/%7Bid%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"title\\\":\\\"string\\\",\\\"subtitle\\\":\\\"string\\\",\\\"image_url\\\":\\\"string\\\",\\\"mobile_image_url\\\":\\\"string\\\",\\\"link_url\\\":\\\"string\\\",\\\"link_type\\\":\\\"internal\\\",\\\"link_target\\\":\\\"_self\\\",\\\"position\\\":0,\\\"is_active\\\":true,\\\"start_date\\\":\\\"string\\\",\\\"end_date\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"title\\\":\\\"string\\\",\\\"subtitle\\\":\\\"string\\\",\\\"image_url\\\":\\\"string\\\",\\\"mobile_image_url\\\":\\\"string\\\",\\\"link_url\\\":\\\"string\\\",\\\"link_type\\\":\\\"internal\\\",\\\"link_target\\\":\\\"_self\\\",\\\"position\\\":0,\\\"is_active\\\":true,\\\"start_date\\\":\\\"string\\\",\\\"end_date\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "operationId": "AdminHomepage_deleteBanner",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Delete Banner",
        "description": "`Admin Homepage` · Delete Banner",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/%7Bid%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminHomepage_getBanner",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Get Banner",
        "description": "`Admin Homepage` · Get Banner",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/%7Bid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/homepage/banners/reorder": {
      "post": {
        "operationId": "AdminHomepage_reorderBanners",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderItemsDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Reorder Banners",
        "description": "`Admin Homepage` · Reorder Banners",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/reorder \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"ids\":[0]}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/reorder';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"ids\":[0]}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"ids\":[0]}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/reorder', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/reorder\"\n\npayload = {\"ids\": [0]}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/reorder\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"ids\\\":[0]}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/reorder\"\n\n\tpayload := strings.NewReader(\"{\\\"ids\\\":[0]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/banners/reorder\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"ids\\\":[0]}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/homepage/sections": {
      "post": {
        "operationId": "AdminHomepage_createSection",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSectionDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Create Section",
        "description": "`Admin Homepage` · Create Section",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"title\":\"string\",\"subtitle\":\"string\",\"section_type\":\"banner_slider\",\"position\":0,\"is_active\":true,\"config\":{},\"filter_config\":{},\"background_color\":\"string\",\"background_image\":\"string\",\"text_color\":\"string\",\"padding\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"title\":\"string\",\"subtitle\":\"string\",\"section_type\":\"banner_slider\",\"position\":0,\"is_active\":true,\"config\":{},\"filter_config\":{},\"background_color\":\"string\",\"background_image\":\"string\",\"text_color\":\"string\",\"padding\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"title\":\"string\",\"subtitle\":\"string\",\"section_type\":\"banner_slider\",\"position\":0,\"is_active\":true,\"config\":{},\"filter_config\":{},\"background_color\":\"string\",\"background_image\":\"string\",\"text_color\":\"string\",\"padding\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections\"\n\npayload = {\n    \"name\": \"string\",\n    \"title\": \"string\",\n    \"subtitle\": \"string\",\n    \"section_type\": \"banner_slider\",\n    \"position\": 0,\n    \"is_active\": True,\n    \"config\": {},\n    \"filter_config\": {},\n    \"background_color\": \"string\",\n    \"background_image\": \"string\",\n    \"text_color\": \"string\",\n    \"padding\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"title\\\":\\\"string\\\",\\\"subtitle\\\":\\\"string\\\",\\\"section_type\\\":\\\"banner_slider\\\",\\\"position\\\":0,\\\"is_active\\\":true,\\\"config\\\":{},\\\"filter_config\\\":{},\\\"background_color\\\":\\\"string\\\",\\\"background_image\\\":\\\"string\\\",\\\"text_color\\\":\\\"string\\\",\\\"padding\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"title\\\":\\\"string\\\",\\\"subtitle\\\":\\\"string\\\",\\\"section_type\\\":\\\"banner_slider\\\",\\\"position\\\":0,\\\"is_active\\\":true,\\\"config\\\":{},\\\"filter_config\\\":{},\\\"background_color\\\":\\\"string\\\",\\\"background_image\\\":\\\"string\\\",\\\"text_color\\\":\\\"string\\\",\\\"padding\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"title\\\":\\\"string\\\",\\\"subtitle\\\":\\\"string\\\",\\\"section_type\\\":\\\"banner_slider\\\",\\\"position\\\":0,\\\"is_active\\\":true,\\\"config\\\":{},\\\"filter_config\\\":{},\\\"background_color\\\":\\\"string\\\",\\\"background_image\\\":\\\"string\\\",\\\"text_color\\\":\\\"string\\\",\\\"padding\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminHomepage_listSections",
        "parameters": [
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "is_active",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "List Sections",
        "description": "`Admin Homepage` · List Sections",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections\"\n\nquerystring = {\"page\":\"SOME_STRING_VALUE\",\"limit\":\"SOME_STRING_VALUE\",\"is_active\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/homepage/sections/{id}": {
      "put": {
        "operationId": "AdminHomepage_updateSection",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSectionDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Update Section",
        "description": "`Admin Homepage` · Update Section",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"title\":\"string\",\"subtitle\":\"string\",\"section_type\":\"banner_slider\",\"position\":0,\"is_active\":true,\"config\":{},\"filter_config\":{},\"background_color\":\"string\",\"background_image\":\"string\",\"text_color\":\"string\",\"padding\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"title\":\"string\",\"subtitle\":\"string\",\"section_type\":\"banner_slider\",\"position\":0,\"is_active\":true,\"config\":{},\"filter_config\":{},\"background_color\":\"string\",\"background_image\":\"string\",\"text_color\":\"string\",\"padding\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"title\":\"string\",\"subtitle\":\"string\",\"section_type\":\"banner_slider\",\"position\":0,\"is_active\":true,\"config\":{},\"filter_config\":{},\"background_color\":\"string\",\"background_image\":\"string\",\"text_color\":\"string\",\"padding\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D\"\n\npayload = {\n    \"name\": \"string\",\n    \"title\": \"string\",\n    \"subtitle\": \"string\",\n    \"section_type\": \"banner_slider\",\n    \"position\": 0,\n    \"is_active\": True,\n    \"config\": {},\n    \"filter_config\": {},\n    \"background_color\": \"string\",\n    \"background_image\": \"string\",\n    \"text_color\": \"string\",\n    \"padding\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"title\\\":\\\"string\\\",\\\"subtitle\\\":\\\"string\\\",\\\"section_type\\\":\\\"banner_slider\\\",\\\"position\\\":0,\\\"is_active\\\":true,\\\"config\\\":{},\\\"filter_config\\\":{},\\\"background_color\\\":\\\"string\\\",\\\"background_image\\\":\\\"string\\\",\\\"text_color\\\":\\\"string\\\",\\\"padding\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"title\\\":\\\"string\\\",\\\"subtitle\\\":\\\"string\\\",\\\"section_type\\\":\\\"banner_slider\\\",\\\"position\\\":0,\\\"is_active\\\":true,\\\"config\\\":{},\\\"filter_config\\\":{},\\\"background_color\\\":\\\"string\\\",\\\"background_image\\\":\\\"string\\\",\\\"text_color\\\":\\\"string\\\",\\\"padding\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"title\\\":\\\"string\\\",\\\"subtitle\\\":\\\"string\\\",\\\"section_type\\\":\\\"banner_slider\\\",\\\"position\\\":0,\\\"is_active\\\":true,\\\"config\\\":{},\\\"filter_config\\\":{},\\\"background_color\\\":\\\"string\\\",\\\"background_image\\\":\\\"string\\\",\\\"text_color\\\":\\\"string\\\",\\\"padding\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "operationId": "AdminHomepage_deleteSection",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Delete Section",
        "description": "`Admin Homepage` · Delete Section",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminHomepage_getSection",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Get Section",
        "description": "`Admin Homepage` · Get Section",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/homepage/sections/reorder": {
      "post": {
        "operationId": "AdminHomepage_reorderSections",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderItemsDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Reorder Sections",
        "description": "`Admin Homepage` · Reorder Sections",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/reorder \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"ids\":[0]}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/reorder';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"ids\":[0]}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"ids\":[0]}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/reorder', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/reorder\"\n\npayload = {\"ids\": [0]}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/reorder\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"ids\\\":[0]}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/reorder\"\n\n\tpayload := strings.NewReader(\"{\\\"ids\\\":[0]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/reorder\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"ids\\\":[0]}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/homepage/sections/{id}/duplicate": {
      "post": {
        "operationId": "AdminHomepage_duplicateSection",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Duplicate Section",
        "description": "`Admin Homepage` · Duplicate Section",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D/duplicate \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D/duplicate';\n\nlet options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D/duplicate', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D/duplicate\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"POST\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D/duplicate\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D/duplicate\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7Bid%7D/duplicate\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/homepage/section-items": {
      "post": {
        "operationId": "AdminHomepage_createSectionItem",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSectionItemDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Create Section Item",
        "description": "`Admin Homepage` · Create Section Item",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-items \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"section_id\":0,\"item_type\":\"product\",\"item_id\":0,\"custom_data\":{},\"position\":0,\"is_active\":true}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-items';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"section_id\":0,\"item_type\":\"product\",\"item_id\":0,\"custom_data\":{},\"position\":0,\"is_active\":true}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"section_id\":0,\"item_type\":\"product\",\"item_id\":0,\"custom_data\":{},\"position\":0,\"is_active\":true}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-items', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-items\"\n\npayload = {\n    \"section_id\": 0,\n    \"item_type\": \"product\",\n    \"item_id\": 0,\n    \"custom_data\": {},\n    \"position\": 0,\n    \"is_active\": True\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-items\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"section_id\\\":0,\\\"item_type\\\":\\\"product\\\",\\\"item_id\\\":0,\\\"custom_data\\\":{},\\\"position\\\":0,\\\"is_active\\\":true}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-items\"\n\n\tpayload := strings.NewReader(\"{\\\"section_id\\\":0,\\\"item_type\\\":\\\"product\\\",\\\"item_id\\\":0,\\\"custom_data\\\":{},\\\"position\\\":0,\\\"is_active\\\":true}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-items\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"section_id\\\":0,\\\"item_type\\\":\\\"product\\\",\\\"item_id\\\":0,\\\"custom_data\\\":{},\\\"position\\\":0,\\\"is_active\\\":true}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/homepage/section-items/{id}": {
      "put": {
        "operationId": "AdminHomepage_updateSectionItem",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSectionItemDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Update Section Item",
        "description": "`Admin Homepage` · Update Section Item",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-items/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"item_type\":\"product\",\"item_id\":0,\"custom_data\":{},\"position\":0,\"is_active\":true}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-items/%7Bid%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"item_type\":\"product\",\"item_id\":0,\"custom_data\":{},\"position\":0,\"is_active\":true}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"item_type\":\"product\",\"item_id\":0,\"custom_data\":{},\"position\":0,\"is_active\":true}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-items/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-items/%7Bid%7D\"\n\npayload = {\n    \"item_type\": \"product\",\n    \"item_id\": 0,\n    \"custom_data\": {},\n    \"position\": 0,\n    \"is_active\": True\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-items/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"item_type\\\":\\\"product\\\",\\\"item_id\\\":0,\\\"custom_data\\\":{},\\\"position\\\":0,\\\"is_active\\\":true}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-items/%7Bid%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"item_type\\\":\\\"product\\\",\\\"item_id\\\":0,\\\"custom_data\\\":{},\\\"position\\\":0,\\\"is_active\\\":true}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-items/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"item_type\\\":\\\"product\\\",\\\"item_id\\\":0,\\\"custom_data\\\":{},\\\"position\\\":0,\\\"is_active\\\":true}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "operationId": "AdminHomepage_deleteSectionItem",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Delete Section Item",
        "description": "`Admin Homepage` · Delete Section Item",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-items/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-items/%7Bid%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-items/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-items/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-items/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-items/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-items/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/homepage/sections/{sectionId}/items": {
      "get": {
        "operationId": "AdminHomepage_listSectionItems",
        "parameters": [
          {
            "name": "sectionId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "List Section Items",
        "description": "`Admin Homepage` · List Section Items",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7BsectionId%7D/items \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7BsectionId%7D/items';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7BsectionId%7D/items', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7BsectionId%7D/items\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7BsectionId%7D/items\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7BsectionId%7D/items\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7BsectionId%7D/items\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/homepage/sections/{sectionId}/items/reorder": {
      "post": {
        "operationId": "AdminHomepage_reorderSectionItems",
        "parameters": [
          {
            "name": "sectionId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderItemsDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Reorder Section Items",
        "description": "`Admin Homepage` · Reorder Section Items",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7BsectionId%7D/items/reorder \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"ids\":[0]}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7BsectionId%7D/items/reorder';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"ids\":[0]}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"ids\":[0]}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7BsectionId%7D/items/reorder', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7BsectionId%7D/items/reorder\"\n\npayload = {\"ids\": [0]}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7BsectionId%7D/items/reorder\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"ids\\\":[0]}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7BsectionId%7D/items/reorder\"\n\n\tpayload := strings.NewReader(\"{\\\"ids\\\":[0]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/sections/%7BsectionId%7D/items/reorder\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"ids\\\":[0]}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/homepage/settings": {
      "get": {
        "operationId": "AdminHomepage_getAllSettings",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Get All Settings",
        "description": "`Admin Homepage` · Get All Settings",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "put": {
        "operationId": "AdminHomepage_updateSetting",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSettingDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Update Setting",
        "description": "`Admin Homepage` · Update Setting",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"setting_key\":\"string\",\"setting_value\":{},\"setting_group\":\"string\",\"description\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"setting_key\":\"string\",\"setting_value\":{},\"setting_group\":\"string\",\"description\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"setting_key\":\"string\",\"setting_value\":{},\"setting_group\":\"string\",\"description\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings\"\n\npayload = {\n    \"setting_key\": \"string\",\n    \"setting_value\": {},\n    \"setting_group\": \"string\",\n    \"description\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"setting_key\\\":\\\"string\\\",\\\"setting_value\\\":{},\\\"setting_group\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings\"\n\n\tpayload := strings.NewReader(\"{\\\"setting_key\\\":\\\"string\\\",\\\"setting_value\\\":{},\\\"setting_group\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"setting_key\\\":\\\"string\\\",\\\"setting_value\\\":{},\\\"setting_group\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/homepage/settings/group/{group}": {
      "get": {
        "operationId": "AdminHomepage_getSettingsByGroup",
        "parameters": [
          {
            "name": "group",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Get Settings By Group",
        "description": "`Admin Homepage` · Get Settings By Group",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/group/%7Bgroup%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/group/%7Bgroup%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/group/%7Bgroup%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/group/%7Bgroup%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/group/%7Bgroup%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/group/%7Bgroup%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/group/%7Bgroup%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/homepage/settings/{key}": {
      "get": {
        "operationId": "AdminHomepage_getSetting",
        "parameters": [
          {
            "name": "key",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Get Setting",
        "description": "`Admin Homepage` · Get Setting",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/%7Bkey%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/%7Bkey%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/%7Bkey%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/%7Bkey%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/%7Bkey%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/%7Bkey%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/%7Bkey%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "operationId": "AdminHomepage_deleteSetting",
        "parameters": [
          {
            "name": "key",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Delete Setting",
        "description": "`Admin Homepage` · Delete Setting",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/%7Bkey%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/%7Bkey%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/%7Bkey%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/%7Bkey%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/%7Bkey%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/%7Bkey%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/%7Bkey%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/homepage/settings/bulk": {
      "put": {
        "operationId": "AdminHomepage_bulkUpdateSettings",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkUpdateSettingsDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Bulk Update Settings",
        "description": "`Admin Homepage` · Bulk Update Settings",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/bulk \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"settings\":[{\"setting_key\":\"string\",\"setting_value\":{},\"setting_group\":\"string\",\"description\":\"string\"}]}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/bulk';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"settings\":[{\"setting_key\":\"string\",\"setting_value\":{},\"setting_group\":\"string\",\"description\":\"string\"}]}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"settings\":[{\"setting_key\":\"string\",\"setting_value\":{},\"setting_group\":\"string\",\"description\":\"string\"}]}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/bulk', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/bulk\"\n\npayload = {\"settings\": [\n        {\n            \"setting_key\": \"string\",\n            \"setting_value\": {},\n            \"setting_group\": \"string\",\n            \"description\": \"string\"\n        }\n    ]}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/bulk\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"settings\\\":[{\\\"setting_key\\\":\\\"string\\\",\\\"setting_value\\\":{},\\\"setting_group\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\"}]}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/bulk\"\n\n\tpayload := strings.NewReader(\"{\\\"settings\\\":[{\\\"setting_key\\\":\\\"string\\\",\\\"setting_value\\\":{},\\\"setting_group\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\"}]}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/settings/bulk\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"settings\\\":[{\\\"setting_key\\\":\\\"string\\\",\\\"setting_value\\\":{},\\\"setting_group\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\"}]}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/homepage/layout/preview": {
      "get": {
        "operationId": "AdminHomepage_getLayoutPreview",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Get Layout Preview",
        "description": "`Admin Homepage` · Get Layout Preview",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/layout/preview \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/layout/preview';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/layout/preview', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/layout/preview\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/layout/preview\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/layout/preview\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/layout/preview\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/homepage/section-types": {
      "get": {
        "operationId": "AdminHomepage_getSectionTypes",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Homepage"
        ],
        "summary": "Get Section Types",
        "description": "`Admin Homepage` · Get Section Types",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-types \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-types';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-types', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-types\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-types\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-types\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/homepage/section-types\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/partner-sources": {
      "get": {
        "operationId": "AdminPartnerSources_list",
        "parameters": [
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "partner_id",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "variant_id",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_id",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "is_active",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "List all partner-product sources with filters\nGET /admin/partner-sources?page=1&limit=20&partner_id=1&variant_id=5&product_id=3&is_active=true&search=zendit",
        "tags": [
          "Partner Sources"
        ],
        "description": "`Admin Partner Sources` · List all partner-product sources with filters\nGET /admin/partner-sources?page=1&limit=20&partner_id=1&variant_id=5&product_id=3&is_active=true&search=zendit",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/partner-sources?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&partner_id=SOME_STRING_VALUE&variant_id=SOME_STRING_VALUE&product_id=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE&search=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/partner-sources?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&partner_id=SOME_STRING_VALUE&variant_id=SOME_STRING_VALUE&product_id=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE&search=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/partner-sources?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&partner_id=SOME_STRING_VALUE&variant_id=SOME_STRING_VALUE&product_id=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE&search=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources\"\n\nquerystring = {\"page\":\"SOME_STRING_VALUE\",\"limit\":\"SOME_STRING_VALUE\",\"partner_id\":\"SOME_STRING_VALUE\",\"variant_id\":\"SOME_STRING_VALUE\",\"product_id\":\"SOME_STRING_VALUE\",\"is_active\":\"SOME_STRING_VALUE\",\"search\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&partner_id=SOME_STRING_VALUE&variant_id=SOME_STRING_VALUE&product_id=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE&search=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&partner_id=SOME_STRING_VALUE&variant_id=SOME_STRING_VALUE&product_id=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE&search=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&partner_id=SOME_STRING_VALUE&variant_id=SOME_STRING_VALUE&product_id=SOME_STRING_VALUE&is_active=SOME_STRING_VALUE&search=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "post": {
        "operationId": "AdminPartnerSources_create",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePartnerSourceDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Create a new partner-product source mapping\nPOST /admin/partner-sources",
        "tags": [
          "Partner Sources"
        ],
        "description": "`Admin Partner Sources` · Create a new partner-product source mapping\nPOST /admin/partner-sources",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/partner-sources \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"offer_type\":\"VOUCHER\",\"price_type\":\"FIXED\",\"send_value\":25,\"send_currency\":\"USD\",\"partner_id\":0,\"variant_id\":0,\"partner_cost\":0,\"priority\":1,\"is_active\":true,\"external_offer_id\":\"string\",\"partner_sku\":\"string\",\"partner_currency\":\"string\",\"metadata\":{}}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/partner-sources';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"offer_type\":\"VOUCHER\",\"price_type\":\"FIXED\",\"send_value\":25,\"send_currency\":\"USD\",\"partner_id\":0,\"variant_id\":0,\"partner_cost\":0,\"priority\":1,\"is_active\":true,\"external_offer_id\":\"string\",\"partner_sku\":\"string\",\"partner_currency\":\"string\",\"metadata\":{}}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"offer_type\":\"VOUCHER\",\"price_type\":\"FIXED\",\"send_value\":25,\"send_currency\":\"USD\",\"partner_id\":0,\"variant_id\":0,\"partner_cost\":0,\"priority\":1,\"is_active\":true,\"external_offer_id\":\"string\",\"partner_sku\":\"string\",\"partner_currency\":\"string\",\"metadata\":{}}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/partner-sources', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources\"\n\npayload = {\n    \"offer_type\": \"VOUCHER\",\n    \"price_type\": \"FIXED\",\n    \"send_value\": 25,\n    \"send_currency\": \"USD\",\n    \"partner_id\": 0,\n    \"variant_id\": 0,\n    \"partner_cost\": 0,\n    \"priority\": 1,\n    \"is_active\": True,\n    \"external_offer_id\": \"string\",\n    \"partner_sku\": \"string\",\n    \"partner_currency\": \"string\",\n    \"metadata\": {}\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"offer_type\\\":\\\"VOUCHER\\\",\\\"price_type\\\":\\\"FIXED\\\",\\\"send_value\\\":25,\\\"send_currency\\\":\\\"USD\\\",\\\"partner_id\\\":0,\\\"variant_id\\\":0,\\\"partner_cost\\\":0,\\\"priority\\\":1,\\\"is_active\\\":true,\\\"external_offer_id\\\":\\\"string\\\",\\\"partner_sku\\\":\\\"string\\\",\\\"partner_currency\\\":\\\"string\\\",\\\"metadata\\\":{}}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources\"\n\n\tpayload := strings.NewReader(\"{\\\"offer_type\\\":\\\"VOUCHER\\\",\\\"price_type\\\":\\\"FIXED\\\",\\\"send_value\\\":25,\\\"send_currency\\\":\\\"USD\\\",\\\"partner_id\\\":0,\\\"variant_id\\\":0,\\\"partner_cost\\\":0,\\\"priority\\\":1,\\\"is_active\\\":true,\\\"external_offer_id\\\":\\\"string\\\",\\\"partner_sku\\\":\\\"string\\\",\\\"partner_currency\\\":\\\"string\\\",\\\"metadata\\\":{}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"offer_type\\\":\\\"VOUCHER\\\",\\\"price_type\\\":\\\"FIXED\\\",\\\"send_value\\\":25,\\\"send_currency\\\":\\\"USD\\\",\\\"partner_id\\\":0,\\\"variant_id\\\":0,\\\"partner_cost\\\":0,\\\"priority\\\":1,\\\"is_active\\\":true,\\\"external_offer_id\\\":\\\"string\\\",\\\"partner_sku\\\":\\\"string\\\",\\\"partner_currency\\\":\\\"string\\\",\\\"metadata\\\":{}}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/partner-sources/overview": {
      "get": {
        "operationId": "AdminPartnerSources_getOverview",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Get overview of all sources grouped by product → variant → sources\nGET /admin/partner-sources/overview",
        "tags": [
          "Partner Sources"
        ],
        "description": "`Admin Partner Sources` · Get overview of all sources grouped by product → variant → sources\nGET /admin/partner-sources/overview",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/overview \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/overview';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/overview', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/overview\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/overview\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/overview\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/overview\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/partner-sources/variant/{variantId}": {
      "get": {
        "operationId": "AdminPartnerSources_getByVariant",
        "parameters": [
          {
            "name": "variantId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Get all sources for a specific variant (ordered by priority)\nGET /admin/partner-sources/variant/:variantId",
        "tags": [
          "Partner Sources"
        ],
        "description": "`Admin Partner Sources` · Get all sources for a specific variant (ordered by priority)\nGET /admin/partner-sources/variant/:variantId",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/variant/%7BvariantId%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/variant/%7BvariantId%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/variant/%7BvariantId%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/variant/%7BvariantId%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/variant/%7BvariantId%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/variant/%7BvariantId%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/variant/%7BvariantId%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/partner-sources/{id}": {
      "get": {
        "operationId": "AdminPartnerSources_getOne",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Get a single partner source by ID\nGET /admin/partner-sources/:id",
        "tags": [
          "Partner Sources"
        ],
        "description": "`Admin Partner Sources` · Get a single partner source by ID\nGET /admin/partner-sources/:id",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/%7Bid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "put": {
        "operationId": "AdminPartnerSources_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePartnerSourceDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Update an existing partner source\nPUT /admin/partner-sources/:id",
        "tags": [
          "Partner Sources"
        ],
        "description": "`Admin Partner Sources` · Update an existing partner source\nPUT /admin/partner-sources/:id",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"offer_type\":\"VOUCHER\",\"price_type\":\"FIXED\",\"send_value\":25,\"send_currency\":\"USD\",\"metadata_replace\":false,\"partner_cost\":0,\"priority\":1,\"is_active\":true,\"external_offer_id\":\"string\",\"partner_sku\":\"string\",\"partner_currency\":\"string\",\"metadata\":{}}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/%7Bid%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"offer_type\":\"VOUCHER\",\"price_type\":\"FIXED\",\"send_value\":25,\"send_currency\":\"USD\",\"metadata_replace\":false,\"partner_cost\":0,\"priority\":1,\"is_active\":true,\"external_offer_id\":\"string\",\"partner_sku\":\"string\",\"partner_currency\":\"string\",\"metadata\":{}}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"offer_type\":\"VOUCHER\",\"price_type\":\"FIXED\",\"send_value\":25,\"send_currency\":\"USD\",\"metadata_replace\":false,\"partner_cost\":0,\"priority\":1,\"is_active\":true,\"external_offer_id\":\"string\",\"partner_sku\":\"string\",\"partner_currency\":\"string\",\"metadata\":{}}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/%7Bid%7D\"\n\npayload = {\n    \"offer_type\": \"VOUCHER\",\n    \"price_type\": \"FIXED\",\n    \"send_value\": 25,\n    \"send_currency\": \"USD\",\n    \"metadata_replace\": False,\n    \"partner_cost\": 0,\n    \"priority\": 1,\n    \"is_active\": True,\n    \"external_offer_id\": \"string\",\n    \"partner_sku\": \"string\",\n    \"partner_currency\": \"string\",\n    \"metadata\": {}\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"offer_type\\\":\\\"VOUCHER\\\",\\\"price_type\\\":\\\"FIXED\\\",\\\"send_value\\\":25,\\\"send_currency\\\":\\\"USD\\\",\\\"metadata_replace\\\":false,\\\"partner_cost\\\":0,\\\"priority\\\":1,\\\"is_active\\\":true,\\\"external_offer_id\\\":\\\"string\\\",\\\"partner_sku\\\":\\\"string\\\",\\\"partner_currency\\\":\\\"string\\\",\\\"metadata\\\":{}}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/%7Bid%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"offer_type\\\":\\\"VOUCHER\\\",\\\"price_type\\\":\\\"FIXED\\\",\\\"send_value\\\":25,\\\"send_currency\\\":\\\"USD\\\",\\\"metadata_replace\\\":false,\\\"partner_cost\\\":0,\\\"priority\\\":1,\\\"is_active\\\":true,\\\"external_offer_id\\\":\\\"string\\\",\\\"partner_sku\\\":\\\"string\\\",\\\"partner_currency\\\":\\\"string\\\",\\\"metadata\\\":{}}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"offer_type\\\":\\\"VOUCHER\\\",\\\"price_type\\\":\\\"FIXED\\\",\\\"send_value\\\":25,\\\"send_currency\\\":\\\"USD\\\",\\\"metadata_replace\\\":false,\\\"partner_cost\\\":0,\\\"priority\\\":1,\\\"is_active\\\":true,\\\"external_offer_id\\\":\\\"string\\\",\\\"partner_sku\\\":\\\"string\\\",\\\"partner_currency\\\":\\\"string\\\",\\\"metadata\\\":{}}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "operationId": "AdminPartnerSources_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Delete a partner source\nDELETE /admin/partner-sources/:id",
        "tags": [
          "Partner Sources"
        ],
        "description": "`Admin Partner Sources` · Delete a partner source\nDELETE /admin/partner-sources/:id",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/%7Bid%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/partner-sources/bulk-priority": {
      "put": {
        "operationId": "AdminPartnerSources_bulkUpdatePriorities",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkUpdatePriorityDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Bulk update priorities for multiple sources\nPUT /admin/partner-sources/bulk-priority",
        "tags": [
          "Partner Sources"
        ],
        "description": "`Admin Partner Sources` · Bulk update priorities for multiple sources\nPUT /admin/partner-sources/bulk-priority",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/bulk-priority \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"items\":[{\"id\":0,\"priority\":1}]}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/bulk-priority';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"items\":[{\"id\":0,\"priority\":1}]}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"items\":[{\"id\":0,\"priority\":1}]}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/bulk-priority', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/bulk-priority\"\n\npayload = {\"items\": [\n        {\n            \"id\": 0,\n            \"priority\": 1\n        }\n    ]}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/bulk-priority\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"items\\\":[{\\\"id\\\":0,\\\"priority\\\":1}]}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/bulk-priority\"\n\n\tpayload := strings.NewReader(\"{\\\"items\\\":[{\\\"id\\\":0,\\\"priority\\\":1}]}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/partner-sources/bulk-priority\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"items\\\":[{\\\"id\\\":0,\\\"priority\\\":1}]}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/payment-methods": {
      "post": {
        "operationId": "AdminPaymentMethods_create",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePaymentMethodDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Payment Methods"
        ],
        "summary": "Create",
        "description": "`Admin Payment Methods` · Create",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/payment-methods \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"slug\":\"string\",\"code\":\"string\",\"image\":\"string\",\"status\":true,\"sort_order\":0}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/payment-methods';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"code\":\"string\",\"image\":\"string\",\"status\":true,\"sort_order\":0}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"code\":\"string\",\"image\":\"string\",\"status\":true,\"sort_order\":0}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/payment-methods', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods\"\n\npayload = {\n    \"name\": \"string\",\n    \"slug\": \"string\",\n    \"code\": \"string\",\n    \"image\": \"string\",\n    \"status\": True,\n    \"sort_order\": 0\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"code\\\":\\\"string\\\",\\\"image\\\":\\\"string\\\",\\\"status\\\":true,\\\"sort_order\\\":0}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"code\\\":\\\"string\\\",\\\"image\\\":\\\"string\\\",\\\"status\\\":true,\\\"sort_order\\\":0}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"code\\\":\\\"string\\\",\\\"image\\\":\\\"string\\\",\\\"status\\\":true,\\\"sort_order\\\":0}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminPaymentMethods_list",
        "parameters": [
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Payment Methods"
        ],
        "summary": "List",
        "description": "`Admin Payment Methods` · List",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/payment-methods?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/payment-methods?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/payment-methods?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods\"\n\nquerystring = {\"page\":\"SOME_STRING_VALUE\",\"limit\":\"SOME_STRING_VALUE\",\"search\":\"SOME_STRING_VALUE\",\"status\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&search=SOME_STRING_VALUE&status=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/payment-methods/{id}": {
      "put": {
        "operationId": "AdminPaymentMethods_update",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePaymentMethodDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Payment Methods"
        ],
        "summary": "Update",
        "description": "`Admin Payment Methods` · Update",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"slug\":\"string\",\"code\":\"string\",\"image\":\"string\",\"status\":true,\"sort_order\":0}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/%7Bid%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"code\":\"string\",\"image\":\"string\",\"status\":true,\"sort_order\":0}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"code\":\"string\",\"image\":\"string\",\"status\":true,\"sort_order\":0}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/%7Bid%7D\"\n\npayload = {\n    \"name\": \"string\",\n    \"slug\": \"string\",\n    \"code\": \"string\",\n    \"image\": \"string\",\n    \"status\": True,\n    \"sort_order\": 0\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"code\\\":\\\"string\\\",\\\"image\\\":\\\"string\\\",\\\"status\\\":true,\\\"sort_order\\\":0}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/%7Bid%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"code\\\":\\\"string\\\",\\\"image\\\":\\\"string\\\",\\\"status\\\":true,\\\"sort_order\\\":0}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"code\\\":\\\"string\\\",\\\"image\\\":\\\"string\\\",\\\"status\\\":true,\\\"sort_order\\\":0}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminPaymentMethods_getOne",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "tags": [
          "Payment Methods"
        ],
        "summary": "Get One",
        "description": "`Admin Payment Methods` · Get One",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/%7Bid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "description": "Hard-deletes the row. **409** if any product is still linked to this payment method.",
        "operationId": "AdminPaymentMethods_delete",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "description": "Payment method not found"
          },
          "409": {
            "description": "Payment method is linked to one or more products"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Permanently delete a payment method",
        "tags": [
          "Payment Methods"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/%7Bid%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/payment-methods/reorder": {
      "patch": {
        "operationId": "AdminPaymentMethods_reorder",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "{ updated: N }"
          },
          "400": {
            "description": "Duplicate ids in payload"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "description": "One or more ids not found"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Batch-reorder payment methods",
        "tags": [
          "Payment Methods"
        ],
        "description": "`Admin Payment Methods` · Batch-reorder payment methods",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PATCH \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/reorder \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"items\":[{\"id\":42,\"sort_order\":3}]}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/reorder';\n\nlet options = {\n  method: 'PATCH',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"items\":[{\"id\":42,\"sort_order\":3}]}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PATCH',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"items\":[{\"id\":42,\"sort_order\":3}]}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/reorder', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/reorder\"\n\npayload = {\"items\": [\n        {\n            \"id\": 42,\n            \"sort_order\": 3\n        }\n    ]}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PATCH\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/reorder\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PATCH\",\n  CURLOPT_POSTFIELDS => \"{\\\"items\\\":[{\\\"id\\\":42,\\\"sort_order\\\":3}]}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/reorder\"\n\n\tpayload := strings.NewReader(\"{\\\"items\\\":[{\\\"id\\\":42,\\\"sort_order\\\":3}]}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/payment-methods/reorder\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Patch.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"items\\\":[{\\\"id\\\":42,\\\"sort_order\\\":3}]}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/inventory/summary": {
      "get": {
        "operationId": "AdminInventory_summary",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Inventory summary counts",
        "tags": [
          "Inventory"
        ],
        "description": "`Admin Inventory` · Inventory summary counts",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/inventory/summary \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/inventory/summary';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/inventory/summary', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/inventory/summary\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/inventory/summary\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/inventory/summary\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/inventory/summary\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/inventory/variants": {
      "get": {
        "description": "Filter by `status` (in_stock | low_stock | out_of_stock). Useful for the admin \"what is running out?\" dashboard.",
        "operationId": "AdminInventory_list",
        "parameters": [
          {
            "name": "status",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {}
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "List variants with stock status",
        "tags": [
          "Inventory"
        ]
      }
    },
    "/admin/inventory/variants/{id}": {
      "get": {
        "operationId": "AdminInventory_detail",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Variant stock detail + recent movements",
        "tags": [
          "Inventory"
        ],
        "description": "`Admin Inventory` · Variant stock detail + recent movements",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/inventory/variants/{id}/adjust": {
      "post": {
        "description": "Positive delta = ADD (for preloaded variants, run the voucher import separately). Negative delta = expire N currently-available voucher rows on the preloaded track, or log intent only on the API track.",
        "operationId": "AdminInventory_adjust",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdjustStockDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Manual stock adjustment (admin)",
        "tags": [
          "Inventory"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/adjust \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"delta\":50,\"note\":\"Replenished from Zendit import\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/adjust';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"delta\":50,\"note\":\"Replenished from Zendit import\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"delta\":50,\"note\":\"Replenished from Zendit import\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/adjust', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/adjust\"\n\npayload = {\n    \"delta\": 50,\n    \"note\": \"Replenished from Zendit import\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/adjust\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"delta\\\":50,\\\"note\\\":\\\"Replenished from Zendit import\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/adjust\"\n\n\tpayload := strings.NewReader(\"{\\\"delta\\\":50,\\\"note\\\":\\\"Replenished from Zendit import\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/adjust\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"delta\\\":50,\\\"note\\\":\\\"Replenished from Zendit import\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/inventory/alerts": {
      "get": {
        "operationId": "AdminInventory_alerts",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Low & out-of-stock variants (alerts list)",
        "tags": [
          "Inventory"
        ],
        "description": "`Admin Inventory` · Low & out-of-stock variants (alerts list)",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/inventory/alerts \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/inventory/alerts';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/inventory/alerts', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/inventory/alerts\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/inventory/alerts\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/inventory/alerts\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/inventory/alerts\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/inventory/variants/{id}/settings": {
      "patch": {
        "description": "Patch `track_inventory`, `stock_cap`, and/or `low_stock_threshold`. Null clears the field.",
        "operationId": "AdminInventory_updateSettings",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VariantSettingsDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Update variant inventory settings",
        "tags": [
          "Inventory"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PATCH \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/settings \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"track_inventory\":true,\"stock_cap\":0,\"low_stock_threshold\":5}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/settings';\n\nlet options = {\n  method: 'PATCH',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"track_inventory\":true,\"stock_cap\":0,\"low_stock_threshold\":5}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PATCH',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"track_inventory\":true,\"stock_cap\":0,\"low_stock_threshold\":5}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/settings', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/settings\"\n\npayload = {\n    \"track_inventory\": True,\n    \"stock_cap\": 0,\n    \"low_stock_threshold\": 5\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PATCH\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/settings\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PATCH\",\n  CURLOPT_POSTFIELDS => \"{\\\"track_inventory\\\":true,\\\"stock_cap\\\":0,\\\"low_stock_threshold\\\":5}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/settings\"\n\n\tpayload := strings.NewReader(\"{\\\"track_inventory\\\":true,\\\"stock_cap\\\":0,\\\"low_stock_threshold\\\":5}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/settings\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Patch.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"track_inventory\\\":true,\\\"stock_cap\\\":0,\\\"low_stock_threshold\\\":5}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/inventory/variants/{id}/track": {
      "post": {
        "description": "Track is determined by whether the variant has ANY active `partner_product_sources`. Setting `preloaded` deactivates all of them (admin-managed vouchers pool becomes SoT). Setting `api` reactivates the most recently updated source (no-op if none exist).",
        "operationId": "AdminInventory_setTrack",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetTrackDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Force variant onto preloaded or api inventory track",
        "tags": [
          "Inventory"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/track \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"track\":\"preloaded\",\"note\":\"Switching to local codes\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/track';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"track\":\"preloaded\",\"note\":\"Switching to local codes\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"track\":\"preloaded\",\"note\":\"Switching to local codes\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/track', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/track\"\n\npayload = {\n    \"track\": \"preloaded\",\n    \"note\": \"Switching to local codes\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/track\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"track\\\":\\\"preloaded\\\",\\\"note\\\":\\\"Switching to local codes\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/track\"\n\n\tpayload := strings.NewReader(\"{\\\"track\\\":\\\"preloaded\\\",\\\"note\\\":\\\"Switching to local codes\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/track\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"track\\\":\\\"preloaded\\\",\\\"note\\\":\\\"Switching to local codes\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/inventory/variants/{id}/vouchers/bulk": {
      "post": {
        "description": "Creates `available` voucher rows for the variant. Accepts `codes` (array) or `codes_text` (newline/comma/whitespace-separated). Duplicate codes are skipped and returned in `skipped`.",
        "operationId": "AdminInventory_bulkUploadVouchers",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkVouchersDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Bulk upload voucher codes (preloaded track)",
        "tags": [
          "Inventory"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/vouchers/bulk \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"codes\":[{\"code\":\"ABCD-1234-EFGH\",\"serial_number\":\"string\",\"cost\":0,\"expires_at\":\"2019-08-24T14:15:22Z\",\"metadata\":{}}],\"codes_text\":\"ABCD-1111\\nABCD-2222\\nABCD-3333\",\"default_cost\":0,\"default_expires_at\":\"2019-08-24T14:15:22Z\",\"note\":\"Seed batch April 2026\",\"partner_id\":0}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/vouchers/bulk';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"codes\":[{\"code\":\"ABCD-1234-EFGH\",\"serial_number\":\"string\",\"cost\":0,\"expires_at\":\"2019-08-24T14:15:22Z\",\"metadata\":{}}],\"codes_text\":\"ABCD-1111\\nABCD-2222\\nABCD-3333\",\"default_cost\":0,\"default_expires_at\":\"2019-08-24T14:15:22Z\",\"note\":\"Seed batch April 2026\",\"partner_id\":0}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"codes\":[{\"code\":\"ABCD-1234-EFGH\",\"serial_number\":\"string\",\"cost\":0,\"expires_at\":\"2019-08-24T14:15:22Z\",\"metadata\":{}}],\"codes_text\":\"ABCD-1111\\nABCD-2222\\nABCD-3333\",\"default_cost\":0,\"default_expires_at\":\"2019-08-24T14:15:22Z\",\"note\":\"Seed batch April 2026\",\"partner_id\":0}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/vouchers/bulk', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/vouchers/bulk\"\n\npayload = {\n    \"codes\": [\n        {\n            \"code\": \"ABCD-1234-EFGH\",\n            \"serial_number\": \"string\",\n            \"cost\": 0,\n            \"expires_at\": \"2019-08-24T14:15:22Z\",\n            \"metadata\": {}\n        }\n    ],\n    \"codes_text\": \"ABCD-1111\nABCD-2222\nABCD-3333\",\n    \"default_cost\": 0,\n    \"default_expires_at\": \"2019-08-24T14:15:22Z\",\n    \"note\": \"Seed batch April 2026\",\n    \"partner_id\": 0\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/vouchers/bulk\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"codes\\\":[{\\\"code\\\":\\\"ABCD-1234-EFGH\\\",\\\"serial_number\\\":\\\"string\\\",\\\"cost\\\":0,\\\"expires_at\\\":\\\"2019-08-24T14:15:22Z\\\",\\\"metadata\\\":{}}],\\\"codes_text\\\":\\\"ABCD-1111\\\\nABCD-2222\\\\nABCD-3333\\\",\\\"default_cost\\\":0,\\\"default_expires_at\\\":\\\"2019-08-24T14:15:22Z\\\",\\\"note\\\":\\\"Seed batch April 2026\\\",\\\"partner_id\\\":0}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/vouchers/bulk\"\n\n\tpayload := strings.NewReader(\"{\\\"codes\\\":[{\\\"code\\\":\\\"ABCD-1234-EFGH\\\",\\\"serial_number\\\":\\\"string\\\",\\\"cost\\\":0,\\\"expires_at\\\":\\\"2019-08-24T14:15:22Z\\\",\\\"metadata\\\":{}}],\\\"codes_text\\\":\\\"ABCD-1111\\\\nABCD-2222\\\\nABCD-3333\\\",\\\"default_cost\\\":0,\\\"default_expires_at\\\":\\\"2019-08-24T14:15:22Z\\\",\\\"note\\\":\\\"Seed batch April 2026\\\",\\\"partner_id\\\":0}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/inventory/variants/%7Bid%7D/vouchers/bulk\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"codes\\\":[{\\\"code\\\":\\\"ABCD-1234-EFGH\\\",\\\"serial_number\\\":\\\"string\\\",\\\"cost\\\":0,\\\"expires_at\\\":\\\"2019-08-24T14:15:22Z\\\",\\\"metadata\\\":{}}],\\\"codes_text\\\":\\\"ABCD-1111\\\\nABCD-2222\\\\nABCD-3333\\\",\\\"default_cost\\\":0,\\\"default_expires_at\\\":\\\"2019-08-24T14:15:22Z\\\",\\\"note\\\":\\\"Seed batch April 2026\\\",\\\"partner_id\\\":0}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/balance": {
      "get": {
        "operationId": "AdminZendit_getBalance",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Get Zendit account balance",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · Get Zendit account balance",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/zendit/balance \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/balance';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/balance', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/balance\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/balance\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/balance\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/balance\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/brands": {
      "get": {
        "operationId": "AdminZendit_getBrands",
        "parameters": [
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "List Zendit brands",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · List Zendit brands",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/brands?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&country=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/brands?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&country=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/brands?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&country=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/brands\"\n\nquerystring = {\"limit\":\"SOME_STRING_VALUE\",\"offset\":\"SOME_STRING_VALUE\",\"country\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/brands?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&country=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/brands?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&country=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/brands?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&country=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/vouchers/offers": {
      "get": {
        "operationId": "AdminZendit_getVoucherOffers",
        "parameters": [
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "brand",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subType",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "regions",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "List Zendit voucher offers",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · List Zendit voucher offers",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/offers?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&brand=SOME_STRING_VALUE&country=SOME_STRING_VALUE&subType=SOME_STRING_VALUE&regions=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/offers?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&brand=SOME_STRING_VALUE&country=SOME_STRING_VALUE&subType=SOME_STRING_VALUE&regions=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/offers?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&brand=SOME_STRING_VALUE&country=SOME_STRING_VALUE&subType=SOME_STRING_VALUE&regions=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/offers\"\n\nquerystring = {\"limit\":\"SOME_STRING_VALUE\",\"offset\":\"SOME_STRING_VALUE\",\"brand\":\"SOME_STRING_VALUE\",\"country\":\"SOME_STRING_VALUE\",\"subType\":\"SOME_STRING_VALUE\",\"regions\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/offers?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&brand=SOME_STRING_VALUE&country=SOME_STRING_VALUE&subType=SOME_STRING_VALUE&regions=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/offers?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&brand=SOME_STRING_VALUE&country=SOME_STRING_VALUE&subType=SOME_STRING_VALUE&regions=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/offers?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&brand=SOME_STRING_VALUE&country=SOME_STRING_VALUE&subType=SOME_STRING_VALUE&regions=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/vouchers/offers/{offerId}": {
      "get": {
        "operationId": "AdminZendit_getVoucherOffer",
        "parameters": [
          {
            "name": "offerId",
            "required": true,
            "in": "path",
            "schema": {
              "example": "NETFLIX_US_20_WHS",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Get a single Zendit voucher offer",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · Get a single Zendit voucher offer",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/offers/NETFLIX_US_20_WHS \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/offers/NETFLIX_US_20_WHS';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/offers/NETFLIX_US_20_WHS', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/offers/NETFLIX_US_20_WHS\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/offers/NETFLIX_US_20_WHS\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/offers/NETFLIX_US_20_WHS\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/offers/NETFLIX_US_20_WHS\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/vouchers/purchases": {
      "post": {
        "operationId": "AdminZendit_purchaseVoucher",
        "parameters": [],
        "requestBody": {
          "required": true,
          "description": "Zendit voucher purchase request. See https://developers.zendit.io/api/#tag/Voucher/operation/purchaseVoucher",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "offerId"
                ],
                "properties": {
                  "offerId": {
                    "type": "string",
                    "example": "NETFLIX_US_20_WHS"
                  },
                  "transactionId": {
                    "type": "string",
                    "example": "ADMIN-abc-123"
                  },
                  "fields": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "key": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "value": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "PRICE",
                          "ZEND"
                        ]
                      },
                      "value": {
                        "type": "number"
                      }
                    }
                  },
                  "poll": {
                    "type": "boolean",
                    "description": "Poll for completion before returning (default true)"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Purchase a voucher directly from Zendit (admin on-demand)",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · Purchase a voucher directly from Zendit (admin on-demand)",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/purchases \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"offerId\":\"NETFLIX_US_20_WHS\",\"transactionId\":\"ADMIN-abc-123\",\"fields\":[{\"key\":\"string\",\"value\":\"string\"}],\"value\":{\"type\":\"PRICE\",\"value\":0},\"poll\":true}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/purchases';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"offerId\":\"NETFLIX_US_20_WHS\",\"transactionId\":\"ADMIN-abc-123\",\"fields\":[{\"key\":\"string\",\"value\":\"string\"}],\"value\":{\"type\":\"PRICE\",\"value\":0},\"poll\":true}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"offerId\":\"NETFLIX_US_20_WHS\",\"transactionId\":\"ADMIN-abc-123\",\"fields\":[{\"key\":\"string\",\"value\":\"string\"}],\"value\":{\"type\":\"PRICE\",\"value\":0},\"poll\":true}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/purchases', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/purchases\"\n\npayload = {\n    \"offerId\": \"NETFLIX_US_20_WHS\",\n    \"transactionId\": \"ADMIN-abc-123\",\n    \"fields\": [\n        {\n            \"key\": \"string\",\n            \"value\": \"string\"\n        }\n    ],\n    \"value\": {\n        \"type\": \"PRICE\",\n        \"value\": 0\n    },\n    \"poll\": True\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/purchases\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"offerId\\\":\\\"NETFLIX_US_20_WHS\\\",\\\"transactionId\\\":\\\"ADMIN-abc-123\\\",\\\"fields\\\":[{\\\"key\\\":\\\"string\\\",\\\"value\\\":\\\"string\\\"}],\\\"value\\\":{\\\"type\\\":\\\"PRICE\\\",\\\"value\\\":0},\\\"poll\\\":true}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/purchases\"\n\n\tpayload := strings.NewReader(\"{\\\"offerId\\\":\\\"NETFLIX_US_20_WHS\\\",\\\"transactionId\\\":\\\"ADMIN-abc-123\\\",\\\"fields\\\":[{\\\"key\\\":\\\"string\\\",\\\"value\\\":\\\"string\\\"}],\\\"value\\\":{\\\"type\\\":\\\"PRICE\\\",\\\"value\\\":0},\\\"poll\\\":true}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/purchases\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"offerId\\\":\\\"NETFLIX_US_20_WHS\\\",\\\"transactionId\\\":\\\"ADMIN-abc-123\\\",\\\"fields\\\":[{\\\"key\\\":\\\"string\\\",\\\"value\\\":\\\"string\\\"}],\\\"value\\\":{\\\"type\\\":\\\"PRICE\\\",\\\"value\\\":0},\\\"poll\\\":true}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "get": {
        "operationId": "AdminZendit_listVoucherPurchases",
        "parameters": [
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdAt",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "List Zendit voucher purchases",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · List Zendit voucher purchases",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/purchases?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&status=SOME_STRING_VALUE&createdAt=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/purchases?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&status=SOME_STRING_VALUE&createdAt=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/purchases?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&status=SOME_STRING_VALUE&createdAt=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/purchases\"\n\nquerystring = {\"limit\":\"SOME_STRING_VALUE\",\"offset\":\"SOME_STRING_VALUE\",\"status\":\"SOME_STRING_VALUE\",\"createdAt\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/purchases?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&status=SOME_STRING_VALUE&createdAt=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/purchases?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&status=SOME_STRING_VALUE&createdAt=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/purchases?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&status=SOME_STRING_VALUE&createdAt=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/vouchers/purchases/{transactionId}": {
      "get": {
        "operationId": "AdminZendit_getVoucherPurchase",
        "parameters": [
          {
            "name": "transactionId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Get a Zendit voucher purchase by transactionId",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · Get a Zendit voucher purchase by transactionId",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/purchases/%7BtransactionId%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/purchases/%7BtransactionId%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/purchases/%7BtransactionId%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/purchases/%7BtransactionId%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/purchases/%7BtransactionId%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/purchases/%7BtransactionId%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/vouchers/purchases/%7BtransactionId%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/topups/offers": {
      "get": {
        "operationId": "AdminZendit_getTopupOffers",
        "parameters": [
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "brand",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subType",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "regions",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "List Zendit topup offers",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · List Zendit topup offers",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/offers?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&brand=SOME_STRING_VALUE&country=SOME_STRING_VALUE&subType=SOME_STRING_VALUE&regions=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/offers?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&brand=SOME_STRING_VALUE&country=SOME_STRING_VALUE&subType=SOME_STRING_VALUE&regions=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/offers?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&brand=SOME_STRING_VALUE&country=SOME_STRING_VALUE&subType=SOME_STRING_VALUE&regions=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/offers\"\n\nquerystring = {\"limit\":\"SOME_STRING_VALUE\",\"offset\":\"SOME_STRING_VALUE\",\"brand\":\"SOME_STRING_VALUE\",\"country\":\"SOME_STRING_VALUE\",\"subType\":\"SOME_STRING_VALUE\",\"regions\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/offers?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&brand=SOME_STRING_VALUE&country=SOME_STRING_VALUE&subType=SOME_STRING_VALUE&regions=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/offers?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&brand=SOME_STRING_VALUE&country=SOME_STRING_VALUE&subType=SOME_STRING_VALUE&regions=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/offers?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&brand=SOME_STRING_VALUE&country=SOME_STRING_VALUE&subType=SOME_STRING_VALUE&regions=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/topups/offers/{offerId}": {
      "get": {
        "operationId": "AdminZendit_getTopupOffer",
        "parameters": [
          {
            "name": "offerId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Get a single Zendit topup offer",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · Get a single Zendit topup offer",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/offers/%7BofferId%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/offers/%7BofferId%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/offers/%7BofferId%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/offers/%7BofferId%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/offers/%7BofferId%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/offers/%7BofferId%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/offers/%7BofferId%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/topups/purchases": {
      "post": {
        "operationId": "AdminZendit_purchaseTopup",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Purchase a mobile topup directly from Zendit",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · Purchase a mobile topup directly from Zendit",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/purchases \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/purchases';\n\nlet options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/purchases', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/purchases\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"POST\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/purchases\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/purchases\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/purchases\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/topups/purchases/{transactionId}": {
      "get": {
        "operationId": "AdminZendit_getTopupPurchase",
        "parameters": [
          {
            "name": "transactionId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Get a Zendit topup purchase by transactionId",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · Get a Zendit topup purchase by transactionId",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/purchases/%7BtransactionId%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/purchases/%7BtransactionId%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/purchases/%7BtransactionId%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/purchases/%7BtransactionId%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/purchases/%7BtransactionId%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/purchases/%7BtransactionId%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/topups/purchases/%7BtransactionId%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/esim/offers": {
      "get": {
        "operationId": "AdminZendit_getEsimOffers",
        "parameters": [
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "brand",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subType",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "regions",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "List Zendit eSIM offers",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · List Zendit eSIM offers",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/offers?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&brand=SOME_STRING_VALUE&country=SOME_STRING_VALUE&subType=SOME_STRING_VALUE&regions=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/offers?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&brand=SOME_STRING_VALUE&country=SOME_STRING_VALUE&subType=SOME_STRING_VALUE&regions=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/offers?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&brand=SOME_STRING_VALUE&country=SOME_STRING_VALUE&subType=SOME_STRING_VALUE&regions=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/offers\"\n\nquerystring = {\"limit\":\"SOME_STRING_VALUE\",\"offset\":\"SOME_STRING_VALUE\",\"brand\":\"SOME_STRING_VALUE\",\"country\":\"SOME_STRING_VALUE\",\"subType\":\"SOME_STRING_VALUE\",\"regions\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/offers?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&brand=SOME_STRING_VALUE&country=SOME_STRING_VALUE&subType=SOME_STRING_VALUE&regions=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/offers?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&brand=SOME_STRING_VALUE&country=SOME_STRING_VALUE&subType=SOME_STRING_VALUE&regions=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/offers?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&brand=SOME_STRING_VALUE&country=SOME_STRING_VALUE&subType=SOME_STRING_VALUE&regions=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/esim/offers/{offerId}": {
      "get": {
        "operationId": "AdminZendit_getEsimOffer",
        "parameters": [
          {
            "name": "offerId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Get a single Zendit eSIM offer",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · Get a single Zendit eSIM offer",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/offers/%7BofferId%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/offers/%7BofferId%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/offers/%7BofferId%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/offers/%7BofferId%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/offers/%7BofferId%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/offers/%7BofferId%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/offers/%7BofferId%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/esim/purchases": {
      "post": {
        "operationId": "AdminZendit_purchaseEsim",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Purchase an eSIM directly from Zendit",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · Purchase an eSIM directly from Zendit",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/purchases \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/purchases';\n\nlet options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/purchases', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/purchases\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"POST\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/purchases\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/purchases\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/purchases\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/esim/purchases/{transactionId}": {
      "get": {
        "operationId": "AdminZendit_getEsimPurchase",
        "parameters": [
          {
            "name": "transactionId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Get a Zendit eSIM purchase by transactionId",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · Get a Zendit eSIM purchase by transactionId",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/purchases/%7BtransactionId%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/purchases/%7BtransactionId%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/purchases/%7BtransactionId%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/purchases/%7BtransactionId%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/purchases/%7BtransactionId%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/purchases/%7BtransactionId%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/esim/purchases/%7BtransactionId%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/transactions": {
      "get": {
        "operationId": "AdminZendit_getTransactions",
        "parameters": [
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productType",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "createdAt",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "List all Zendit transactions",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · List all Zendit transactions",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/transactions?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&status=SOME_STRING_VALUE&productType=SOME_STRING_VALUE&createdAt=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/transactions?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&status=SOME_STRING_VALUE&productType=SOME_STRING_VALUE&createdAt=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/transactions?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&status=SOME_STRING_VALUE&productType=SOME_STRING_VALUE&createdAt=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/transactions\"\n\nquerystring = {\"limit\":\"SOME_STRING_VALUE\",\"offset\":\"SOME_STRING_VALUE\",\"status\":\"SOME_STRING_VALUE\",\"productType\":\"SOME_STRING_VALUE\",\"createdAt\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/transactions?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&status=SOME_STRING_VALUE&productType=SOME_STRING_VALUE&createdAt=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/transactions?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&status=SOME_STRING_VALUE&productType=SOME_STRING_VALUE&createdAt=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/transactions?limit=SOME_STRING_VALUE&offset=SOME_STRING_VALUE&status=SOME_STRING_VALUE&productType=SOME_STRING_VALUE&createdAt=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/transactions/{transactionId}": {
      "get": {
        "operationId": "AdminZendit_getTransaction",
        "parameters": [
          {
            "name": "transactionId",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Get a single Zendit transaction",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · Get a single Zendit transaction",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/zendit/transactions/%7BtransactionId%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/transactions/%7BtransactionId%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/transactions/%7BtransactionId%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/transactions/%7BtransactionId%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/transactions/%7BtransactionId%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/transactions/%7BtransactionId%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/transactions/%7BtransactionId%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/import/vouchers": {
      "post": {
        "operationId": "AdminZendit_importVoucherOffers",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Import Zendit voucher offers into the DB",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · Import Zendit voucher offers into the DB",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/vouchers \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/vouchers';\n\nlet options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/vouchers', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/vouchers\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"POST\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/vouchers\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/vouchers\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/vouchers\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/import/topups": {
      "post": {
        "operationId": "AdminZendit_importTopupOffers",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Import Zendit topup offers into the DB",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · Import Zendit topup offers into the DB",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/topups \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/topups';\n\nlet options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/topups', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/topups\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"POST\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/topups\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/topups\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/topups\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/import/esim": {
      "post": {
        "operationId": "AdminZendit_importEsimOffers",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Import Zendit eSIM offers into the DB",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · Import Zendit eSIM offers into the DB",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/esim \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/esim';\n\nlet options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/esim', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/esim\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"POST\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/esim\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/esim\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/esim\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/import/all": {
      "post": {
        "operationId": "AdminZendit_importAllOffers",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Import all Zendit product types into the DB",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · Import all Zendit product types into the DB",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/all \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/all';\n\nlet options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/all', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/all\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"POST\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/all\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/all\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/all\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/sync/prices": {
      "post": {
        "operationId": "AdminZendit_syncPrices",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Sync prices for already-imported Zendit offers",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · Sync prices for already-imported Zendit offers",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/zendit/sync/prices \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/sync/prices';\n\nlet options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/sync/prices', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/sync/prices\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"POST\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/sync/prices\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/sync/prices\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/sync/prices\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/import/from-csv": {
      "post": {
        "operationId": "AdminZendit_importFromCsv",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Import Zendit offers from a CSV catalog",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · Import Zendit offers from a CSV catalog",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/from-csv \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/from-csv';\n\nlet options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/from-csv', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/from-csv\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"POST\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/from-csv\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/from-csv\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/from-csv\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/zendit/import/filtered-vouchers": {
      "post": {
        "operationId": "AdminZendit_importFilteredVouchers",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Import filtered Zendit voucher offers",
        "tags": [
          "Zendit"
        ],
        "description": "`Admin Zendit` · Import filtered Zendit voucher offers",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/filtered-vouchers \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/filtered-vouchers';\n\nlet options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/filtered-vouchers', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/filtered-vouchers\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"POST\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/filtered-vouchers\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/filtered-vouchers\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/zendit/import/filtered-vouchers\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/redemption/campaigns": {
      "get": {
        "operationId": "AdminRedemption_listCampaigns",
        "parameters": [
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "List redemption campaigns",
        "tags": [
          "Redemption"
        ],
        "description": "`Admin Redemption` · List redemption campaigns",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&status=SOME_STRING_VALUE&search=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&status=SOME_STRING_VALUE&search=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&status=SOME_STRING_VALUE&search=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns\"\n\nquerystring = {\"page\":\"SOME_STRING_VALUE\",\"limit\":\"SOME_STRING_VALUE\",\"status\":\"SOME_STRING_VALUE\",\"search\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&status=SOME_STRING_VALUE&search=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&status=SOME_STRING_VALUE&search=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns?page=SOME_STRING_VALUE&limit=SOME_STRING_VALUE&status=SOME_STRING_VALUE&search=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "post": {
        "operationId": "AdminRedemption_createCampaign",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRedemptionCampaignDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Create a redemption campaign",
        "tags": [
          "Redemption"
        ],
        "description": "`Admin Redemption` · Create a redemption campaign",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"Spotify Premium $10 — Promo\",\"slug\":\"spotify-10-promo\",\"description\":\"string\",\"headline\":\"string\",\"cta_text\":\"string\",\"variant_id\":1,\"brand_id\":1,\"instruction_template\":\"string\",\"require_email\":false,\"require_phone\":true,\"max_per_ip\":1,\"starts_at\":\"string\",\"ends_at\":\"string\",\"status\":\"active\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"Spotify Premium $10 — Promo\",\"slug\":\"spotify-10-promo\",\"description\":\"string\",\"headline\":\"string\",\"cta_text\":\"string\",\"variant_id\":1,\"brand_id\":1,\"instruction_template\":\"string\",\"require_email\":false,\"require_phone\":true,\"max_per_ip\":1,\"starts_at\":\"string\",\"ends_at\":\"string\",\"status\":\"active\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"Spotify Premium $10 — Promo\",\"slug\":\"spotify-10-promo\",\"description\":\"string\",\"headline\":\"string\",\"cta_text\":\"string\",\"variant_id\":1,\"brand_id\":1,\"instruction_template\":\"string\",\"require_email\":false,\"require_phone\":true,\"max_per_ip\":1,\"starts_at\":\"string\",\"ends_at\":\"string\",\"status\":\"active\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns\"\n\npayload = {\n    \"name\": \"Spotify Premium $10 — Promo\",\n    \"slug\": \"spotify-10-promo\",\n    \"description\": \"string\",\n    \"headline\": \"string\",\n    \"cta_text\": \"string\",\n    \"variant_id\": 1,\n    \"brand_id\": 1,\n    \"instruction_template\": \"string\",\n    \"require_email\": False,\n    \"require_phone\": True,\n    \"max_per_ip\": 1,\n    \"starts_at\": \"string\",\n    \"ends_at\": \"string\",\n    \"status\": \"active\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"Spotify Premium $10 — Promo\\\",\\\"slug\\\":\\\"spotify-10-promo\\\",\\\"description\\\":\\\"string\\\",\\\"headline\\\":\\\"string\\\",\\\"cta_text\\\":\\\"string\\\",\\\"variant_id\\\":1,\\\"brand_id\\\":1,\\\"instruction_template\\\":\\\"string\\\",\\\"require_email\\\":false,\\\"require_phone\\\":true,\\\"max_per_ip\\\":1,\\\"starts_at\\\":\\\"string\\\",\\\"ends_at\\\":\\\"string\\\",\\\"status\\\":\\\"active\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"Spotify Premium $10 — Promo\\\",\\\"slug\\\":\\\"spotify-10-promo\\\",\\\"description\\\":\\\"string\\\",\\\"headline\\\":\\\"string\\\",\\\"cta_text\\\":\\\"string\\\",\\\"variant_id\\\":1,\\\"brand_id\\\":1,\\\"instruction_template\\\":\\\"string\\\",\\\"require_email\\\":false,\\\"require_phone\\\":true,\\\"max_per_ip\\\":1,\\\"starts_at\\\":\\\"string\\\",\\\"ends_at\\\":\\\"string\\\",\\\"status\\\":\\\"active\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"Spotify Premium $10 — Promo\\\",\\\"slug\\\":\\\"spotify-10-promo\\\",\\\"description\\\":\\\"string\\\",\\\"headline\\\":\\\"string\\\",\\\"cta_text\\\":\\\"string\\\",\\\"variant_id\\\":1,\\\"brand_id\\\":1,\\\"instruction_template\\\":\\\"string\\\",\\\"require_email\\\":false,\\\"require_phone\\\":true,\\\"max_per_ip\\\":1,\\\"starts_at\\\":\\\"string\\\",\\\"ends_at\\\":\\\"string\\\",\\\"status\\\":\\\"active\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/redemption/campaigns/{id}": {
      "get": {
        "operationId": "AdminRedemption_getCampaign",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Get a campaign by id",
        "tags": [
          "Redemption"
        ],
        "description": "`Admin Redemption` · Get a campaign by id",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "put": {
        "operationId": "AdminRedemption_updateCampaign",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRedemptionCampaignDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Update a campaign",
        "tags": [
          "Redemption"
        ],
        "description": "`Admin Redemption` · Update a campaign",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"name\":\"string\",\"slug\":\"string\",\"description\":\"string\",\"headline\":\"string\",\"cta_text\":\"string\",\"variant_id\":1,\"brand_id\":1,\"instruction_template\":\"string\",\"require_email\":true,\"require_phone\":true,\"max_per_ip\":0,\"starts_at\":\"string\",\"ends_at\":\"string\",\"status\":\"active\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"description\":\"string\",\"headline\":\"string\",\"cta_text\":\"string\",\"variant_id\":1,\"brand_id\":1,\"instruction_template\":\"string\",\"require_email\":true,\"require_phone\":true,\"max_per_ip\":0,\"starts_at\":\"string\",\"ends_at\":\"string\",\"status\":\"active\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"name\":\"string\",\"slug\":\"string\",\"description\":\"string\",\"headline\":\"string\",\"cta_text\":\"string\",\"variant_id\":1,\"brand_id\":1,\"instruction_template\":\"string\",\"require_email\":true,\"require_phone\":true,\"max_per_ip\":0,\"starts_at\":\"string\",\"ends_at\":\"string\",\"status\":\"active\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D\"\n\npayload = {\n    \"name\": \"string\",\n    \"slug\": \"string\",\n    \"description\": \"string\",\n    \"headline\": \"string\",\n    \"cta_text\": \"string\",\n    \"variant_id\": 1,\n    \"brand_id\": 1,\n    \"instruction_template\": \"string\",\n    \"require_email\": True,\n    \"require_phone\": True,\n    \"max_per_ip\": 0,\n    \"starts_at\": \"string\",\n    \"ends_at\": \"string\",\n    \"status\": \"active\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"headline\\\":\\\"string\\\",\\\"cta_text\\\":\\\"string\\\",\\\"variant_id\\\":1,\\\"brand_id\\\":1,\\\"instruction_template\\\":\\\"string\\\",\\\"require_email\\\":true,\\\"require_phone\\\":true,\\\"max_per_ip\\\":0,\\\"starts_at\\\":\\\"string\\\",\\\"ends_at\\\":\\\"string\\\",\\\"status\\\":\\\"active\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"headline\\\":\\\"string\\\",\\\"cta_text\\\":\\\"string\\\",\\\"variant_id\\\":1,\\\"brand_id\\\":1,\\\"instruction_template\\\":\\\"string\\\",\\\"require_email\\\":true,\\\"require_phone\\\":true,\\\"max_per_ip\\\":0,\\\"starts_at\\\":\\\"string\\\",\\\"ends_at\\\":\\\"string\\\",\\\"status\\\":\\\"active\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"name\\\":\\\"string\\\",\\\"slug\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"headline\\\":\\\"string\\\",\\\"cta_text\\\":\\\"string\\\",\\\"variant_id\\\":1,\\\"brand_id\\\":1,\\\"instruction_template\\\":\\\"string\\\",\\\"require_email\\\":true,\\\"require_phone\\\":true,\\\"max_per_ip\\\":0,\\\"starts_at\\\":\\\"string\\\",\\\"ends_at\\\":\\\"string\\\",\\\"status\\\":\\\"active\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "operationId": "AdminRedemption_deleteCampaign",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Delete a campaign (cascades to its codes)",
        "tags": [
          "Redemption"
        ],
        "description": "`Admin Redemption` · Delete a campaign (cascades to its codes)",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/redemption/campaigns/{id}/stats": {
      "get": {
        "operationId": "AdminRedemption_stats",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Per-campaign redemption stats",
        "tags": [
          "Redemption"
        ],
        "description": "`Admin Redemption` · Per-campaign redemption stats",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/stats \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/stats';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/stats', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/stats\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/stats\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/stats\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/stats\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/redemption/campaigns/{id}/codes/generate": {
      "post": {
        "description": "Either supply `entries` (one redemption token per real voucher code) or `count` (placeholders with status=pending_stock that the admin fills in later via PUT /admin/redemption/codes/:id).",
        "operationId": "AdminRedemption_generateCodes",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateCodesDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Generate redemption codes",
        "tags": [
          "Redemption"
        ],
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/codes/generate \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"entries\":[{\"actual_voucher_code\":\"string\",\"instructions\":\"string\",\"brand_id\":1}],\"count\":0,\"code_length\":9,\"partner_id\":1,\"partner_external_offer_id\":\"string\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/codes/generate';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"entries\":[{\"actual_voucher_code\":\"string\",\"instructions\":\"string\",\"brand_id\":1}],\"count\":0,\"code_length\":9,\"partner_id\":1,\"partner_external_offer_id\":\"string\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"entries\":[{\"actual_voucher_code\":\"string\",\"instructions\":\"string\",\"brand_id\":1}],\"count\":0,\"code_length\":9,\"partner_id\":1,\"partner_external_offer_id\":\"string\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/codes/generate', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/codes/generate\"\n\npayload = {\n    \"entries\": [\n        {\n            \"actual_voucher_code\": \"string\",\n            \"instructions\": \"string\",\n            \"brand_id\": 1\n        }\n    ],\n    \"count\": 0,\n    \"code_length\": 9,\n    \"partner_id\": 1,\n    \"partner_external_offer_id\": \"string\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/codes/generate\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"entries\\\":[{\\\"actual_voucher_code\\\":\\\"string\\\",\\\"instructions\\\":\\\"string\\\",\\\"brand_id\\\":1}],\\\"count\\\":0,\\\"code_length\\\":9,\\\"partner_id\\\":1,\\\"partner_external_offer_id\\\":\\\"string\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/codes/generate\"\n\n\tpayload := strings.NewReader(\"{\\\"entries\\\":[{\\\"actual_voucher_code\\\":\\\"string\\\",\\\"instructions\\\":\\\"string\\\",\\\"brand_id\\\":1}],\\\"count\\\":0,\\\"code_length\\\":9,\\\"partner_id\\\":1,\\\"partner_external_offer_id\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/codes/generate\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"entries\\\":[{\\\"actual_voucher_code\\\":\\\"string\\\",\\\"instructions\\\":\\\"string\\\",\\\"brand_id\\\":1}],\\\"count\\\":0,\\\"code_length\\\":9,\\\"partner_id\\\":1,\\\"partner_external_offer_id\\\":\\\"string\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/redemption/campaigns/{id}/codes": {
      "get": {
        "operationId": "AdminRedemption_listCodes",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "page",
            "required": false,
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 1,
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": false,
            "in": "query",
            "schema": {
              "minimum": 1,
              "default": 50,
              "type": "number"
            }
          },
          {
            "name": "status",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "unused",
                "pending_stock",
                "redeemed",
                "voided"
              ]
            }
          },
          {
            "name": "search",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "List codes for a campaign",
        "tags": [
          "Redemption"
        ],
        "description": "`Admin Redemption` · List codes for a campaign",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url 'https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/codes?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&status=SOME_STRING_VALUE&search=SOME_STRING_VALUE' \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/codes?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&status=SOME_STRING_VALUE&search=SOME_STRING_VALUE';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/codes?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&status=SOME_STRING_VALUE&search=SOME_STRING_VALUE', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/codes\"\n\nquerystring = {\"page\":\"SOME_NUMBER_VALUE\",\"limit\":\"SOME_NUMBER_VALUE\",\"status\":\"SOME_STRING_VALUE\",\"search\":\"SOME_STRING_VALUE\"}\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers, params=querystring)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/codes?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&status=SOME_STRING_VALUE&search=SOME_STRING_VALUE\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/codes?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&status=SOME_STRING_VALUE&search=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/codes?page=SOME_NUMBER_VALUE&limit=SOME_NUMBER_VALUE&status=SOME_STRING_VALUE&search=SOME_STRING_VALUE\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/redemption/campaigns/{id}/codes/export": {
      "get": {
        "operationId": "AdminRedemption_exportCsv",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "base_url",
            "required": false,
            "in": "query",
            "schema": {}
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "CSV export of all codes (with scan URL) for the print shop",
        "tags": [
          "Redemption"
        ],
        "description": "`Admin Redemption` · CSV export of all codes (with scan URL) for the print shop"
      }
    },
    "/admin/redemption/campaigns/{id}/codes/void": {
      "post": {
        "operationId": "AdminRedemption_voidCodes",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VoidCodesDto"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Void a batch of unused codes",
        "tags": [
          "Redemption"
        ],
        "description": "`Admin Redemption` · Void a batch of unused codes",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request POST \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/codes/void \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"ids\":[0]}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/codes/void';\n\nlet options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"ids\":[0]}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'POST',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"ids\":[0]}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/codes/void', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/codes/void\"\n\npayload = {\"ids\": [0]}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"POST\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/codes/void\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"ids\\\":[0]}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/codes/void\"\n\n\tpayload := strings.NewReader(\"{\\\"ids\\\":[0]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/redemption/campaigns/%7Bid%7D/codes/void\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"ids\\\":[0]}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/admin/redemption/codes/{id}": {
      "put": {
        "operationId": "AdminRedemption_updateCode",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRedemptionCodeDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Update a single redemption code (e.g. set the actual voucher code)",
        "tags": [
          "Redemption"
        ],
        "description": "`Admin Redemption` · Update a single redemption code (e.g. set the actual voucher code)",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request PUT \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/redemption/codes/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \\\n  --header 'content-type: application/json' \\\n  --data '{\"actual_voucher_code\":\"string\",\"instructions\":\"string\",\"brand_id\":1,\"status\":\"unused\"}'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/redemption/codes/%7Bid%7D';\n\nlet options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"actual_voucher_code\":\"string\",\"instructions\":\"string\",\"brand_id\":1,\"status\":\"unused\"}'\n};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {\n  method: 'PUT',\n  headers: {\n    Authorization: 'Bearer REPLACE_BEARER_TOKEN',\n    'content-type': 'application/json'\n  },\n  body: '{\"actual_voucher_code\":\"string\",\"instructions\":\"string\",\"brand_id\":1,\"status\":\"unused\"}'\n};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/redemption/codes/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/codes/%7Bid%7D\"\n\npayload = {\n    \"actual_voucher_code\": \"string\",\n    \"instructions\": \"string\",\n    \"brand_id\": 1,\n    \"status\": \"unused\"\n}\nheaders = {\n    \"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type\": \"application/json\"\n}\n\nresponse = requests.request(\"PUT\", url, json=payload, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/codes/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"PUT\",\n  CURLOPT_POSTFIELDS => \"{\\\"actual_voucher_code\\\":\\\"string\\\",\\\"instructions\\\":\\\"string\\\",\\\"brand_id\\\":1,\\\"status\\\":\\\"unused\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/codes/%7Bid%7D\"\n\n\tpayload := strings.NewReader(\"{\\\"actual_voucher_code\\\":\\\"string\\\",\\\"instructions\\\":\\\"string\\\",\\\"brand_id\\\":1,\\\"status\\\":\\\"unused\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/redemption/codes/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Put.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\nrequest[\"content-type\"] = 'application/json'\nrequest.body = \"{\\\"actual_voucher_code\\\":\\\"string\\\",\\\"instructions\\\":\\\"string\\\",\\\"brand_id\\\":1,\\\"status\\\":\\\"unused\\\"}\"\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      },
      "delete": {
        "operationId": "AdminRedemption_deleteCode",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": ""
          },
          "400": {
            "$ref": "#/components/responses/Error400"
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "422": {
            "$ref": "#/components/responses/Error422"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Delete an unused/voided code",
        "tags": [
          "Redemption"
        ],
        "description": "`Admin Redemption` · Delete an unused/voided code",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request DELETE \\\n  --url https://api.admin.bdvoucher.com/api/v1/admin/redemption/codes/%7Bid%7D \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/admin/redemption/codes/%7Bid%7D';\n\nlet options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'DELETE', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/admin/redemption/codes/%7Bid%7D', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/codes/%7Bid%7D\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"DELETE\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/codes/%7Bid%7D\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"DELETE\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/admin/redemption/codes/%7Bid%7D\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/admin/redemption/codes/%7Bid%7D\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/health": {
      "get": {
        "operationId": "AdminHealth_health",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Basic health check - just confirms the service is running\nUse for: Load balancer health checks, basic uptime monitoring",
        "tags": [
          "Health"
        ],
        "description": "`Admin Health` · Basic health check - just confirms the service is running\nUse for: Load balancer health checks, basic uptime monitoring",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/health \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/health';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/health', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/health\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/health\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/health\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/health\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/health/ready": {
      "get": {
        "operationId": "AdminHealth_ready",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Readiness check - confirms all dependencies are ready\nUse for: Kubernetes readiness probe, deployment verification",
        "tags": [
          "Health"
        ],
        "description": "`Admin Health` · Readiness check - confirms all dependencies are ready\nUse for: Kubernetes readiness probe, deployment verification",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/health/ready \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/health/ready';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/health/ready', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/health/ready\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/health/ready\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/health/ready\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/health/ready\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/health/live": {
      "get": {
        "operationId": "AdminHealth_live",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Liveness check - confirms the service is alive and not deadlocked\nUse for: Kubernetes liveness probe",
        "tags": [
          "Health"
        ],
        "description": "`Admin Health` · Liveness check - confirms the service is alive and not deadlocked\nUse for: Kubernetes liveness probe",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/health/live \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/health/live';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/health/live', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/health/live\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/health/live\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/health/live\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/health/live\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/health/verify": {
      "get": {
        "operationId": "AdminHealth_verify",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Comprehensive deployment verification - full system check with stats\nUse for: DevOps deployment verification, CI/CD pipeline checks",
        "tags": [
          "Health"
        ],
        "description": "`Admin Health` · Comprehensive deployment verification - full system check with stats\nUse for: DevOps deployment verification, CI/CD pipeline checks",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/health/verify \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/health/verify';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/health/verify', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/health/verify\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/health/verify\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/health/verify\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/health/verify\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/health/startup": {
      "get": {
        "operationId": "AdminHealth_startup",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-admin": []
          }
        ],
        "summary": "Startup check - checks if the service has completed startup\nUse for: Kubernetes startup probe",
        "tags": [
          "Health"
        ],
        "description": "`Admin Health` · Startup check - checks if the service has completed startup\nUse for: Kubernetes startup probe",
        "x-codeSamples": [
          {
            "lang": "shell",
            "label": "cURL",
            "source": "curl --request GET \\\n  --url https://api.admin.bdvoucher.com/api/v1/health/startup \\\n  --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'"
          },
          {
            "lang": "javascript",
            "label": "Node.js (fetch)",
            "source": "const fetch = require('node-fetch');\n\nlet url = 'https://api.admin.bdvoucher.com/api/v1/health/startup';\n\nlet options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch(url, options)\n  .then(res => res.json())\n  .then(json => console.log(json))\n  .catch(err => console.error('error:' + err));"
          },
          {
            "lang": "javascript",
            "label": "Browser (fetch)",
            "source": "const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};\n\nfetch('https://api.admin.bdvoucher.com/api/v1/health/startup', options)\n  .then(response => response.json())\n  .then(response => console.log(response))\n  .catch(err => console.error(err));"
          },
          {
            "lang": "python",
            "label": "Python (requests)",
            "source": "import requests\n\nurl = \"https://api.admin.bdvoucher.com/api/v1/health/startup\"\n\nheaders = {\"Authorization\": \"Bearer REPLACE_BEARER_TOKEN\"}\n\nresponse = requests.request(\"GET\", url, headers=headers)\n\nprint(response.text)"
          },
          {
            "lang": "php",
            "label": "PHP (cURL)",
            "source": "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.admin.bdvoucher.com/api/v1/health/startup\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"GET\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: Bearer REPLACE_BEARER_TOKEN\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
          },
          {
            "lang": "go",
            "label": "Go",
            "source": "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.admin.bdvoucher.com/api/v1/health/startup\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
          },
          {
            "lang": "ruby",
            "label": "Ruby",
            "source": "require 'uri'\nrequire 'net/http'\nrequire 'openssl'\n\nurl = URI(\"https://api.admin.bdvoucher.com/api/v1/health/startup\")\n\nhttp = Net::HTTP.new(url.host, url.port)\nhttp.use_ssl = true\nhttp.verify_mode = OpenSSL::SSL::VERIFY_NONE\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"Authorization\"] = 'Bearer REPLACE_BEARER_TOKEN'\n\nresponse = http.request(request)\nputs response.read_body"
          }
        ]
      }
    },
    "/inventory/variants/{id}/stock": {
      "get": {
        "description": "Returns the current stock envelope — in_stock, status (in_stock|low_stock|out_of_stock|unlimited|untracked), level, and the low-stock threshold. Safe to poll.",
        "operationId": "InventoryPublic_variantStock",
        "parameters": [
          {
            "name": "id",
            "required": true,
            "in": "path",
            "schema": {
              "example": 42,
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Stock envelope",
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "success": true,
                    "message": "OK",
                    "data": {
                      "variant_id": 42,
                      "in_stock": true,
                      "status": "low_stock",
                      "level": 3,
                      "low_stock": true,
                      "low_stock_threshold": 5,
                      "source": "preloaded"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Error401"
          },
          "403": {
            "$ref": "#/components/responses/Error403"
          },
          "404": {
            "$ref": "#/components/responses/Error404"
          },
          "429": {
            "$ref": "#/components/responses/Error429"
          },
          "500": {
            "$ref": "#/components/responses/Error500"
          }
        },
        "security": [
          {
            "bearer-client": []
          }
        ],
        "summary": "Get live stock status for a variant",
        "tags": [
          "Stock"
        ]
      }
    }
  },
  "info": {
    "title": "BD Voucher Admin API",
    "description": "# BD Voucher — **Admin API**\n\nInternal admin panel endpoints. **Requires an admin JWT.** Default credentials for local testing:\n\n```\nPOST /api/v1/admin/auth/login\n{ \"email\": \"admin@bdvoucher.com\", \"password\": \"admin@321#\" }\n```\n\nWelcome to the **BD Voucher API** — a production-grade voucher & gift-card commerce platform.\n\n## 🔐 Authentication\nAll protected endpoints use **Bearer JWT**. Obtain a token, then click the 🔒 **Authorize** button on this page, or send it yourself:\n```\nAuthorization: Bearer <token>\n```\n\n| Surface | Login endpoint | Scheme |\n|---|---|---|\n| Client (end users) | `POST /auth/sign-in` | `bearer-client` |\n| Admin panel | `POST /admin/auth/login` | `bearer-admin` |\n\n## 📦 Response envelope\nAll JSON responses share this shape:\n```json\n{\n  \"success\": true,\n  \"message\": \"…\",\n  \"data\": { },\n  \"errorCode\": null,\n  \"meta\": { \"pagination\": { \"total\": 0, \"page\": 1, \"limit\": 20 } }\n}\n```\n\n## ⚡ Versioning\nThe API is served under the `/api/v1` prefix. Legacy `/api/v2/…` URLs are transparently rewritten to v1.\n\n## 📄 Related documents\n- Postman collection: `postman/BD-Voucher-API.postman_collection.json`\n- API testing & CI: `docs/API_TESTING_CI.md`\n\n---",
    "version": "0.0.1",
    "contact": {
      "name": "BD Voucher Ltd.",
      "url": "https://bdvoucher.com",
      "email": "developers@bdvoucher.com"
    },
    "license": {
      "name": "Proprietary",
      "url": "https://bdvoucher.com/terms"
    },
    "termsOfService": "https://bdvoucher.com/terms",
    "x-logo": {
      "url": "https://bdvoucher.com/static/brand/logo-redoc.png",
      "altText": "BD Voucher Logo",
      "backgroundColor": "#0b1020"
    }
  },
  "tags": [
    {
      "name": "Admin Users",
      "description": "Admin Users endpoints",
      "x-displayName": "Admin Users"
    },
    {
      "name": "Alerts",
      "description": "Alerts endpoints",
      "x-displayName": "Alerts"
    },
    {
      "name": "Auth",
      "description": "Auth endpoints",
      "x-displayName": "Auth"
    },
    {
      "name": "Blogs",
      "description": "Blogs endpoints",
      "x-displayName": "Blogs"
    },
    {
      "name": "Brands",
      "description": "Brands endpoints",
      "x-displayName": "Brands"
    },
    {
      "name": "Categories",
      "description": "Categories endpoints",
      "x-displayName": "Categories"
    },
    {
      "name": "Discounts",
      "description": "Discounts endpoints",
      "x-displayName": "Discounts"
    },
    {
      "name": "Faqs",
      "description": "Faqs endpoints",
      "x-displayName": "Faqs"
    },
    {
      "name": "File Manager",
      "description": "File Manager endpoints",
      "x-displayName": "File Manager"
    },
    {
      "name": "File Serving",
      "description": "File Serving endpoints",
      "x-displayName": "File Serving"
    },
    {
      "name": "Health",
      "description": "Health endpoints",
      "x-displayName": "Health"
    },
    {
      "name": "Homepage",
      "description": "Homepage endpoints",
      "x-displayName": "Homepage"
    },
    {
      "name": "Inventory",
      "description": "Inventory endpoints",
      "x-displayName": "Inventory"
    },
    {
      "name": "Orders",
      "description": "Orders endpoints",
      "x-displayName": "Orders"
    },
    {
      "name": "Pages",
      "description": "Pages endpoints",
      "x-displayName": "Pages"
    },
    {
      "name": "Partner Sources",
      "description": "Partner Sources endpoints",
      "x-displayName": "Partner Sources"
    },
    {
      "name": "Partners",
      "description": "Partners endpoints",
      "x-displayName": "Partners"
    },
    {
      "name": "Payment Methods",
      "description": "Payment Methods endpoints",
      "x-displayName": "Payment Methods"
    },
    {
      "name": "Product Types",
      "description": "Product Types endpoints",
      "x-displayName": "Product Types"
    },
    {
      "name": "Products",
      "description": "Products endpoints",
      "x-displayName": "Products"
    },
    {
      "name": "Redemption",
      "description": "Redemption endpoints",
      "x-displayName": "Redemption"
    },
    {
      "name": "Roles",
      "description": "Roles endpoints",
      "x-displayName": "Roles"
    },
    {
      "name": "Stock",
      "description": "Stock endpoints",
      "x-displayName": "Stock"
    },
    {
      "name": "Tags",
      "description": "Tags endpoints",
      "x-displayName": "Tags"
    },
    {
      "name": "Upload",
      "description": "Upload endpoints",
      "x-displayName": "Upload"
    },
    {
      "name": "Users",
      "description": "Users endpoints",
      "x-displayName": "Users"
    },
    {
      "name": "Vouchers",
      "description": "Vouchers endpoints",
      "x-displayName": "Vouchers"
    },
    {
      "name": "Zendit",
      "description": "Zendit endpoints",
      "x-displayName": "Zendit"
    }
  ],
  "servers": [
    {
      "url": "https://api.admin.bdvoucher.com/api/v1",
      "description": "Local"
    },
    {
      "url": "http://localhost:3001/api/v1",
      "description": "Local"
    }
  ],
  "components": {
    "securitySchemes": {
      "bearer-admin": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "type": "http",
        "in": "header",
        "description": "Admin JWT obtained from `POST /admin/auth/login`."
      }
    },
    "schemas": {
      "AdminLoginDto": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "format": "email"
          },
          "password": {
            "type": "string"
          }
        },
        "required": [
          "email",
          "password"
        ]
      },
      "AdminRefreshDto": {
        "type": "object",
        "properties": {
          "refreshToken": {
            "type": "string"
          }
        },
        "required": [
          "refreshToken"
        ]
      },
      "UpdateProfileDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "email": {
            "type": "string",
            "format": "email"
          }
        }
      },
      "ChangePasswordDto": {
        "type": "object",
        "properties": {
          "currentPassword": {
            "type": "string"
          },
          "newPassword": {
            "type": "string",
            "minLength": 8,
            "maxLength": 72,
            "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]"
          },
          "confirmPassword": {
            "type": "string"
          }
        },
        "required": [
          "currentPassword",
          "newPassword",
          "confirmPassword"
        ]
      },
      "ForgotPasswordDto": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "format": "email"
          }
        },
        "required": [
          "email"
        ]
      },
      "ResetPasswordDto": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string"
          },
          "newPassword": {
            "type": "string",
            "minLength": 8,
            "maxLength": 72,
            "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]"
          },
          "confirmPassword": {
            "type": "string"
          }
        },
        "required": [
          "token",
          "newPassword",
          "confirmPassword"
        ]
      },
      "FulfillmentFieldDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "player_uid",
            "description": "Stable field key (snake_case ASCII). Used as the JSON key in `order_items[].fulfillment_input` and forwarded to partner adapters."
          },
          "label": {
            "type": "string",
            "example": "Player UID",
            "description": "Human label shown to the buyer at checkout."
          },
          "type": {
            "type": "string",
            "example": "text",
            "description": "HTML-input-like type hint. Common values: 'text', 'email', 'number', 'phone', 'select', 'url'. Defaults to 'text'."
          },
          "required": {
            "type": "boolean",
            "example": true,
            "description": "Whether the buyer must supply this field at checkout."
          }
        }
      },
      "FulfillmentConfigDto": {
        "type": "object",
        "properties": {
          "modality": {
            "type": "string",
            "example": "CODE",
            "description": "Delivery modality. 'CODE' = voucher code email, 'REDIRECT' = redirect to partner URL, 'TOPUP' = direct topup, 'ESIM' = eSIM activation. Free-form string so new modalities can be onboarded without an enum migration."
          },
          "mode": {
            "type": "string",
            "description": "Legacy alias for `modality`."
          },
          "delivery_type": {
            "type": "string",
            "example": "instant",
            "description": "Free-form delivery descriptor surfaced to the customer ('instant', 'within 5 minutes', etc.). Independent of `products.delivery_method` (legacy column)."
          },
          "average_delivery_seconds": {
            "type": "number",
            "minimum": 0,
            "example": 30,
            "description": "Average delivery time in seconds, used in product UI hints."
          },
          "fields": {
            "description": "Per-field configuration for the checkout form. Each entry declares `name`, `label`, `type` (defaults to `text`) and `required`. The single-identifier rule (email | player_id | account_id | uid) applies — at most one identifier key may appear across all entries.",
            "example": [
              {
                "name": "player_uid",
                "label": "Player UID",
                "type": "text",
                "required": true
              },
              {
                "name": "zone_id",
                "label": "Zone ID",
                "type": "text",
                "required": false
              }
            ],
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FulfillmentFieldDto"
            }
          }
        }
      },
      "CreateProductVariantDto": {
        "type": "object",
        "properties": {
          "partner_id": {
            "type": "number",
            "minimum": 1,
            "example": 5,
            "description": "Assign a partner source for this variant in the same request. Upserts partner_product_sources on (partner_id, variant_id). Omit to skip. 404 if the partner does not exist."
          },
          "partner_cost": {
            "type": "number",
            "minimum": 0,
            "example": 1100,
            "description": "Cost the partner charges us per voucher (in `partner_currency`). Defaults to the variant's `price` (0 margin) when omitted on create."
          },
          "partner_priority": {
            "type": "number",
            "minimum": 0,
            "example": 0,
            "description": "Priority tie-breaker when multiple partners can fulfil the same variant. Lower wins. Defaults to 0."
          },
          "partner_external_offer_id": {
            "type": "string",
            "example": "off-basic-1m",
            "description": "Partner-side identifier for the mapped offer (e.g. Zendit offerId)."
          },
          "partner_sku": {
            "type": "string",
            "description": "Partner-side SKU, if different from our SKU."
          },
          "partner_currency": {
            "type": "string",
            "example": "USD",
            "description": "ISO currency code the partner bills in. Defaults to 'USD' on the DB."
          },
          "partner_source_active": {
            "type": "boolean",
            "example": true,
            "description": "Toggle the partner source without detaching it."
          },
          "partner_offer_type": {
            "type": "string",
            "example": "VOUCHER",
            "description": "Partner-specific offer classification (e.g. Zendit 'VOUCHER' | 'TOPUP' | 'ESIM'). Stored on partner_product_sources.offer_type."
          },
          "partner_price_type": {
            "type": "string",
            "example": "FIXED",
            "description": "Partner price model — typically 'FIXED' or 'RANGE'. Stored on partner_product_sources.price_type."
          },
          "partner_send_value": {
            "type": "number",
            "minimum": 0,
            "example": 25,
            "description": "Face value sent to the end user in partner currency (e.g. 25 USD). Stored on partner_product_sources.send_value."
          },
          "partner_send_currency": {
            "type": "string",
            "example": "USD",
            "description": "ISO currency for partner_send_value."
          },
          "partner_metadata": {
            "type": "object",
            "description": "Free-form partner-specific metadata. Merged on update (sends `?replace=true` flag is NOT supported on the variant DTO surface — use the dedicated PUT /admin/partner-sources/:id endpoint for hard overrides)."
          },
          "name": {
            "type": "string"
          },
          "sku": {
            "type": "string"
          },
          "original_price": {
            "type": "number",
            "minimum": 0
          },
          "price": {
            "type": "number",
            "minimum": 0
          },
          "currency": {
            "type": "string"
          },
          "discount_type": {
            "type": "string"
          },
          "discount_value": {
            "type": "number",
            "minimum": 0
          },
          "validity_days": {
            "type": "number",
            "minimum": 0
          },
          "is_active": {
            "type": "boolean"
          },
          "track_inventory": {
            "type": "boolean"
          },
          "stock_cap": {
            "type": "number",
            "minimum": 0
          },
          "low_stock_threshold": {
            "type": "number",
            "minimum": 0
          }
        },
        "required": [
          "name",
          "sku",
          "original_price",
          "price"
        ]
      },
      "CreateProductDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "short_description": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "product_type_id": {
            "type": "number"
          },
          "status": {
            "type": "string"
          },
          "brand_id": {
            "type": "number"
          },
          "redirect_url": {
            "type": "string",
            "nullable": true
          },
          "thumbnail": {
            "type": "string"
          },
          "banner": {
            "type": "string"
          },
          "instruction_image": {
            "type": "string"
          },
          "instruction_video": {
            "type": "string"
          },
          "instruction_steps": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "delivery_method": {
            "type": "string"
          },
          "validity_text": {
            "type": "string"
          },
          "refund_policy": {
            "type": "string"
          },
          "meta_title": {
            "type": "string"
          },
          "meta_description": {
            "type": "string"
          },
          "seo_og_image_url": {
            "type": "string"
          },
          "featured": {
            "type": "boolean"
          },
          "trending": {
            "type": "boolean"
          },
          "support_config": {
            "type": "object"
          },
          "fulfillment_config": {
            "$ref": "#/components/schemas/FulfillmentConfigDto"
          },
          "category_ids": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "payment_methods": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "payment_method_ids": {
            "description": "Preferred: list of IDs from the `payment_methods` lookup table. When\nprovided it supersedes `payment_methods` (string slugs/codes).\nA single product MAY have multiple payment options — just pass all\nIDs in this array.",
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "variants": {
            "description": "Optional: Create variants along with the product",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateProductVariantDto"
            }
          }
        },
        "required": [
          "name",
          "slug"
        ]
      },
      "UpdateProductDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "short_description": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "product_type_id": {
            "type": "number"
          },
          "status": {
            "type": "string"
          },
          "brand_id": {
            "type": "number"
          },
          "redirect_url": {
            "type": "string",
            "nullable": true
          },
          "thumbnail": {
            "type": "string"
          },
          "banner": {
            "type": "string"
          },
          "instruction_image": {
            "type": "string"
          },
          "instruction_video": {
            "type": "string"
          },
          "instruction_steps": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "delivery_method": {
            "type": "string"
          },
          "validity_text": {
            "type": "string"
          },
          "refund_policy": {
            "type": "string"
          },
          "meta_title": {
            "type": "string"
          },
          "meta_description": {
            "type": "string"
          },
          "seo_og_image_url": {
            "type": "string"
          },
          "featured": {
            "type": "boolean"
          },
          "trending": {
            "type": "boolean"
          },
          "support_config": {
            "type": "object"
          },
          "fulfillment_config": {
            "$ref": "#/components/schemas/FulfillmentConfigDto"
          },
          "category_ids": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "tag_ids": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "payment_methods": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "payment_method_ids": {
            "description": "Preferred: list of IDs from the `payment_methods` lookup table. When\nprovided it supersedes `payment_methods`. A product may have many.",
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        }
      },
      "ReorderItemDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "minimum": 1,
            "example": 42,
            "description": "Primary key of the row to reposition. Must exist."
          },
          "sort_order": {
            "type": "number",
            "minimum": 0,
            "example": 3,
            "description": "New sort_order value (ascending). 0 = top of list. Rows with the same value fall back to id ASC."
          }
        },
        "required": [
          "id",
          "sort_order"
        ]
      },
      "ReorderDto": {
        "type": "object",
        "properties": {
          "items": {
            "minItems": 1,
            "maxItems": 500,
            "description": "Up to 500 {id, sort_order} entries. Applied atomically in a single $transaction. Duplicate ids → 400; unknown ids → 404.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReorderItemDto"
            }
          }
        },
        "required": [
          "items"
        ]
      },
      "CreateVariantDto": {
        "type": "object",
        "properties": {
          "partner_id": {
            "type": "number",
            "minimum": 1,
            "example": 5,
            "description": "Assign a partner source for this variant in the same request. Upserts partner_product_sources on (partner_id, variant_id). Omit to skip. 404 if the partner does not exist."
          },
          "partner_cost": {
            "type": "number",
            "minimum": 0,
            "example": 1100,
            "description": "Cost the partner charges us per voucher (in `partner_currency`). Defaults to the variant's `price` (0 margin) when omitted on create."
          },
          "partner_priority": {
            "type": "number",
            "minimum": 0,
            "example": 0,
            "description": "Priority tie-breaker when multiple partners can fulfil the same variant. Lower wins. Defaults to 0."
          },
          "partner_external_offer_id": {
            "type": "string",
            "example": "off-basic-1m",
            "description": "Partner-side identifier for the mapped offer (e.g. Zendit offerId)."
          },
          "partner_sku": {
            "type": "string",
            "description": "Partner-side SKU, if different from our SKU."
          },
          "partner_currency": {
            "type": "string",
            "example": "USD",
            "description": "ISO currency code the partner bills in. Defaults to 'USD' on the DB."
          },
          "partner_source_active": {
            "type": "boolean",
            "example": true,
            "description": "Toggle the partner source without detaching it."
          },
          "partner_offer_type": {
            "type": "string",
            "example": "VOUCHER",
            "description": "Partner-specific offer classification (e.g. Zendit 'VOUCHER' | 'TOPUP' | 'ESIM'). Stored on partner_product_sources.offer_type."
          },
          "partner_price_type": {
            "type": "string",
            "example": "FIXED",
            "description": "Partner price model — typically 'FIXED' or 'RANGE'. Stored on partner_product_sources.price_type."
          },
          "partner_send_value": {
            "type": "number",
            "minimum": 0,
            "example": 25,
            "description": "Face value sent to the end user in partner currency (e.g. 25 USD). Stored on partner_product_sources.send_value."
          },
          "partner_send_currency": {
            "type": "string",
            "example": "USD",
            "description": "ISO currency for partner_send_value."
          },
          "partner_metadata": {
            "type": "object",
            "description": "Free-form partner-specific metadata. Merged on update (sends `?replace=true` flag is NOT supported on the variant DTO surface — use the dedicated PUT /admin/partner-sources/:id endpoint for hard overrides)."
          },
          "track_inventory": {
            "type": "boolean",
            "example": true,
            "description": "When true (default) the order pipeline reserves/decrements stock for this variant. Set to false for variants with infinite supply."
          },
          "stock_cap": {
            "type": "number",
            "minimum": 0,
            "example": 1000,
            "description": "Optional hard cap on on-hand units. Used as a manual ceiling when admins want to throttle a high-demand SKU."
          },
          "low_stock_threshold": {
            "type": "number",
            "minimum": 0,
            "example": 5,
            "description": "Threshold for low-stock admin alerts. When stock drops to or below this number an `admin_alerts` row of type `low_stock` is raised."
          },
          "name": {
            "type": "string"
          },
          "sku": {
            "type": "string"
          },
          "original_price": {
            "type": "number",
            "minimum": 0
          },
          "price": {
            "type": "number",
            "minimum": 0
          },
          "currency": {
            "type": "string"
          },
          "discount_type": {
            "type": "string"
          },
          "discount_value": {
            "type": "number",
            "minimum": 0
          },
          "validity_days": {
            "type": "number",
            "minimum": 0
          },
          "is_active": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "sku",
          "original_price",
          "price"
        ]
      },
      "BulkCreateVariantsDto": {
        "type": "object",
        "properties": {
          "variants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateVariantDto"
            }
          }
        },
        "required": [
          "variants"
        ]
      },
      "UpdateVariantDto": {
        "type": "object",
        "properties": {
          "partner_id": {
            "type": "number",
            "minimum": 1,
            "example": 5,
            "description": "Assign a partner source for this variant in the same request. Upserts partner_product_sources on (partner_id, variant_id). Omit to skip. 404 if the partner does not exist."
          },
          "partner_cost": {
            "type": "number",
            "minimum": 0,
            "example": 1100,
            "description": "Cost the partner charges us per voucher (in `partner_currency`). Defaults to the variant's `price` (0 margin) when omitted on create."
          },
          "partner_priority": {
            "type": "number",
            "minimum": 0,
            "example": 0,
            "description": "Priority tie-breaker when multiple partners can fulfil the same variant. Lower wins. Defaults to 0."
          },
          "partner_external_offer_id": {
            "type": "string",
            "example": "off-basic-1m",
            "description": "Partner-side identifier for the mapped offer (e.g. Zendit offerId)."
          },
          "partner_sku": {
            "type": "string",
            "description": "Partner-side SKU, if different from our SKU."
          },
          "partner_currency": {
            "type": "string",
            "example": "USD",
            "description": "ISO currency code the partner bills in. Defaults to 'USD' on the DB."
          },
          "partner_source_active": {
            "type": "boolean",
            "example": true,
            "description": "Toggle the partner source without detaching it."
          },
          "partner_offer_type": {
            "type": "string",
            "example": "VOUCHER",
            "description": "Partner-specific offer classification (e.g. Zendit 'VOUCHER' | 'TOPUP' | 'ESIM'). Stored on partner_product_sources.offer_type."
          },
          "partner_price_type": {
            "type": "string",
            "example": "FIXED",
            "description": "Partner price model — typically 'FIXED' or 'RANGE'. Stored on partner_product_sources.price_type."
          },
          "partner_send_value": {
            "type": "number",
            "minimum": 0,
            "example": 25,
            "description": "Face value sent to the end user in partner currency (e.g. 25 USD). Stored on partner_product_sources.send_value."
          },
          "partner_send_currency": {
            "type": "string",
            "example": "USD",
            "description": "ISO currency for partner_send_value."
          },
          "partner_metadata": {
            "type": "object",
            "description": "Free-form partner-specific metadata. Merged on update (sends `?replace=true` flag is NOT supported on the variant DTO surface — use the dedicated PUT /admin/partner-sources/:id endpoint for hard overrides)."
          },
          "track_inventory": {
            "type": "boolean",
            "example": true
          },
          "stock_cap": {
            "type": "number",
            "minimum": 0,
            "example": 1000
          },
          "low_stock_threshold": {
            "type": "number",
            "minimum": 0,
            "example": 5
          },
          "name": {
            "type": "string"
          },
          "sku": {
            "type": "string"
          },
          "original_price": {
            "type": "number",
            "minimum": 0
          },
          "price": {
            "type": "number",
            "minimum": 0
          },
          "currency": {
            "type": "string"
          },
          "discount_type": {
            "type": "string"
          },
          "discount_value": {
            "type": "number",
            "minimum": 0
          },
          "validity_days": {
            "type": "number",
            "minimum": 0
          },
          "is_active": {
            "type": "boolean"
          }
        }
      },
      "CreateBrandDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "status": {
            "type": "boolean"
          },
          "image": {
            "type": "string"
          },
          "thumbnail": {
            "type": "string"
          },
          "banner": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "meta_title": {
            "type": "string"
          },
          "meta_description": {
            "type": "string"
          },
          "sort_order": {
            "type": "number"
          }
        },
        "required": [
          "name",
          "slug"
        ]
      },
      "UpdateBrandDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "status": {
            "type": "boolean"
          },
          "image": {
            "type": "string"
          },
          "thumbnail": {
            "type": "string"
          },
          "banner": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "meta_title": {
            "type": "string"
          },
          "meta_description": {
            "type": "string"
          },
          "sort_order": {
            "type": "number"
          }
        }
      },
      "CreateCategoryDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "parent_id": {
            "type": "number"
          },
          "status": {
            "type": "boolean"
          },
          "thumbnail": {
            "type": "string"
          },
          "banner": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "icon": {
            "type": "string"
          },
          "meta_title": {
            "type": "string"
          },
          "meta_description": {
            "type": "string"
          },
          "sort_order": {
            "type": "number"
          }
        },
        "required": [
          "name",
          "slug"
        ]
      },
      "UpdateCategoryDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "parent_id": {
            "type": "number"
          },
          "status": {
            "type": "boolean"
          },
          "thumbnail": {
            "type": "string"
          },
          "banner": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "icon": {
            "type": "string"
          },
          "meta_title": {
            "type": "string"
          },
          "meta_description": {
            "type": "string"
          },
          "sort_order": {
            "type": "number"
          }
        }
      },
      "CreateTagDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "status": {
            "type": "boolean"
          },
          "description": {
            "type": "string"
          },
          "icon": {
            "type": "string"
          },
          "sort_order": {
            "type": "number"
          }
        },
        "required": [
          "name",
          "slug"
        ]
      },
      "UpdateTagDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "status": {
            "type": "boolean"
          },
          "description": {
            "type": "string"
          },
          "icon": {
            "type": "string"
          },
          "sort_order": {
            "type": "number"
          }
        }
      },
      "CreatePartnerDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "fulfillment_type": {
            "type": "string",
            "enum": [
              "PRELOADED",
              "API",
              "REDIRECT"
            ]
          },
          "api_endpoint": {
            "type": "string"
          },
          "api_key": {
            "type": "string"
          },
          "api_secret": {
            "type": "string"
          },
          "status": {
            "type": "boolean"
          },
          "thumbnail": {
            "type": "string"
          },
          "banner": {
            "type": "string"
          },
          "config": {
            "type": "object"
          },
          "webhook_url": {
            "type": "string"
          },
          "default_priority": {
            "type": "number"
          }
        },
        "required": [
          "name",
          "code"
        ]
      },
      "UpdatePartnerDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "fulfillment_type": {
            "type": "string",
            "enum": [
              "PRELOADED",
              "API",
              "REDIRECT"
            ]
          },
          "api_endpoint": {
            "type": "string"
          },
          "api_key": {
            "type": "string"
          },
          "api_secret": {
            "type": "string"
          },
          "status": {
            "type": "boolean"
          },
          "thumbnail": {
            "type": "string"
          },
          "banner": {
            "type": "string"
          },
          "config": {
            "type": "object"
          },
          "webhook_url": {
            "type": "string"
          },
          "default_priority": {
            "type": "number"
          }
        }
      },
      "UpdateOrderStatusDto": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ]
      },
      "ManualVoucherCodeDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500,
            "pattern": "^[A-Za-z0-9\\-_/.:#\\s]+$",
            "description": "Voucher code / PIN to deliver to the customer",
            "example": "ABCD-1234-EFGH-5678"
          },
          "pin": {
            "type": "string",
            "maxLength": 100,
            "description": "Optional PIN accompanying the code"
          },
          "redemptionUrl": {
            "type": "string",
            "maxLength": 1000,
            "description": "Optional redemption URL"
          },
          "serialNumber": {
            "type": "string",
            "maxLength": 200,
            "description": "Optional serial number"
          },
          "partnerId": {
            "type": "number",
            "minimum": 1,
            "description": "Optional partner / provider id for this specific code. Overrides item-level partnerId if both are provided.",
            "example": 5
          },
          "expiresAt": {
            "type": "string",
            "maxLength": 40,
            "description": "Optional voucher expiry in ISO-8601 format. Persisted on `vouchers.expires_at` and surfaced in the customer email.",
            "example": "2027-12-31T23:59:59.000Z"
          },
          "metadata": {
            "type": "object",
            "description": "Free-form per-code metadata merged into `vouchers.metadata` (existing keys preserved unless overridden)."
          }
        },
        "required": [
          "code"
        ]
      },
      "ManualCodeDispatchDto": {
        "type": "object",
        "properties": {
          "orderItemId": {
            "type": "number",
            "minimum": 1,
            "description": "Order item to fulfill",
            "example": 123
          },
          "code": {
            "type": "string",
            "minLength": 1,
            "maxLength": 500,
            "pattern": "^[A-Za-z0-9\\-_/.:#\\s]+$",
            "description": "Single voucher code (shortcut for single-quantity items). Mutually exclusive with `codes` — if both are provided, `codes` wins.",
            "example": "ABCD-1234-EFGH-5678"
          },
          "pin": {
            "type": "string",
            "maxLength": 100,
            "description": "Optional PIN (single-code shortcut)"
          },
          "redemptionUrl": {
            "type": "string",
            "maxLength": 1000,
            "description": "Optional redemption URL (single-code shortcut)"
          },
          "serialNumber": {
            "type": "string",
            "maxLength": 200,
            "description": "Optional serial number (single-code shortcut)"
          },
          "codes": {
            "minItems": 1,
            "maxItems": 100,
            "description": "Multiple voucher codes — one per unit when the order item quantity > 1. The customer receives a single consolidated email containing every code.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManualVoucherCodeDto"
            }
          },
          "partnerId": {
            "type": "number",
            "minimum": 1,
            "description": "Optional provider / partner ID. Set when the code originates from a known partner so the voucher row can be linked to that partner. Omit to record the voucher as a pure admin-manual entry (partner_id: null).",
            "example": 5
          },
          "notes": {
            "type": "string",
            "maxLength": 1000,
            "description": "Free-form reason / audit note"
          }
        },
        "required": [
          "orderItemId"
        ]
      },
      "ManualOrderItemDispatchDto": {
        "type": "object",
        "properties": {
          "orderItemId": {
            "type": "number",
            "minimum": 1,
            "description": "Order item to fulfill",
            "example": 123
          },
          "variantId": {
            "type": "number",
            "minimum": 1,
            "description": "Optional variant id safety check. If provided and does not match the order item, request is rejected.",
            "example": 22402
          },
          "partnerId": {
            "type": "number",
            "minimum": 1,
            "description": "Optional default partner / provider id for this item. Per-code partnerId overrides this value.",
            "example": 5
          },
          "codes": {
            "minItems": 1,
            "maxItems": 100,
            "description": "Voucher codes for this order item. For full manual recovery this array must match the item quantity.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManualVoucherCodeDto"
            }
          },
          "notes": {
            "type": "string",
            "maxLength": 1000,
            "description": "Free-form note for this item"
          }
        },
        "required": [
          "orderItemId",
          "codes"
        ]
      },
      "ManualCodesDispatchDto": {
        "type": "object",
        "properties": {
          "items": {
            "minItems": 1,
            "maxItems": 100,
            "description": "Order item groups to fulfill. Each item should include one code per purchased unit.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ManualOrderItemDispatchDto"
            }
          },
          "notes": {
            "type": "string",
            "maxLength": 1000,
            "description": "Global note applied to all item attempts (item-level notes still preserved)."
          }
        },
        "required": [
          "items"
        ]
      },
      "ResendOrderVoucherEmailDto": {
        "type": "object",
        "properties": {
          "notes": {
            "type": "string",
            "maxLength": 1000,
            "description": "Optional audit note for manual resend action from admin panel."
          }
        }
      },
      "PartnerRetryDto": {
        "type": "object",
        "properties": {
          "orderItemId": {
            "type": "number",
            "minimum": 1,
            "description": "Order item to retry",
            "example": 123
          },
          "partnerSourceId": {
            "type": "number",
            "minimum": 1,
            "description": "Optional partner_product_sources.id to force. Omit to let the system pick the best available source."
          },
          "notes": {
            "type": "string",
            "maxLength": 1000,
            "description": "Free-form reason / audit note"
          }
        },
        "required": [
          "orderItemId"
        ]
      },
      "ResolveAlertDto": {
        "type": "object",
        "properties": {
          "resolution_notes": {
            "type": "string",
            "maxLength": 2000,
            "description": "Free-form note describing how the alert was handled."
          }
        }
      },
      "CreateVoucherDto": {
        "type": "object",
        "properties": {
          "variant_id": {
            "type": "number"
          },
          "partner_id": {
            "type": "number"
          },
          "code": {
            "type": "string"
          },
          "serial_number": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "available",
              "reserved",
              "sold",
              "expired"
            ]
          },
          "cost": {
            "type": "number",
            "minimum": 0
          },
          "metadata": {
            "type": "object"
          },
          "expires_at": {
            "type": "string"
          },
          "source_type": {
            "type": "string",
            "enum": [
              "PRELOADED",
              "API"
            ]
          },
          "reserved_at": {
            "type": "string"
          },
          "sold_at": {
            "type": "string"
          }
        },
        "required": [
          "variant_id",
          "code"
        ]
      },
      "BulkCreateVoucherDto": {
        "type": "object",
        "properties": {
          "variant_id": {
            "type": "number"
          },
          "partner_id": {
            "type": "number"
          },
          "codes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "cost": {
            "type": "number",
            "minimum": 0
          },
          "expires_at": {
            "type": "string"
          },
          "source_type": {
            "type": "string",
            "enum": [
              "PRELOADED",
              "API"
            ]
          }
        },
        "required": [
          "variant_id",
          "codes"
        ]
      },
      "UpdateVoucherDto": {
        "type": "object",
        "properties": {
          "variant_id": {
            "type": "number"
          },
          "partner_id": {
            "type": "number"
          },
          "code": {
            "type": "string"
          },
          "serial_number": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "available",
              "reserved",
              "sold",
              "expired"
            ]
          },
          "cost": {
            "type": "number",
            "minimum": 0
          },
          "metadata": {
            "type": "object"
          },
          "expires_at": {
            "type": "string"
          },
          "source_type": {
            "type": "string",
            "enum": [
              "PRELOADED",
              "API"
            ]
          },
          "reserved_at": {
            "type": "string"
          },
          "sold_at": {
            "type": "string"
          }
        }
      },
      "CreateDiscountDto": {
        "type": "object",
        "properties": {
          "max_discount": {
            "type": "number",
            "minimum": 0,
            "description": "Cap for `percentage` discounts in BDT (e.g. 50 means \"10% off, max 50 BDT\"). Ignored for `flat` discounts."
          },
          "usage_limit": {
            "type": "number",
            "minimum": 1,
            "description": "Global cap across all users. Null = unlimited. See `per_user_limit` for the per-user cap."
          },
          "per_user_limit": {
            "type": "number",
            "minimum": 1,
            "description": "Maximum times a single user can redeem this code. Null = unlimited per user."
          },
          "allowed_payment_methods": {
            "type": "array",
            "uniqueItems": true,
            "items": {
              "type": "string",
              "enum": [
                "dcb",
                "bkash",
                "sslcommerz",
                "nagad",
                "paystation"
              ]
            },
            "description": "Restrict the discount to specific payment gateways. Each value must be one of: dcb, bkash, sslcommerz, nagad, paystation. Omit or pass [] to allow all gateways.",
            "example": [
              "bkash",
              "sslcommerz"
            ]
          },
          "allowed_brand_ids": {
            "uniqueItems": true,
            "description": "Restrict the discount to orders containing at least one item from these brands. Combined with `allowed_category_ids` using OR semantics — an item qualifies if it matches ANY configured list. Omit or pass [] for no brand restriction.",
            "example": [
              12,
              18
            ],
            "type": "array",
            "items": {
              "type": "number",
              "minimum": 1
            }
          },
          "allowed_category_ids": {
            "uniqueItems": true,
            "description": "Restrict the discount to orders containing at least one item in these categories. Combined with `allowed_brand_ids` using OR semantics. Omit or pass [] for no category restriction.",
            "example": [
              3,
              7
            ],
            "type": "array",
            "items": {
              "type": "number",
              "minimum": 1
            }
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "discount_type": {
            "type": "string",
            "enum": [
              "percentage",
              "flat"
            ]
          },
          "discount_value": {
            "type": "number",
            "minimum": 0
          },
          "min_purchase": {
            "type": "number",
            "minimum": 0
          },
          "start_date": {
            "type": "string"
          },
          "end_date": {
            "type": "string"
          },
          "is_active": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "code",
          "discount_type",
          "discount_value"
        ]
      },
      "UpdateDiscountDto": {
        "type": "object",
        "properties": {
          "per_user_limit": {
            "type": "number",
            "nullable": true,
            "minimum": 1,
            "description": "Maximum times a single user can redeem this code. Null clears the per-user cap."
          },
          "allowed_payment_methods": {
            "type": "array",
            "uniqueItems": true,
            "items": {
              "type": "string",
              "enum": [
                "dcb",
                "bkash",
                "sslcommerz",
                "nagad",
                "paystation"
              ]
            },
            "description": "Allowed payment gateways. Pass [] to clear restriction (all gateways allowed)."
          },
          "allowed_brand_ids": {
            "uniqueItems": true,
            "description": "Restrict to specific brands. Pass [] to clear.",
            "type": "array",
            "items": {
              "type": "number",
              "minimum": 1
            }
          },
          "allowed_category_ids": {
            "uniqueItems": true,
            "description": "Restrict to specific categories. Pass [] to clear.",
            "type": "array",
            "items": {
              "type": "number",
              "minimum": 1
            }
          },
          "name": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "discount_type": {
            "type": "string",
            "enum": [
              "percentage",
              "flat"
            ]
          },
          "discount_value": {
            "type": "number",
            "minimum": 0
          },
          "min_purchase": {
            "type": "number",
            "minimum": 0
          },
          "max_discount": {
            "type": "number",
            "minimum": 0
          },
          "start_date": {
            "type": "string"
          },
          "end_date": {
            "type": "string"
          },
          "usage_limit": {
            "type": "number",
            "minimum": 1
          },
          "is_active": {
            "type": "boolean"
          }
        }
      },
      "CreateProductTypeDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "has_redirect": {
            "type": "boolean"
          },
          "status": {
            "type": "boolean"
          },
          "icon": {
            "type": "string"
          },
          "sort_order": {
            "type": "number"
          }
        },
        "required": [
          "name",
          "slug"
        ]
      },
      "UpdateProductTypeDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "has_redirect": {
            "type": "boolean"
          },
          "status": {
            "type": "boolean"
          },
          "icon": {
            "type": "string"
          },
          "sort_order": {
            "type": "number"
          }
        }
      },
      "UpdateUserDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "country": {
            "type": "string"
          }
        }
      },
      "CreateAdminUserDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "password": {
            "type": "string",
            "minLength": 8,
            "maxLength": 72,
            "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]"
          },
          "roleId": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive",
              "suspended"
            ]
          }
        },
        "required": [
          "name",
          "email",
          "password",
          "roleId"
        ]
      },
      "UpdateAdminUserDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 200
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "roleId": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "inactive",
              "suspended"
            ]
          }
        }
      },
      "SetAdminPasswordDto": {
        "type": "object",
        "properties": {
          "newPassword": {
            "type": "string",
            "minLength": 8,
            "maxLength": 72,
            "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]"
          },
          "confirmPassword": {
            "type": "string"
          }
        },
        "required": [
          "newPassword",
          "confirmPassword"
        ]
      },
      "CreateRoleDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100,
            "pattern": "^[a-z_]+$"
          },
          "description": {
            "type": "string",
            "maxLength": 500
          },
          "permissionIds": {
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        },
        "required": [
          "name",
          "permissionIds"
        ]
      },
      "UpdateRoleDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100,
            "pattern": "^[a-z_]+$"
          },
          "description": {
            "type": "string",
            "maxLength": 500
          },
          "permissionIds": {
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        }
      },
      "CreatePermissionDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 5,
            "maxLength": 100,
            "pattern": "^[a-z_.]+$"
          },
          "description": {
            "type": "string",
            "maxLength": 500
          },
          "resource": {
            "type": "string",
            "maxLength": 50
          },
          "action": {
            "type": "string",
            "maxLength": 20
          }
        },
        "required": [
          "name"
        ]
      },
      "UpdatePermissionDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 5,
            "maxLength": 100,
            "pattern": "^[a-z_.]+$"
          },
          "description": {
            "type": "string",
            "maxLength": 500
          },
          "resource": {
            "type": "string",
            "maxLength": 50
          },
          "action": {
            "type": "string",
            "maxLength": 20
          }
        }
      },
      "CreateFaqDto": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string"
          },
          "answer": {
            "type": "string"
          },
          "sort_order": {
            "type": "number"
          },
          "status": {
            "type": "boolean"
          }
        },
        "required": [
          "question",
          "answer"
        ]
      },
      "UpdateFaqDto": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string"
          },
          "answer": {
            "type": "string"
          },
          "sort_order": {
            "type": "number"
          },
          "status": {
            "type": "boolean"
          }
        }
      },
      "CreatePageDto": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "status": {
            "type": "boolean"
          }
        },
        "required": [
          "title",
          "slug",
          "content"
        ]
      },
      "UpdatePageDto": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "status": {
            "type": "boolean"
          }
        }
      },
      "CreateBlogDto": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "excerpt": {
            "type": "string"
          },
          "thumbnail": {
            "type": "string"
          },
          "author": {
            "type": "string"
          },
          "status": {
            "type": "boolean"
          },
          "published_at": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "slug",
          "content"
        ]
      },
      "UpdateBlogDto": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "excerpt": {
            "type": "string"
          },
          "thumbnail": {
            "type": "string"
          },
          "author": {
            "type": "string"
          },
          "status": {
            "type": "boolean"
          },
          "published_at": {
            "type": "string"
          }
        }
      },
      "UploadDto": {
        "type": "object",
        "properties": {
          "entityId": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        }
      },
      "BulkUploadDto": {
        "type": "object",
        "properties": {
          "entityId": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        }
      },
      "Object": {
        "type": "object",
        "properties": {}
      },
      "CreateFolderDto": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "default": "",
            "maxLength": 1024
          },
          "name": {
            "type": "string",
            "maxLength": 255
          }
        },
        "required": [
          "name"
        ]
      },
      "RenameDto": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "maxLength": 1024
          },
          "newName": {
            "type": "string",
            "maxLength": 255
          }
        },
        "required": [
          "path",
          "newName"
        ]
      },
      "MoveDto": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "maxLength": 1024
          },
          "to": {
            "type": "string",
            "maxLength": 1024
          },
          "overwrite": {
            "type": "boolean",
            "default": false
          }
        },
        "required": [
          "from",
          "to"
        ]
      },
      "CopyDto": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "maxLength": 1024
          },
          "to": {
            "type": "string",
            "maxLength": 1024
          },
          "overwrite": {
            "type": "boolean",
            "default": false
          }
        },
        "required": [
          "from",
          "to"
        ]
      },
      "BulkPathsDto": {
        "type": "object",
        "properties": {
          "paths": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "to": {
            "type": "string",
            "maxLength": 1024
          },
          "overwrite": {
            "type": "boolean",
            "default": false
          },
          "permanent": {
            "type": "boolean",
            "default": false
          }
        },
        "required": [
          "paths"
        ]
      },
      "DeleteDto": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "maxLength": 1024
          },
          "permanent": {
            "type": "boolean",
            "default": false
          }
        },
        "required": [
          "path"
        ]
      },
      "ZipDownloadDto": {
        "type": "object",
        "properties": {
          "paths": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "zipName": {
            "type": "string",
            "maxLength": 255
          }
        },
        "required": [
          "paths"
        ]
      },
      "RestoreDto": {
        "type": "object",
        "properties": {
          "paths": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "paths"
        ]
      },
      "CreateBannerDto": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "maxLength": 255
          },
          "subtitle": {
            "type": "string",
            "maxLength": 500
          },
          "image_url": {
            "type": "string",
            "maxLength": 1000
          },
          "mobile_image_url": {
            "type": "string",
            "maxLength": 1000
          },
          "link_url": {
            "type": "string",
            "maxLength": 1000
          },
          "link_type": {
            "type": "string",
            "enum": [
              "internal",
              "external",
              "product",
              "category"
            ]
          },
          "link_target": {
            "type": "string",
            "enum": [
              "_self",
              "_blank"
            ]
          },
          "position": {
            "type": "number"
          },
          "is_active": {
            "type": "boolean"
          },
          "start_date": {
            "type": "string"
          },
          "end_date": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "image_url"
        ]
      },
      "UpdateBannerDto": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "maxLength": 255
          },
          "subtitle": {
            "type": "string",
            "maxLength": 500
          },
          "image_url": {
            "type": "string",
            "maxLength": 1000
          },
          "mobile_image_url": {
            "type": "string",
            "maxLength": 1000
          },
          "link_url": {
            "type": "string",
            "maxLength": 1000
          },
          "link_type": {
            "type": "string",
            "enum": [
              "internal",
              "external",
              "product",
              "category"
            ]
          },
          "link_target": {
            "type": "string",
            "enum": [
              "_self",
              "_blank"
            ]
          },
          "position": {
            "type": "number"
          },
          "is_active": {
            "type": "boolean"
          },
          "start_date": {
            "type": "string"
          },
          "end_date": {
            "type": "string"
          }
        }
      },
      "ReorderItemsDto": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        },
        "required": [
          "ids"
        ]
      },
      "CreateSectionDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 100
          },
          "title": {
            "type": "string",
            "maxLength": 255
          },
          "subtitle": {
            "type": "string",
            "maxLength": 500
          },
          "section_type": {
            "type": "string",
            "enum": [
              "banner_slider",
              "product_grid",
              "product_carousel",
              "category_grid",
              "brand_grid",
              "custom_html",
              "featured_products",
              "trending_products",
              "new_products",
              "popular_products"
            ]
          },
          "position": {
            "type": "number"
          },
          "is_active": {
            "type": "boolean"
          },
          "config": {
            "type": "object"
          },
          "filter_config": {
            "type": "object"
          },
          "background_color": {
            "type": "string",
            "maxLength": 20
          },
          "background_image": {
            "type": "string",
            "maxLength": 1000
          },
          "text_color": {
            "type": "string",
            "maxLength": 20
          },
          "padding": {
            "type": "string",
            "maxLength": 50
          }
        },
        "required": [
          "name",
          "section_type"
        ]
      },
      "UpdateSectionDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 100
          },
          "title": {
            "type": "string",
            "maxLength": 255
          },
          "subtitle": {
            "type": "string",
            "maxLength": 500
          },
          "section_type": {
            "type": "string",
            "enum": [
              "banner_slider",
              "product_grid",
              "product_carousel",
              "category_grid",
              "brand_grid",
              "custom_html",
              "featured_products",
              "trending_products",
              "new_products",
              "popular_products"
            ]
          },
          "position": {
            "type": "number"
          },
          "is_active": {
            "type": "boolean"
          },
          "config": {
            "type": "object"
          },
          "filter_config": {
            "type": "object"
          },
          "background_color": {
            "type": "string",
            "maxLength": 20
          },
          "background_image": {
            "type": "string",
            "maxLength": 1000
          },
          "text_color": {
            "type": "string",
            "maxLength": 20
          },
          "padding": {
            "type": "string",
            "maxLength": 50
          }
        }
      },
      "CreateSectionItemDto": {
        "type": "object",
        "properties": {
          "section_id": {
            "type": "number"
          },
          "item_type": {
            "type": "string",
            "enum": [
              "product",
              "category",
              "brand",
              "banner",
              "custom"
            ]
          },
          "item_id": {
            "type": "number"
          },
          "custom_data": {
            "type": "object"
          },
          "position": {
            "type": "number"
          },
          "is_active": {
            "type": "boolean"
          }
        },
        "required": [
          "section_id",
          "item_type"
        ]
      },
      "UpdateSectionItemDto": {
        "type": "object",
        "properties": {
          "item_type": {
            "type": "string",
            "enum": [
              "product",
              "category",
              "brand",
              "banner",
              "custom"
            ]
          },
          "item_id": {
            "type": "number"
          },
          "custom_data": {
            "type": "object"
          },
          "position": {
            "type": "number"
          },
          "is_active": {
            "type": "boolean"
          }
        }
      },
      "UpdateSettingDto": {
        "type": "object",
        "properties": {
          "setting_key": {
            "type": "string",
            "maxLength": 100
          },
          "setting_value": {
            "type": "object"
          },
          "setting_group": {
            "type": "string",
            "maxLength": 50
          },
          "description": {
            "type": "string",
            "maxLength": 500
          }
        },
        "required": [
          "setting_key",
          "setting_value"
        ]
      },
      "BulkUpdateSettingsDto": {
        "type": "object",
        "properties": {
          "settings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateSettingDto"
            }
          }
        },
        "required": [
          "settings"
        ]
      },
      "CreatePartnerSourceDto": {
        "type": "object",
        "properties": {
          "offer_type": {
            "type": "string",
            "example": "VOUCHER",
            "description": "Partner-specific offer classification (e.g. Zendit 'VOUCHER' | 'TOPUP' | 'ESIM')."
          },
          "price_type": {
            "type": "string",
            "example": "FIXED",
            "description": "Partner price model — typically 'FIXED' or 'RANGE'."
          },
          "send_value": {
            "type": "number",
            "minimum": 0,
            "example": 25,
            "description": "Face value sent to the end user in partner currency."
          },
          "send_currency": {
            "type": "string",
            "example": "USD",
            "description": "ISO currency for `send_value`."
          },
          "partner_id": {
            "type": "number"
          },
          "variant_id": {
            "type": "number"
          },
          "partner_cost": {
            "type": "number",
            "minimum": 0
          },
          "priority": {
            "type": "number",
            "minimum": 1
          },
          "is_active": {
            "type": "boolean"
          },
          "external_offer_id": {
            "type": "string"
          },
          "partner_sku": {
            "type": "string"
          },
          "partner_currency": {
            "type": "string"
          },
          "metadata": {
            "type": "object"
          }
        },
        "required": [
          "partner_id",
          "variant_id",
          "partner_cost",
          "priority"
        ]
      },
      "PriorityItemDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "priority": {
            "type": "number",
            "minimum": 1
          }
        },
        "required": [
          "id",
          "priority"
        ]
      },
      "BulkUpdatePriorityDto": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PriorityItemDto"
            }
          }
        },
        "required": [
          "items"
        ]
      },
      "UpdatePartnerSourceDto": {
        "type": "object",
        "properties": {
          "offer_type": {
            "type": "string",
            "example": "VOUCHER"
          },
          "price_type": {
            "type": "string",
            "example": "FIXED"
          },
          "send_value": {
            "type": "number",
            "minimum": 0,
            "example": 25
          },
          "send_currency": {
            "type": "string",
            "example": "USD"
          },
          "metadata_replace": {
            "type": "boolean",
            "description": "When true, REPLACE existing metadata instead of merging. Default false (merge).",
            "example": false
          },
          "partner_cost": {
            "type": "number",
            "minimum": 0
          },
          "priority": {
            "type": "number",
            "minimum": 1
          },
          "is_active": {
            "type": "boolean"
          },
          "external_offer_id": {
            "type": "string"
          },
          "partner_sku": {
            "type": "string"
          },
          "partner_currency": {
            "type": "string"
          },
          "metadata": {
            "type": "object"
          }
        }
      },
      "CreatePaymentMethodDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "image": {
            "type": "string"
          },
          "status": {
            "type": "boolean"
          },
          "sort_order": {
            "type": "number",
            "minimum": 0
          }
        },
        "required": [
          "name",
          "slug"
        ]
      },
      "UpdatePaymentMethodDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "boolean"
          },
          "sort_order": {
            "type": "number",
            "minimum": 0
          }
        }
      },
      "AdjustStockDto": {
        "type": "object",
        "properties": {
          "delta": {
            "type": "number",
            "example": 50,
            "description": "Signed units to adjust (positive = add)."
          },
          "note": {
            "type": "string",
            "maxLength": 500,
            "example": "Replenished from Zendit import",
            "description": "Free-text note stored on the audit row."
          }
        },
        "required": [
          "delta"
        ]
      },
      "VariantSettingsDto": {
        "type": "object",
        "properties": {
          "track_inventory": {
            "type": "boolean",
            "description": "When false, the variant bypasses inventory checks entirely (always in_stock)."
          },
          "stock_cap": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "description": "Soft cap for API-backed variants. `null` = unlimited. Ignored for preloaded variants."
          },
          "low_stock_threshold": {
            "type": "number",
            "nullable": true,
            "minimum": 0,
            "example": 5,
            "description": "Level at which the variant is flagged low_stock. `null` disables low-stock alerts."
          }
        }
      },
      "SetTrackDto": {
        "type": "object",
        "properties": {
          "track": {
            "type": "string",
            "enum": [
              "preloaded",
              "api"
            ],
            "example": "preloaded"
          },
          "note": {
            "type": "string",
            "maxLength": 500,
            "example": "Switching to local codes"
          }
        },
        "required": [
          "track"
        ]
      },
      "BulkVoucherItemDto": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "example": "ABCD-1234-EFGH"
          },
          "serial_number": {
            "type": "string",
            "maxLength": 255
          },
          "cost": {
            "type": "number",
            "minimum": 0,
            "description": "Per-code cost override."
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          },
          "metadata": {
            "type": "object"
          }
        },
        "required": [
          "code"
        ]
      },
      "BulkVouchersDto": {
        "type": "object",
        "properties": {
          "codes": {
            "maxItems": 10000,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BulkVoucherItemDto"
            }
          },
          "codes_text": {
            "type": "string",
            "maxLength": 1000000,
            "description": "Newline, comma, or whitespace separated raw codes. Alternative to `codes`.",
            "example": "ABCD-1111\nABCD-2222\nABCD-3333"
          },
          "default_cost": {
            "type": "number",
            "minimum": 0,
            "description": "Applied to every code when using `codes_text`."
          },
          "default_expires_at": {
            "type": "string",
            "format": "date-time"
          },
          "note": {
            "type": "string",
            "maxLength": 500,
            "example": "Seed batch April 2026"
          },
          "partner_id": {
            "type": "number",
            "description": "Optional partner_id to tag every new voucher row with."
          }
        }
      },
      "CreateRedemptionCampaignDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 200,
            "example": "Spotify Premium $10 — Promo"
          },
          "slug": {
            "type": "string",
            "maxLength": 200,
            "example": "spotify-10-promo",
            "description": "URL-safe slug (unique)"
          },
          "description": {
            "type": "string"
          },
          "headline": {
            "type": "string",
            "maxLength": 300
          },
          "cta_text": {
            "type": "string",
            "maxLength": 100
          },
          "variant_id": {
            "type": "number",
            "minimum": 1,
            "description": "Optional FK to product_variants.id for analytics/display"
          },
          "brand_id": {
            "type": "number",
            "minimum": 1,
            "description": "Default brand (platform) for all codes in this campaign. Used by the client redeem screen to display the platform name. Individual codes may override this via their own brand_id."
          },
          "instruction_template": {
            "type": "string",
            "description": "Default instructions if a code does not override them"
          },
          "require_email": {
            "type": "boolean",
            "deprecated": true,
            "default": false,
            "description": "Deprecated (no-op since 2026-05-18). Client always requires phone and never requires email."
          },
          "require_phone": {
            "type": "boolean",
            "deprecated": true,
            "default": true,
            "description": "Deprecated (no-op since 2026-05-18). Client always requires phone and never requires email."
          },
          "max_per_ip": {
            "type": "number",
            "minimum": 0,
            "default": 1
          },
          "starts_at": {
            "type": "string"
          },
          "ends_at": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "paused",
              "expired"
            ]
          }
        },
        "required": [
          "name",
          "slug"
        ]
      },
      "UpdateRedemptionCampaignDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 200
          },
          "slug": {
            "type": "string",
            "maxLength": 200
          },
          "description": {
            "type": "string"
          },
          "headline": {
            "type": "string",
            "maxLength": 300
          },
          "cta_text": {
            "type": "string",
            "maxLength": 100
          },
          "variant_id": {
            "type": "number",
            "nullable": true,
            "minimum": 1
          },
          "brand_id": {
            "type": "number",
            "nullable": true,
            "minimum": 1,
            "description": "Default brand (platform) for codes in this campaign. Pass null to clear."
          },
          "instruction_template": {
            "type": "string"
          },
          "require_email": {
            "type": "boolean",
            "deprecated": true,
            "description": "Deprecated (no-op since 2026-05-18)."
          },
          "require_phone": {
            "type": "boolean",
            "deprecated": true,
            "description": "Deprecated (no-op since 2026-05-18)."
          },
          "max_per_ip": {
            "type": "number",
            "minimum": 0
          },
          "starts_at": {
            "type": "string",
            "nullable": true
          },
          "ends_at": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "paused",
              "expired"
            ]
          }
        }
      },
      "BulkCodeEntryDto": {
        "type": "object",
        "properties": {
          "actual_voucher_code": {
            "type": "string",
            "description": "Real voucher code that will be revealed on redeem. Omit to create a placeholder."
          },
          "instructions": {
            "type": "string",
            "description": "Per-code instructions override"
          },
          "brand_id": {
            "type": "number",
            "minimum": 1,
            "description": "Brand (platform) this specific code is for. Selected from GET /admin/catalog/brands. Required when actual_voucher_code is supplied and the parent campaign has no default brand_id; otherwise inherits from campaign.brand_id."
          }
        }
      },
      "GenerateCodesDto": {
        "type": "object",
        "properties": {
          "entries": {
            "maxItems": 10000,
            "description": "Optional explicit entries. If supplied, one redemption token is generated per entry and bound to its actual_voucher_code. If omitted, `count` placeholders are created and admin fills actual codes later. Mutually exclusive with `partner_id`.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BulkCodeEntryDto"
            }
          },
          "count": {
            "type": "number",
            "minimum": 0,
            "maximum": 10000,
            "default": 0
          },
          "code_length": {
            "type": "number",
            "minimum": 6,
            "maximum": 16,
            "default": 9
          },
          "partner_id": {
            "type": "number",
            "minimum": 1,
            "description": "Partner to purchase codes from (FK to partners.id). When set, `entries[]` is ignored and the service live-purchases `count` codes from the partner API. Only Zendit (driver=ZENDIT) is supported currently."
          },
          "partner_external_offer_id": {
            "type": "string",
            "description": "Partner-side offer identifier (e.g. Zendit offerId). Required when `partner_id` is set."
          }
        }
      },
      "VoidCodesDto": {
        "type": "object",
        "properties": {
          "ids": {
            "minItems": 1,
            "maxItems": 1000,
            "type": "array",
            "items": {
              "type": "number"
            }
          }
        },
        "required": [
          "ids"
        ]
      },
      "UpdateRedemptionCodeDto": {
        "type": "object",
        "properties": {
          "actual_voucher_code": {
            "type": "string"
          },
          "instructions": {
            "type": "string"
          },
          "brand_id": {
            "type": "number",
            "nullable": true,
            "minimum": 1,
            "description": "Brand override for this code. Pass null to clear and fall back to the campaign default."
          },
          "status": {
            "type": "string",
            "description": "Manual status override. `redeemed` cannot be set directly — redemption only occurs through the client redeem endpoint.",
            "enum": [
              "unused",
              "pending_stock",
              "voided"
            ]
          }
        }
      },
      "ErrorEnvelope": {
        "type": "object",
        "required": [
          "success",
          "message"
        ],
        "properties": {
          "success": {
            "type": "boolean",
            "example": false
          },
          "message": {
            "type": "string",
            "example": "Something went wrong"
          },
          "data": {
            "type": "object",
            "nullable": true,
            "example": null
          },
          "errorCode": {
            "type": "string",
            "nullable": true,
            "example": "ERROR_CODE"
          },
          "errors": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "object",
              "properties": {
                "field": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "responses": {
      "Error400": {
        "description": "Bad Request — validation failed or malformed payload.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            },
            "example": {
              "success": false,
              "message": "Validation failed",
              "data": null,
              "errorCode": "VALIDATION_ERROR",
              "errors": [
                {
                  "field": "email",
                  "message": "email must be a valid email"
                }
              ]
            }
          }
        }
      },
      "Error401": {
        "description": "Unauthorized — missing or invalid bearer token.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            },
            "example": {
              "success": false,
              "message": "Unauthorized",
              "data": null,
              "errorCode": "UNAUTHORIZED"
            }
          }
        }
      },
      "Error403": {
        "description": "Forbidden — authenticated user lacks required permission.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            },
            "example": {
              "success": false,
              "message": "Forbidden resource",
              "data": null,
              "errorCode": "FORBIDDEN"
            }
          }
        }
      },
      "Error404": {
        "description": "Not Found — resource does not exist.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            },
            "example": {
              "success": false,
              "message": "Resource not found",
              "data": null,
              "errorCode": "NOT_FOUND"
            }
          }
        }
      },
      "Error409": {
        "description": "Conflict — state conflict (e.g. duplicate email).",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            },
            "example": {
              "success": false,
              "message": "Resource already exists",
              "data": null,
              "errorCode": "CONFLICT"
            }
          }
        }
      },
      "Error422": {
        "description": "Unprocessable Entity — semantic validation error.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            },
            "example": {
              "success": false,
              "message": "Unprocessable entity",
              "data": null,
              "errorCode": "UNPROCESSABLE_ENTITY"
            }
          }
        }
      },
      "Error429": {
        "description": "Too Many Requests — rate limit exceeded.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            },
            "example": {
              "success": false,
              "message": "Too many requests, please try again later",
              "data": null,
              "errorCode": "RATE_LIMITED"
            }
          }
        }
      },
      "Error500": {
        "description": "Internal Server Error — unexpected failure.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorEnvelope"
            },
            "example": {
              "success": false,
              "message": "Internal server error",
              "data": null,
              "errorCode": "INTERNAL_ERROR"
            }
          }
        }
      }
    }
  },
  "externalDocs": {
    "description": "BD Voucher",
    "url": "https://bdvoucher.com"
  },
  "x-tagGroups": [
    {
      "name": "Commerce",
      "tags": [
        "Admin Users"
      ]
    },
    {
      "name": "System",
      "tags": [
        "Health"
      ]
    },
    {
      "name": "Other",
      "tags": [
        "Alerts",
        "Auth",
        "Blogs",
        "Brands",
        "Categories",
        "Discounts",
        "Faqs",
        "File Manager",
        "File Serving",
        "Homepage",
        "Inventory",
        "Orders",
        "Pages",
        "Partner Sources",
        "Partners",
        "Payment Methods",
        "Product Types",
        "Products",
        "Redemption",
        "Roles",
        "Stock",
        "Tags",
        "Upload",
        "Users",
        "Vouchers",
        "Zendit"
      ]
    }
  ]
}