Skip to content
WP EngineDocumentation

List available models

GET
/v1/models
<?php
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://api.ai.wpengine.com/v1/models');
echo $response->getBody();

Returns the model catalog with rate-card pricing and display metadata. No authentication is required.

List of supported models

Media typeapplication/json
object
object
required
string
data
required
Array<object>
object
id
required
string
object
required
string
owned_by
required

Provider organization name preserved for OpenAI /v1/models compatibility (e.g. “openai”, “anthropic”, “moonshotai”).

string
provider
required

Canonical provider key used by the console for grouping and iconography. One of: “openai”, “google”, “gemma”, “anthropic”, “deepseek”, “kimi”, “glm”, “minimax”, “qwen”.

string
display_name
required

Human-readable model name for UI display.

string
description

Short marketing-style description of the model’s capabilities.

string
capabilities

Operations and features this model supports. Clients that build agents or tool-calling flows should only offer models whose capabilities include “tools”.

Array<string>
Allowed values: chat image_generation speech_generation transcription alt_text summary taxonomy messages tools vision documents reasoning web_search
context_window

Maximum input context length in tokens.

integer
max_output_tokens

Maximum number of output tokens the model can generate in a single response. Omitted when no limit is published for the model.

integer
parameters

Per-model parameter constraints. Omitted for models with no constrained parameters.

object
temperature

Rules for a numeric chat parameter. Omitted when not applicable. Supported parameters publish max (and optionally min); unsupported parameters publish supported: false.

object
supported

When false, the model rejects any explicit value for this parameter (provider default only). Omitted when max is published.

boolean
min

Smallest accepted value, inclusive. Omitted when the minimum is 0; clients and the gateway treat a missing min as 0.

number format: double
max

Largest accepted value, inclusive. Published for every supported parameter (when supported is not false).

number format: double
response_format_type

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
values

Every accepted value for this parameter.

Array<string>
pricing

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
input_per_million

Cost per 1,000,000 input tokens, as a decimal string.

string
output_per_million

Cost per 1,000,000 output tokens, as a decimal string.

string
currency
required

ISO 4217 currency code.

string
deprecation_date

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.

string format: date
removal_date

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.

string format: date
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.

Media typetext/html
string