{
  "name": "Outline VPN — Reseller API",
  "version": "3.0.0",
  "auth": "Authorization: Bearer <api-key>",
  "wallet": "Telegram Stars (★) — owner tops it up, every key purchase debits it",
  "catalogue": {
    "plans": [
      {
        "id": "gb50",
        "gb": 50,
        "days": 30,
        "stars": 100
      },
      {
        "id": "gb100",
        "gb": 100,
        "days": 30,
        "stars": 200
      },
      {
        "id": "gb500",
        "gb": 500,
        "days": 30,
        "stars": 1000
      }
    ],
    "custom": {
      "starsPerGb": 2,
      "minGb": 10,
      "maxGb": 500,
      "days": 30
    },
    "renewDays": 30
  },
  "endpoints": {
    "public": [
      "GET /v1/health",
      "GET /v1/plans",
      "GET /v1/servers"
    ],
    "reseller": [
      "GET /v1/me",
      "GET /v1/wallet",
      "POST /v1/keys",
      "GET /v1/keys",
      "GET /v1/keys/:id",
      "POST /v1/keys/:id/renew",
      "POST /v1/keys/:id/add-gb",
      "DELETE /v1/keys/:id",
      "GET /v1/transactions",
      "GET /v1/stats"
    ],
    "admin": [
      "POST /v1/admin/resellers",
      "GET /v1/admin/resellers",
      "POST /v1/admin/resellers/:id/topup",
      "PATCH /v1/admin/resellers/:id",
      "POST /v1/admin/token",
      "GET /v1/admin/users",
      "GET /v1/admin/keys"
    ]
  }
}