{"openapi":"3.1.0","info":{"title":"TokenFajri Enterprise AI Gateway API","version":"1.0.0","description":"OpenAI-compatible v1 API Gateway (https://token.fajriag.ai.id/v1) providing unified access to Anthropic Claude, OpenAI GPT, DeepSeek, and Google Gemini with atomic Indonesian Rupiah (IDR) settlement and zero prompt retention.","contact":{"name":"TokenFajri Engineering Support","url":"https://t.me/FAJRIAG1"}},"servers":[{"url":"https://token.fajriag.ai.id/v1","description":"Primary Production OpenAI-Compatible v1 Gateway"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API_KEY (sk-tok-...)","description":"Obtain an API key at https://token.fajriag.ai.id/register"}}},"paths":{"/models":{"get":{"operationId":"listModels","summary":"List all active AI models and IDR token pricing","description":"Returns the OpenAI-compatible list of available frontier AI models along with pricing metadata.","responses":{"200":{"description":"Successful model list response","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","example":"list"},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"claude-sonnet-4-5"},"object":{"type":"string","example":"model"},"owned_by":{"type":"string","example":"Anthropic"}}}}}}}}}}}},"/chat/completions":{"post":{"operationId":"createChatCompletion","summary":"Create a chat completion (Standard JSON or SSE Stream)","description":"Executes an OpenAI-compatible chat completion request routed through multi-pool upstream clusters.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["model","messages"],"properties":{"model":{"type":"string","description":"Model ID from GET /v1/models","example":"claude-sonnet-4-5"},"messages":{"type":"array","items":{"type":"object","required":["role","content"],"properties":{"role":{"type":"string","enum":["system","user","assistant","tool"]},"content":{"type":"string"}}}},"stream":{"type":"boolean","default":false,"description":"Enable Server-Sent Events (SSE) token streaming"},"temperature":{"type":"number","default":0.7},"max_tokens":{"type":"integer"}}}}}},"responses":{"200":{"description":"Chat completion response or text/event-stream SSE chunks"},"401":{"description":"Missing or invalid Bearer sk-tok-... API key"},"402":{"description":"Insufficient quota or IDR wallet balance"}}}}}}