Overview
A client-mode connector for a curated slice of the Mistral AI API, which uses OpenAI-compatible request shapes. Use it for IIoT / edge alarm text, operator notes and scanned shop-floor documents:
Default
BASE_ADDRESS is https://api.mistral.ai (no trailing slash). Topics use ai/mistral-ai/<object>/<verb>.
See the base guide: REST API Connectors.
Auth:
Authorization: Bearer <Mistral API key>. Prefer Hub secrets (GET SECRET "MISTRAL_API_KEY") mapped into MQTT api_token. Never commit real keys.Request body: Mistral rejects unknown fields in request bodies. The connector sends
{value.json.body} as the JSON body, so publish {"api_token": "...", "body": { ... }}. The body has the same shape as the OpenAI chat and embeddings requests.EU data residency
api.mistral.aiis Mistral’s global endpoint. Mistral does not commit to an inference location for it.- For inference processed in the EU, set
BASE_ADDRESStohttps://api.eu.mistral.ai(data centers in EU and EFTA countries).https://api.us.mistral.aiis the US option. - Regional inference costs 1.1× list price, serves only models hosted in that region and does not offer Agents, Batch or Files. Call
GetModelson the regional host before you send production traffic. - Account data such as API keys, billing and usage analytics is not regional. See Regional inference and the Mistral Help Center.
Basic Syntax
Topics
Example Payloads
Alarm triage onai/mistral-ai/chat/completions/post:
ai/mistral-ai/embeddings/post:
ai/mistral-ai/ocr/post:
ai/mistral-ai/models/get:
Configuration
- Set
BASE_ADDRESStohttps://api.mistral.ai, or tohttps://api.eu.mistral.aiwhen inference must stay in the EU. - Store a Mistral API key in Hub secrets (
MISTRAL_API_KEY); map it into MQTTapi_token. - For alarm classification: publish to
ai/mistral-ai/chat/completions/postwithresponse_formatjson_objectorjson_schema. - For semantic search / similarity: publish to
ai/mistral-ai/embeddings/postwithmistral-embed. - For scanned documents or camera snapshots: publish to
ai/mistral-ai/ocr/postwith adocument_urlor animage_urldata URL. - Keep
"stream": false(the default). Streamed replies are not split into MQTT messages. - Use
GetModelsas a cheap credential check before production workloads.

