Skip to main content

Mistral AI

In this guide, you will connect AISIX AI Gateway to Mistral AI. Callers reach Mistral models through the gateway's OpenAI-compatible API, while AISIX owns the credential, model allowlist, rate limits, and usage accounting.

Mistral exposes an OpenAI-compatible API, so it uses the openai adapter with a Mistral api_base. Use this configuration when applications should authenticate to AISIX with a caller API key instead of holding the Mistral key directly.

Prerequisites

Before starting, prepare the following:

  • A gateway with the admin API on :3001 and the proxy API on :3000.
  • The admin key from the gateway config.yaml.
  • A Mistral API key from the Mistral console. Mistral's OpenAI-compatible API root is https://api.mistral.ai/v1.

Supported Capabilities

Mistral is a chat-completions upstream.

EndpointSupportedStreamingNotes
/v1/chat/completionsYesYesPrimary path for mistral-large-latest, mistral-medium-latest, mistral-small-latest.
/v1/images/generationsNoRejected: image generation requires provider: "openai".
/v1/rerankNoMistral is not in the rerank allowlist (openai, cohere, jina).

See Provider Compatibility for the exact per-endpoint rules.

Configure the Mistral Upstream

Create a provider key, model alias, and caller API key for the Mistral-backed route.

Create a Provider Key

export AISIX_ADMIN_KEY="YOUR_ADMIN_KEY"
export MISTRAL_API_KEY="YOUR_PROVIDER_API_KEY"

curl -sS -X POST "http://127.0.0.1:3001/admin/v1/provider_keys" \
-H "Authorization: Bearer ${AISIX_ADMIN_KEY}" \
-H "Content-Type: application/json" \
-d '{
"display_name": "mistral-prod",
"provider": "mistral",
"adapter": "openai",
"secret": "'"${MISTRAL_API_KEY}"'",
"api_base": "https://api.mistral.ai/v1"
}'

provider is mistral.

adapter is openai, because Mistral accepts OpenAI chat-completions requests.

secret stores the Mistral API key. It follows the credential-handling behavior in Provider Credentials.

api_base is required and already includes the /v1 path. AISIX appends /chat/completions to it.

Copy the returned provider key ID.

Create a Model

export PROVIDER_KEY_ID="YOUR_PROVIDER_KEY_ID"

curl -sS -X POST "http://127.0.0.1:3001/admin/v1/models" \
-H "Authorization: Bearer ${AISIX_ADMIN_KEY}" \
-H "Content-Type: application/json" \
-d '{
"display_name": "mistral-large-prod",
"provider": "mistral",
"model_name": "mistral-large-latest",
"provider_key_id": "'"${PROVIDER_KEY_ID}"'"
}'

display_name is the alias callers send in model.

model_name is the Mistral model ID, for example mistral-large-latest or mistral-small-latest.

provider_key_id attaches the alias to the Mistral provider key.

Create a Caller API Key

Choose the caller API key value that the application will send to AISIX, then hash it for the admin resource:

export AISIX_API_KEY="YOUR_CALLER_API_KEY"

CALLER_KEY_HASH=$(printf '%s' "${AISIX_API_KEY}" | shasum -a 256 | awk '{print $1}')

curl -sS -X POST "http://127.0.0.1:3001/admin/v1/apikeys" \
-H "Authorization: Bearer ${AISIX_ADMIN_KEY}" \
-H "Content-Type: application/json" \
-d '{
"key_hash": "'"${CALLER_KEY_HASH}"'",
"allowed_models": ["mistral-large-prod"]
}'

allowed_models must match the model alias you created.

Verify the Upstream

Send a chat-completions request through the AISIX proxy:

curl -sS -X POST "http://127.0.0.1:3000/v1/chat/completions" \
-H "Authorization: Bearer ${AISIX_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"model": "mistral-large-prod",
"messages": [{"role": "user", "content": "Say hello from Mistral."}]
}'

The gateway returns an OpenAI-compatible response that echoes the caller-facing alias mistral-large-prod. If AISIX returns an upstream authentication error, check the provider key secret; if it returns an upstream route error, check api_base and the Mistral model ID in model_name.

Behavior and Limits

Mistral model IDs ending in -latest track the newest snapshot of that model. To pin a specific version, use the dated model ID from the Mistral models list.

Response extensions beyond the OpenAI envelope are not normalized by default.

Next Steps

API7.ai Logo

The digital world is connected by APIs,
API7.ai exists to make APIs more efficient, reliable, and secure.

Sign up for API7 newsletter

Product

API7 Gateway

SOC2 Type IIISO 27001HIPAAGDPRRed Herring

Copyright © APISEVEN PTE. LTD 2019 – 2026. Apache, Apache APISIX, APISIX, and associated open source project names are trademarks of the Apache Software Foundation