{
  "openapi": "3.0.3",
  "info": {
    "title": "AuriX Reseller API",
    "version": "1.0.0",
    "description": "OpenAI-compatible proxy with AuriX customer allocation and usage lookup."
  },
  "servers": [{"url": "https://api.aurix-mart.online"}],
  "components": {
    "securitySchemes": {
      "bearerAuth": {"type": "http", "scheme": "bearer"}
    }
  },
  "paths": {
    "/health": {"get": {"security": [], "responses": {"200": {"description": "Healthy"}}}},
    "/v1/models": {"get": {"security": [], "responses": {"200": {"description": "Available models"}}}},
    "/api/v1/keys/lookup/balance": {"get": {"security": [{"bearerAuth": []}], "responses": {"200": {"description": "Remaining allocation"}}}},
    "/api/v1/key-info": {"get": {"security": [{"bearerAuth": []}], "responses": {"200": {"description": "Key policy and usage summary"}}}},
    "/api/v1/key-info/history": {"get": {"security": [{"bearerAuth": []}], "responses": {"200": {"description": "Paginated usage history"}}}},
    "/v1/chat/completions": {"post": {"security": [{"bearerAuth": []}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "required": ["model", "messages"], "properties": {"model": {"type": "string"}, "messages": {"type": "array"}, "stream": {"type": "boolean"}}}}}}, "responses": {"200": {"description": "OpenAI-compatible response or SSE stream"}}}},
    "/v1/responses": {"post": {"security": [{"bearerAuth": []}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "required": ["model", "input"], "properties": {"model": {"type": "string"}, "input": {}, "stream": {"type": "boolean"}}}}}}, "responses": {"200": {"description": "Responses-compatible response or SSE stream"}}}},
    "/v1/messages": {"post": {"security": [{"bearerAuth": []}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "required": ["model", "messages"], "properties": {"model": {"type": "string"}, "messages": {"type": "array"}, "max_tokens": {"type": "integer"}, "stream": {"type": "boolean"}}}}}}, "responses": {"200": {"description": "Anthropic-compatible response or SSE stream"}}}}
  }
}
