{
  "info": {
    "_postman_id": "c766871c-32ac-41a5-a6a0-3215593832a8",
    "name": "GateProxy API",
    "description": "Beginner-friendly Postman collection for GateProxy API.\n\nSet collection variables:\n- base_url = https://api.gateproxy.store\n- api_token = your token from the GateProxy Telegram bot\n\nAuth format: Authorization: Bearer {{api_token}}",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "_exporter_id": "chatgpt"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{api_token}}",
        "type": "string"
      }
    ]
  },
  "event": [],
  "variable": [
    {
      "key": "base_url",
      "value": "https://api.gateproxy.store",
      "type": "string"
    },
    {
      "key": "api_token",
      "value": "gpk_live_xxxxxxxxxxxxxxxxx",
      "type": "string"
    },
    {
      "key": "provider_id",
      "value": "nodemaven",
      "type": "string"
    },
    {
      "key": "order_id",
      "value": "ord_xxxxx",
      "type": "string"
    },
    {
      "key": "proxy_username",
      "value": "auto",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "01 - Basic",
      "description": "Health check and API metadata.",
      "item": [
        {
          "name": "Health Check",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/health",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "health"
              ]
            },
            "description": "Checks whether the API server is running. This endpoint does not require authentication.",
            "auth": {
              "type": "noauth"
            }
          },
          "response": [
            {
              "name": "Success",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"status\": \"ok\"\n}"
            }
          ]
        },
        {
          "name": "API Root",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/",
              "host": [
                "{{base_url}}"
              ],
              "path": []
            },
            "description": "Basic API information. This endpoint may be public depending on server configuration.",
            "auth": {
              "type": "noauth"
            }
          },
          "response": [
            {
              "name": "Success",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"name\": \"GateProxy API\",\n  \"status\": \"running\"\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "02 - Providers and Pricing",
      "description": "List providers and pricing plans.",
      "item": [
        {
          "name": "Get All Providers",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/providers",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "providers"
              ]
            },
            "description": "Returns all active proxy providers."
          },
          "response": [
            {
              "name": "Success",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"providers\": [\n    {\n      \"id\": \"abcproxy\",\n      \"name\": \"ABC Proxy\",\n      \"status\": \"active\"\n    },\n    {\n      \"id\": \"9proxy\",\n      \"name\": \"9Proxy\",\n      \"status\": \"active\"\n    },\n    {\n      \"id\": \"nodemaven\",\n      \"name\": \"NodeMaven\",\n      \"status\": \"active\"\n    }\n  ]\n}"
            },
            {
              "name": "Unauthorized",
              "originalRequest": {},
              "status": "Error",
              "code": 401,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"unauthorized\",\n    \"message\": \"API token required. Use Authorization: Bearer gpk_live_xxxxx\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Get One Provider Pricing",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/providers/{{provider_id}}/pricing",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "providers",
                "{{provider_id}}",
                "pricing"
              ]
            },
            "description": "Returns pricing for one provider. Example provider_id: nodemaven, abcproxy, 9proxy, proxyseller, dataimpulse, 9proxy_cd_key."
          },
          "response": [
            {
              "name": "Success",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"provider\": \"nodemaven\",\n  \"currency\": \"USDT\",\n  \"plans\": [\n    {\n      \"traffic\": \"120 MB\",\n      \"plan\": \"0.120\",\n      \"price\": 0.45\n    },\n    {\n      \"traffic\": \"1 GB\",\n      \"plan\": \"1\",\n      \"price\": 3.5\n    }\n  ]\n}"
            },
            {
              "name": "Provider Not Found",
              "originalRequest": {},
              "status": "Error",
              "code": 404,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"provider_not_found\",\n    \"message\": \"Provider not found.\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Get All Pricing",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/pricing",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "pricing"
              ]
            },
            "description": "Returns pricing for every active provider."
          },
          "response": [
            {
              "name": "Success",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"currency\": \"USDT\",\n  \"providers\": {\n    \"abcproxy\": [\n      {\n        \"traffic\": \"1 GB\",\n        \"plan\": \"1\",\n        \"price\": 1.3\n      }\n    ],\n    \"9proxy\": [\n      {\n        \"traffic\": \"1 GB\",\n        \"plan\": \"1\",\n        \"price\": 1.5\n      }\n    ],\n    \"nodemaven\": [\n      {\n        \"traffic\": \"1 GB\",\n        \"plan\": \"1\",\n        \"price\": 3.5\n      }\n    ]\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "03 - Account",
      "description": "Account balance endpoint.",
      "item": [
        {
          "name": "Get Account Balance",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/account/balance",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "account",
                "balance"
              ]
            },
            "description": "Returns the current API account balance."
          },
          "response": [
            {
              "name": "Success",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"balance\": 27.52,\n  \"currency\": \"USD\"\n}"
            },
            {
              "name": "Invalid Token",
              "originalRequest": {},
              "status": "Error",
              "code": 401,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"unauthorized\",\n    \"message\": \"Invalid or revoked API token.\"\n  }\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "04 - Orders",
      "description": "Create proxy orders and check order status.",
      "item": [
        {
          "name": "Create Order - NodeMaven 1GB",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/orders",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "orders"
              ]
            },
            "description": "Creates a 1GB NodeMaven proxy order. Balance will be charged automatically.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"provider\": \"nodemaven\",\n  \"plan\": \"1GB\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Success",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"order_id\": \"ord_9x1a8f\",\n  \"status\": \"completed\",\n  \"proxy\": {\n    \"host\": \"proxy.server.com\",\n    \"port\": 8080,\n    \"username\": \"nodemaven_xxxxx-country-us\",\n    \"password\": \"pass123\",\n    \"protocol\": \"HTTP\"\n  }\n}"
            },
            {
              "name": "Insufficient Balance",
              "originalRequest": {},
              "status": "Error",
              "code": 402,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"insufficient_balance\",\n    \"message\": \"Not enough balance.\"\n  }\n}"
            },
            {
              "name": "Invalid Plan",
              "originalRequest": {},
              "status": "Error",
              "code": 400,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"invalid_plan\",\n    \"message\": \"Plan not found for this provider.\"\n  }\n}"
            },
            {
              "name": "Provider Error",
              "originalRequest": {},
              "status": "Error",
              "code": 502,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"provider_error\",\n    \"message\": \"Provider API error message\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Create Order - ABC Proxy 1GB",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/orders",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "orders"
              ]
            },
            "description": "Creates a 1GB ABC Proxy order.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"provider\": \"abcproxy\",\n  \"plan\": \"1GB\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Success",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"order_id\": \"ord_abc123\",\n  \"status\": \"completed\",\n  \"proxy\": {\n    \"host\": \"150.109.18.221\",\n    \"port\": 4950,\n    \"username\": \"gateproxyabc123-zone-abc-region-EG\",\n    \"password\": \"pass123\",\n    \"protocol\": \"HTTP\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Create Order - 9Proxy 1GB",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/orders",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "orders"
              ]
            },
            "description": "Creates a 1GB 9Proxy order.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"provider\": \"9proxy\",\n  \"plan\": \"1GB\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Success",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"order_id\": \"ord_9proxy123\",\n  \"status\": \"completed\",\n  \"proxy\": {\n    \"host\": \"server.host\",\n    \"port\": 17521,\n    \"username\": \"nineipxxxx-country-us\",\n    \"password\": \"pass123\",\n    \"protocol\": \"Socks5\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Create Order - DataImpulse 1GB",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/orders",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "orders"
              ]
            },
            "description": "Creates a 1GB DataImpulse order.",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"provider\": \"dataimpulse\",\n  \"plan\": \"1GB\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Success",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"order_id\": \"ord_data123\",\n  \"status\": \"completed\",\n  \"proxy\": {\n    \"host\": \"proxy.dataimpulse.com\",\n    \"port\": 10000,\n    \"username\": \"dataimpulse_login_cr.ye\",\n    \"password\": \"pass123\",\n    \"protocol\": \"HTTP\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Get Order Status",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/orders/{{order_id}}",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "orders",
                "{{order_id}}"
              ]
            },
            "description": "Returns one order status. If completed, the proxy payload is included."
          },
          "response": [
            {
              "name": "Completed",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"order_id\": \"ord_9x1a8f\",\n  \"status\": \"completed\",\n  \"proxy\": {\n    \"host\": \"proxy.server.com\",\n    \"port\": 8080,\n    \"username\": \"proxy_username\",\n    \"password\": \"proxy_password\",\n    \"protocol\": \"HTTP\"\n  }\n}"
            },
            {
              "name": "Failed",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"order_id\": \"ord_9x1a8f\",\n  \"status\": \"failed\",\n  \"error\": {\n    \"code\": \"provider_error\",\n    \"message\": \"Provider API error message\"\n  }\n}"
            },
            {
              "name": "Order Not Found",
              "originalRequest": {},
              "status": "Error",
              "code": 404,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"order_not_found\",\n    \"message\": \"Order not found.\"\n  }\n}"
            }
          ]
        },
        {
          "name": "List User Orders",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/orders?limit=20&page=1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "orders"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "20",
                  "description": "Number of orders per page"
                },
                {
                  "key": "page",
                  "value": "1",
                  "description": "Page number"
                }
              ]
            },
            "description": "Returns paginated order history. Query params: limit, page."
          },
          "response": [
            {
              "name": "Success",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"orders\": [\n    {\n      \"order_id\": \"ord_9x1a8f\",\n      \"provider\": \"nodemaven\",\n      \"plan\": \"1\",\n      \"status\": \"completed\",\n      \"price_usd\": 3.5,\n      \"proxy\": {\n        \"host\": \"proxy.server.com\",\n        \"port\": 8080,\n        \"username\": \"proxy_username\",\n        \"password\": \"proxy_password\",\n        \"protocol\": \"HTTP\"\n      },\n      \"created_at\": \"2026-05-31T10:30:00\"\n    }\n  ],\n  \"limit\": 20,\n  \"page\": 1\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "05 - Proxy Usage",
      "description": "Check used and remaining traffic for proxies.",
      "item": [
        {
          "name": "Check Usage by Order ID",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/proxies/{{order_id}}/auto/usage",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "proxies",
                "{{order_id}}",
                "auto",
                "usage"
              ]
            },
            "description": "Checks usage by order ID. Use auto as username so the API uses the saved proxy username from the order."
          },
          "response": [
            {
              "name": "Success",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"provider\": \"nodemaven\",\n  \"proxy_username\": \"nodemaven_xxxxx-country-us\",\n  \"used\": \"1.2GB\",\n  \"remaining\": \"3.8GB\",\n  \"total\": \"5GB\",\n  \"order_id\": \"ord_9x1a8f\"\n}"
            },
            {
              "name": "Proxy Not Found",
              "originalRequest": {},
              "status": "Error",
              "code": 404,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"proxy_not_found\",\n    \"message\": \"NodeMaven sub-user not found: nodemaven_xxxxx\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Check Usage by Provider and Username",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/proxies/{{provider_id}}/{{proxy_username}}/usage",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "proxies",
                "{{provider_id}}",
                "{{proxy_username}}",
                "usage"
              ]
            },
            "description": "Checks usage by provider ID and proxy username. Supported: abcproxy, 9proxy, nodemaven, dataimpulse."
          },
          "response": [
            {
              "name": "Success",
              "originalRequest": {},
              "status": "OK",
              "code": 200,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": true,\n  \"provider\": \"nodemaven\",\n  \"proxy_username\": \"nodemaven_xxxxx-country-us\",\n  \"used\": \"1.2GB\",\n  \"remaining\": \"3.8GB\",\n  \"total\": \"5GB\"\n}"
            }
          ]
        },
        {
          "name": "ProxySeller Usage Notice",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/proxies/proxyseller/{{proxy_username}}/usage",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "proxies",
                "proxyseller",
                "{{proxy_username}}",
                "usage"
              ]
            },
            "description": "ProxySeller data usage is not available from this API. Users should use the Telegram checker bot."
          },
          "response": [
            {
              "name": "Usage Not Available",
              "originalRequest": {},
              "status": "Error",
              "code": 400,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"usage_not_available\",\n    \"message\": \"API data usage not available for this proxy. Go on this robot to check your data: https://t.me/proxysellergpbot\"\n  },\n  \"bot_url\": \"https://t.me/proxysellergpbot\"\n}"
            }
          ]
        }
      ]
    },
    {
      "name": "06 - Error Examples",
      "description": "Common error responses.",
      "item": [
        {
          "name": "Unauthorized Example",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{base_url}}/providers",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "providers"
              ]
            },
            "description": "Example request without auth. In Postman this request has auth disabled.",
            "auth": {
              "type": "noauth"
            }
          },
          "response": [
            {
              "name": "Unauthorized",
              "originalRequest": {},
              "status": "Error",
              "code": 401,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"unauthorized\",\n    \"message\": \"API token required. Use Authorization: Bearer gpk_live_xxxxx\"\n  }\n}"
            }
          ]
        },
        {
          "name": "Invalid JSON Example",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/orders",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "orders"
              ]
            },
            "description": "Example of invalid JSON response.",
            "body": {
              "mode": "raw",
              "raw": "{\"provider\":\"nodemaven\",\"plan\":\"1GB\"",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": [
            {
              "name": "Invalid JSON",
              "originalRequest": {},
              "status": "Error",
              "code": 400,
              "_postman_previewlanguage": "json",
              "header": [
                {
                  "key": "Content-Type",
                  "value": "application/json"
                }
              ],
              "body": "{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"invalid_json\",\n    \"message\": \"Invalid JSON body.\"\n  }\n}"
            }
          ]
        }
      ]
    }
  ]
}