The vromvrom-engine exposes two types of APIs: a native REST API powered by FastAPI, and an OpenAI-compatible Proxy for universal integration.
🇫🇷 Version française disponible → API_REFERENCE.fr.md
All native engine endpoints are interactively documented thanks to FastAPI.
Once the engine is running (python gui_server.py), open your browser to:
You will find:
- The interface to test each endpoint.
- Expected JSON schemas for inputs and outputs.
- Error codes.
This is one of the most powerful features of the engine. It exposes a 100% OpenAI API compatible endpoint, allowing you to use vromvrom-engine as an LLM backend for any IDE (Cursor, Cline, Aider) or third-party interface.
Endpoint: POST /v1/chat/completions
- Base URL:
http://localhost:8000/v1 - API Key: The value of your
MOTEUR_API_KEYdefined in your.env. - Model: Use any model configured in your
config.json(e.g.,gemini-2.5-pro,github/gpt-4o, orautoto let the engine choose via the Elo system).
Even though your IDE thinks it's talking to OpenAI, the engine intercepts the request, applies Elo Routing, uses its own keys (via the KeyPool), and triggers the Circuit Breaker in case of a provider error, then returns the response formatted as OpenAI.
Here is an overview of the main engine-specific routes:
POST /api/execute: Sends a complex task to the engine (Routing -> Planner -> Executor -> Reviewer).POST /api/execute/stream: Same but returns the response as Server-Sent Events (SSE) for real-time streaming.
GET /api/ha/state/{entity_id}: Retrieves the current state of a sensor (e.g.,sensor.living_room_temperature).POST /api/ha/control: Executes a service (e.g., turning on a light).{ "entity_id": "light.living_room", "service": "turn_on", "service_data": {"brightness": 255} }
GET /api/workflows: Lists available DAG execution graphs.GET /api/models: Lists available LLMs and their current Elo scores.
For the full specification, check the Swagger UI at
http://localhost:8000/docs.