---
title: Overview
url: https://developers.wpengine.com/docs/ai/api/reference/
image: https://developers.wpengine.com/og/docs/ai/api/reference.png
---

# Overview

## AI Gateway 0.15

An OpenAI-compatible API gateway that routes chat completion and image generation requests to multiple upstream AI providers (OpenAI, Google Gemini, Anthropic) based on the model prefix in the request. [Download the OpenAPI spec](https://api.ai.wpengine.com/v1/openapi.yaml) to import it into Postman, Bruno, or a client generator.

Information

- OpenAPI version: `3.0.3`

## Operations

GET

[/v1/models](https://developers.wpengine.com/docs/ai/api/reference/operations/listmodels/)

GET

[/v1/models/{owner}/{model}/schema](https://developers.wpengine.com/docs/ai/api/reference/operations/getmodelschema/)

POST

[/v1/chat/completions](https://developers.wpengine.com/docs/ai/api/reference/operations/createchatcompletion/)

POST

[/v1/messages](https://developers.wpengine.com/docs/ai/api/reference/operations/createmessage/)

POST

[/v1/messages/count_tokens](https://developers.wpengine.com/docs/ai/api/reference/operations/countmessagetokens/)

POST

[/v1/images/generations](https://developers.wpengine.com/docs/ai/api/reference/operations/createimagegeneration/)

POST

[/v1/images/alt-text](https://developers.wpengine.com/docs/ai/api/reference/operations/createimagealttext/)

POST

[/v1/content/summarize](https://developers.wpengine.com/docs/ai/api/reference/operations/summarizecontent/)

POST

[/v1/content/suggest-taxonomy](https://developers.wpengine.com/docs/ai/api/reference/operations/suggesttaxonomy/)

POST

[/v1/audio/speech](https://developers.wpengine.com/docs/ai/api/reference/operations/createspeech/)

POST

[/v1/audio/transcriptions](https://developers.wpengine.com/docs/ai/api/reference/operations/createtranscription/)

GET

[/v1/models](https://developers.wpengine.com/docs/ai/api/reference/operations/listmodels/)

GET

[/v1/models/{owner}/{model}/schema](https://developers.wpengine.com/docs/ai/api/reference/operations/getmodelschema/)

POST

[/v1/chat/completions](https://developers.wpengine.com/docs/ai/api/reference/operations/createchatcompletion/)

POST

[/v1/messages](https://developers.wpengine.com/docs/ai/api/reference/operations/createmessage/)

POST

[/v1/messages/count_tokens](https://developers.wpengine.com/docs/ai/api/reference/operations/countmessagetokens/)

POST

[/v1/images/generations](https://developers.wpengine.com/docs/ai/api/reference/operations/createimagegeneration/)

POST

[/v1/images/alt-text](https://developers.wpengine.com/docs/ai/api/reference/operations/createimagealttext/)

POST

[/v1/content/summarize](https://developers.wpengine.com/docs/ai/api/reference/operations/summarizecontent/)

POST

[/v1/content/suggest-taxonomy](https://developers.wpengine.com/docs/ai/api/reference/operations/suggesttaxonomy/)

POST

[/v1/audio/speech](https://developers.wpengine.com/docs/ai/api/reference/operations/createspeech/)

POST

[/v1/audio/transcriptions](https://developers.wpengine.com/docs/ai/api/reference/operations/createtranscription/)

GET

[/v1/analytics](https://developers.wpengine.com/docs/ai/api/reference/operations/getanalytics/)

GET

[/v1/credits](https://developers.wpengine.com/docs/ai/api/reference/operations/getcredits/)

POST

[/v1/sites](https://developers.wpengine.com/docs/ai/api/reference/operations/registersite/)

GET

[/v1/sites/{client_id}](https://developers.wpengine.com/docs/ai/api/reference/operations/getsite/)

DELETE

[/v1/sites/{client_id}](https://developers.wpengine.com/docs/ai/api/reference/operations/deletesite/)

PATCH

[/v1/sites/{client_id}](https://developers.wpengine.com/docs/ai/api/reference/operations/updatesiteprimarycollection/)

POST

[/v1/sites/{client_id}/heartbeat](https://developers.wpengine.com/docs/ai/api/reference/operations/heartbeatsite/)

GET

[/v1/mcp](https://developers.wpengine.com/docs/ai/api/reference/operations/mcpstreamablehttpstream/)

POST

[/v1/mcp](https://developers.wpengine.com/docs/ai/api/reference/operations/mcpstreamablehttp/)

DELETE

[/v1/mcp](https://developers.wpengine.com/docs/ai/api/reference/operations/mcpstreamablehttpterminate/)

GET

[/.well-known/oauth-protected-resource/v1/mcp](https://developers.wpengine.com/docs/ai/api/reference/operations/mcpprotectedresourcemetadata/)

GET

[/v1/kb/collections](https://developers.wpengine.com/docs/ai/api/reference/operations/listcollections/)

POST

[/v1/kb/collections](https://developers.wpengine.com/docs/ai/api/reference/operations/createcollection/)

GET

[/v1/kb/collections/{id}](https://developers.wpengine.com/docs/ai/api/reference/operations/getcollection/)

DELETE

[/v1/kb/collections/{id}](https://developers.wpengine.com/docs/ai/api/reference/operations/deletecollection/)

PATCH

[/v1/kb/collections/{id}](https://developers.wpengine.com/docs/ai/api/reference/operations/updatecollection/)

POST

[/v1/kb/collections/{id}/documents](https://developers.wpengine.com/docs/ai/api/reference/operations/indexdocument/)

POST

[/v1/kb/collections/{id}/documents/bulk](https://developers.wpengine.com/docs/ai/api/reference/operations/bulkindexdocuments/)

GET

[/v1/kb/collections/{id}/documents/{documentID}](https://developers.wpengine.com/docs/ai/api/reference/operations/getdocument/)

DELETE

[/v1/kb/collections/{id}/documents/{documentID}](https://developers.wpengine.com/docs/ai/api/reference/operations/deletedocument/)

POST

[/v1/kb/collections/{id}/search](https://developers.wpengine.com/docs/ai/api/reference/operations/searchcollection/)

GET

[/v1/agents](https://developers.wpengine.com/docs/ai/api/reference/operations/listagents/)

POST

[/v1/agents](https://developers.wpengine.com/docs/ai/api/reference/operations/createagent/)

GET

[/v1/agents/{agent_id}](https://developers.wpengine.com/docs/ai/api/reference/operations/getagent/)

DELETE

[/v1/agents/{agent_id}](https://developers.wpengine.com/docs/ai/api/reference/operations/deleteagent/)

PATCH

[/v1/agents/{agent_id}](https://developers.wpengine.com/docs/ai/api/reference/operations/updateagent/)

GET

[/v1/sessions](https://developers.wpengine.com/docs/ai/api/reference/operations/listsessions/)

POST

[/v1/sessions](https://developers.wpengine.com/docs/ai/api/reference/operations/createsession/)

GET

[/v1/sessions/{session_id}](https://developers.wpengine.com/docs/ai/api/reference/operations/getsession/)

DELETE

[/v1/sessions/{session_id}](https://developers.wpengine.com/docs/ai/api/reference/operations/deletesession/)

PATCH

[/v1/sessions/{session_id}](https://developers.wpengine.com/docs/ai/api/reference/operations/updatesession/)

POST

[/v1/sessions/{session_id}/archive](https://developers.wpengine.com/docs/ai/api/reference/operations/archivesession/)

GET

[/v1/sessions/{session_id}/events](https://developers.wpengine.com/docs/ai/api/reference/operations/listsessionevents/)

POST

[/v1/sessions/{session_id}/events](https://developers.wpengine.com/docs/ai/api/reference/operations/sendsessionevents/)

GET

[/v1/sessions/{session_id}/responses/{response_event_id}/feedback](https://developers.wpengine.com/docs/ai/api/reference/operations/getresponsefeedback/)

POST

[/v1/sessions/{session_id}/responses/{response_event_id}/feedback](https://developers.wpengine.com/docs/ai/api/reference/operations/createresponsefeedback/)

## Authentication

### bearerAuth

Accepts three token types: (1) JWT access token verified against the configured JWKS endpoint; (2) WP Engine API key (prefixed “wpe\_”); (3) browser session token (prefixed “wpbs\_”) — short-lived tokens minted for browser clients via POST /v1/browser/client_secret. Per-route permission checks apply to API keys and browser session tokens; some management endpoints are JWT-only, while agents, sessions, and events also accept an API key scoped to a project. A WordPress site access token must carry the scope “urn:wpengine:wordpress”; the pre-URN spelling “wpengine:wordpress” is also accepted, so sites registered before the rename continue to work without re-registering. A token carrying neither is rejected with 403.

**Security scheme type:&#x20;**&#x68;ttp

### anthropicApiKey

WP Engine API key sent via the Anthropic SDK convention. Equivalent to presenting the same key as a bearer token. Supported only on the /v1/messages endpoints.

**Security scheme type:&#x20;**&#x61;piKey

**Header parameter name:&#x20;**&#x78;-api-key

## Was this helpful?

Thanks for the feedback!

```json
{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://developers.wpengine.com/#website","name":"WP Engine Product Documentation","url":"https://developers.wpengine.com/","description":"Resources for developing, deploying, and scaling on WP Engine.","inLanguage":"en-US","keywords":["API documentation","product documentation","headless WordPress","managed WordPress hosting"],"publisher":{"@id":"https://wpengine.com/#organization"}}]}
```
