List available models
package main
import ( "fmt" "net/http" "io")
func main() {
url := "https://api.ai.wpengine.com/v1/models"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}const url = 'https://api.ai.wpengine.com/v1/models';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}<?php
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://api.ai.wpengine.com/v1/models');
echo $response->getBody();curl --request GET \ --url https://api.ai.wpengine.com/v1/modelsReturns the model catalog with rate-card pricing and display metadata. No authentication is required.
Responses
Section titled “Responses”List of supported models
object
object
Provider organization name preserved for OpenAI /v1/models compatibility (e.g. “openai”, “anthropic”, “moonshotai”).
Canonical provider key used by the console for grouping and iconography. One of: “openai”, “google”, “gemma”, “anthropic”, “deepseek”, “kimi”, “glm”, “minimax”, “qwen”.
Human-readable model name for UI display.
Short marketing-style description of the model’s capabilities.
Operations and features this model supports. Clients that build agents or tool-calling flows should only offer models whose capabilities include “tools”.
Maximum input context length in tokens.
Maximum number of output tokens the model can generate in a single response. Omitted when no limit is published for the model.
Per-model parameter constraints. Omitted for models with no constrained parameters.
object
Rules for a numeric chat parameter. Omitted when not applicable. Supported parameters publish max (and optionally min); unsupported parameters publish supported: false.
object
When false, the model rejects any explicit value for this parameter (provider default only). Omitted when max is published.
Smallest accepted value, inclusive. Omitted when the minimum is 0; clients and the gateway treat a missing min as 0.
Largest accepted value, inclusive. Published for every supported parameter (when supported is not false).
Rules for a string-enum chat parameter. Omitted when not applicable. Values lists every accepted string the model honours end-to-end through the current relay.
object
Every accepted value for this parameter.
Per-token pricing for a model. Omitted entirely when pricing data is not yet available; the console hides the pricing block in that case. Token prices are decimal strings to avoid floating-point drift.
object
Cost per 1,000,000 input tokens, as a decimal string.
Cost per 1,000,000 output tokens, as a decimal string.
ISO 4217 currency code.
The date this model was announced as deprecated, in YYYY-MM-DD form. Absent for a model with no announced deprecation. On and after this date the model is still served unchanged, but new integrations should prefer an alternative — where one exists, the model description names it.
The date this model stops being served, in YYYY-MM-DD form. Absent when the model is deprecated but no removal date has been announced yet. After this date requests naming the model are rejected, and it is no longer shown in the console model catalog.
Example
{ "object": "list", "data": [ { "id": "google/gemini-3.5-flash", "object": "model", "owned_by": "openai", "provider": "openai", "display_name": "GPT OSS 120B", "capabilities": [ "chat", "tools", "reasoning" ], "context_window": 200000, "max_output_tokens": 128000, "parameters": { "temperature": { "supported": false, "max": 1 }, "response_format_type": { "values": [ "text" ] } }, "pricing": { "input_per_million": "3.00", "output_per_million": "15.00", "currency": "USD" }, "deprecation_date": "2026-01-05", "removal_date": "2026-07-05" } ]}Rate limit exceeded. The request was throttled at the edge; wait and retry later. The response body is a short HTML page generated by the load balancer, not a structured JSON error — clients should rely on the 429 status code rather than parsing the body.