openapi: 3.2.0 info: title: WanAPIs Unified AI Completions API version: '2026-05-27' summary: OpenAI-compatible AI gateway aggregating GPT, Claude, Gemini, DeepSeek and other LLM, image, video, and audio model providers behind a single key. description: 'WanAPIs (https://wanapis.com) is a developer-focused AI API gateway. Clients issue OpenAI-style requests against `https://api.wanapis.com/v1`; the platform routes them to the appropriate upstream model provider (OpenAI, Anthropic, Google, DeepSeek, Moonshot, Alibaba, xAI, Mistral, Stability, Midjourney, etc.) and applies per-project quota, metering, channel routing, and failover. This OpenAPI is **hand-authored** by API Evangelist. WanAPIs publishes no machine-readable spec — `https://api.wanapis.com/openapi.json` returns the admin dashboard. Operations included here are taken from https://wanapis.com/docs and https://wanapis.com/pricing and reflect the OpenAI-compatible surface plus the documented WanAPIs `/responses` and async task patterns. Request and response schemas mirror the OpenAI HTTP API by convention; consult the upstream OpenAI reference for full field semantics. ' termsOfService: https://wanapis.com/ contact: name: WanAPIs Support email: support@wanapis.com url: https://wanapis.com/ license: name: Proprietary url: https://wanapis.com/ servers: - url: https://api.wanapis.com/v1 description: WanAPIs production OpenAI-compatible base URL. security: - bearerAuth: [] tags: - name: Completions description: Legacy text completions (OpenAI compatible). paths: /completions: post: tags: - Completions operationId: createCompletion summary: Create a (legacy) text completion description: OpenAI-compatible legacy completions endpoint. Prefer `/chat/completions` for new development. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CompletionRequest' responses: '200': description: Completion result. content: application/json: schema: $ref: '#/components/schemas/CompletionResponse' '401': $ref: '#/components/responses/Unauthorized' '429': $ref: '#/components/responses/RateLimited' '500': $ref: '#/components/responses/UpstreamFailure' components: responses: Unauthorized: description: Missing or invalid API key. content: application/json: schema: $ref: '#/components/schemas/Error' RateLimited: description: Rate limit or quota exceeded. content: application/json: schema: $ref: '#/components/schemas/Error' UpstreamFailure: description: Upstream provider failure (500–504). Retry with exponential backoff; WanAPIs may auto-failover to a configured channel. content: application/json: schema: $ref: '#/components/schemas/Error' schemas: CompletionResponse: type: object properties: id: type: string object: type: string const: text_completion created: type: integer model: type: string choices: type: array items: type: object properties: text: type: string index: type: integer finish_reason: type: string usage: $ref: '#/components/schemas/Usage' Error: type: object properties: error: type: object properties: message: type: string type: type: string code: type: string param: type: string nullable: true CompletionRequest: type: object required: - model - prompt properties: model: type: string prompt: oneOf: - type: string - type: array items: type: string max_tokens: type: integer temperature: type: number top_p: type: number n: type: integer stream: type: boolean stop: oneOf: - type: string - type: array items: type: string Usage: type: object properties: prompt_tokens: type: integer completion_tokens: type: integer total_tokens: type: integer securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: API Key description: 'Authenticate every request with `Authorization: Bearer `. Keys are issued per project in the WanAPIs dashboard and may be scoped with quota and model availability. '