{
  "openapi": "3.0.3",
  "info": {
    "title": "ASWAD TOP UP Developer API",
    "version": "V53+V81-COMPAT",
    "description": "Official reseller/bot API. Existing V53 routes plus read-only V81 compatibility catalog routes."
  },
  "servers": [{"url": "https://ASWAD TOP UP.com"}],
  "components": {
    "securitySchemes": {
      "ApiToken": {"type":"apiKey","in":"header","name":"api-token"},
      "BearerAuth": {"type":"http","scheme":"bearer"}
    }
  },
  "security": [{"ApiToken": []}],
  "paths": {
    "/client/api/ping": {
      "get": {"security":[],"summary":"Public health check","responses":{"200":{"description":"OK"}}}
    },
    "/client/api/integration": {
      "get": {"security":[],"summary":"Machine-readable integration configuration","responses":{"200":{"description":"Integration config"}}}
    },
    "/client/api/profile": {
      "get": {"summary":"API account profile and USD balance","responses":{"200":{"description":"Profile"}}}
    },
    "/client/api/categories": {
      "get": {"summary":"Root categories","responses":{"200":{"description":"Root categories"}}}
    },
    "/client/api/categories/all": {
      "get": {"summary":"All visible categories as a flat parent_id list","responses":{"200":{"description":"Flat categories"}}}
    },
    "/client/api/content/{category_id}": {
      "get": {
        "summary":"Direct child categories and products for one category",
        "parameters":[{"name":"category_id","in":"path","required":true,"schema":{"type":"string"}}],
        "responses":{"200":{"description":"Category content"}}
      }
    },
    "/client/api/products": {
      "get": {
        "summary":"Canonical products endpoint — returns a top-level JSON array",
        "parameters":[
          {"name":"products_id","in":"query","required":false,"schema":{"type":"string"}},
          {"name":"base","in":"query","required":false,"schema":{"type":"integer","enum":[0,1]}}
        ],
        "responses":{"200":{"description":"Product array"}}
      }
    },
    "/client/api/products-wrapped": {
      "get": {
        "summary":"Compatibility product response with products/data/items keys",
        "parameters":[
          {"name":"products_id","in":"query","required":false,"schema":{"type":"string"}},
          {"name":"base","in":"query","required":false,"schema":{"type":"integer","enum":[0,1]}}
        ],
        "responses":{"200":{"description":"Wrapped products"}}
      }
    },
    "/client/api/tree": {
      "get": {"summary":"Full nested catalog tree","responses":{"200":{"description":"Nested catalog"}}}
    },
    "/client/api/catalog": {
      "get": {"summary":"Full catalog: nested categories + flat categories + flat products","responses":{"200":{"description":"Full catalog"}}}
    },
    "/client/api/newOrder/{product_id}/params": {
      "get": {
        "summary":"Create an idempotent order",
        "parameters":[
          {"name":"product_id","in":"path","required":true,"schema":{"type":"string"}},
          {"name":"order_uuid","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},
          {"name":"qty","in":"query","required":false,"schema":{"type":"number","default":1}}
        ],
        "responses":{"200":{"description":"Order result"}}
      }
    },
    "/client/api/check": {
      "get": {
        "summary":"Check order status",
        "parameters":[{"name":"orders","in":"query","required":true,"schema":{"type":"string"}}],
        "responses":{"200":{"description":"Order status"}}
      }
    }
  }
}
