{
 "openapi": "3.1.0",
 "info": {
  "title": "Heliciel 3D model shop — exploration tool for AI assistants",
  "version": "2026-11-09",
  "description": "Ranks the propellers, rotors and turbine runners of the heliciel.com shop (all designed and computed with the Heliciel software) by closeness to a project's parameters, and returns for each model its product page, its 3D view and the values computed by Heliciel at the design point. The tool computes nothing and never extrapolates. Without parameters it describes itself.",
  "contact": {
   "name": "Mecaflux",
   "email": "contact@mecaflux.com",
   "url": "https://www.heliciel.com/en/boutique-modeles-3d/ai-exploration.html"
  }
 },
 "servers": [
  {
   "url": "https://www.heliciel.com"
  }
 ],
 "paths": {
  "/boutique-modeles-3d/explorer.php": {
   "get": {
    "operationId": "explorerBoutique",
    "summary": "Find the shop models closest to a project",
    "parameters": [
     {
      "name": "type",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "description": "Category: drone, avion, bateau, eolienne, hydrolienne, kaplan, ventilateur, pompe. Optional: without it, the whole shop."
     },
     {
      "name": "q",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "description": "Free text searched in the reference and the title (e.g. B4-70, 13x17, winglets)."
     },
     {
      "name": "nb_pales",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer"
      },
      "description": "Required number of blades (strict filter)."
     },
     {
      "name": "sens",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "description": "Required direction of rotation: droite (right-hand) or gauche (left-hand) — strict filter."
     },
     {
      "name": "diametre_mm",
      "in": "query",
      "required": false,
      "schema": {
       "type": "number"
      },
      "description": "Desired diameter in mm."
     },
     {
      "name": "pas_mm",
      "in": "query",
      "required": false,
      "schema": {
       "type": "number"
      },
      "description": "Desired pitch at 0.7 R in mm (propulsive propellers)."
     },
     {
      "name": "regime_trmin",
      "in": "query",
      "required": false,
      "schema": {
       "type": "number"
      },
      "description": "Rotation speed in rpm."
     },
     {
      "name": "vitesse_ms",
      "in": "query",
      "required": false,
      "schema": {
       "type": "number"
      },
      "description": "Fluid speed (advance, wind, current) in m/s; also vitesse_noeuds (knots) and vitesse_kmh (km/h)."
     },
     {
      "name": "poussee_n",
      "in": "query",
      "required": false,
      "schema": {
       "type": "number"
      },
      "description": "Desired thrust in N (propulsive propellers)."
     },
     {
      "name": "puissance_w",
      "in": "query",
      "required": false,
      "schema": {
       "type": "number"
      },
      "description": "Shaft power in W (available motor power, or recovered power for a turbine)."
     },
     {
      "name": "chute_m",
      "in": "query",
      "required": false,
      "schema": {
       "type": "number"
      },
      "description": "Net head in m (Kaplan turbines)."
     },
     {
      "name": "debit_m3s",
      "in": "query",
      "required": false,
      "schema": {
       "type": "number"
      },
      "description": "Flow rate in m³/s (Kaplan); also debit_m3h in m³/h (fans, pumps)."
     },
     {
      "name": "pression_pa",
      "in": "query",
      "required": false,
      "schema": {
       "type": "number"
      },
      "description": "Pressure rise in Pa (fans, pumps)."
     },
     {
      "name": "n",
      "in": "query",
      "required": false,
      "schema": {
       "type": "integer"
      },
      "description": "Number of models returned, 1 to 5 (default 3)."
     },
     {
      "name": "lang",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "description": "fr or en: language of titles, labels and page addresses."
     },
     {
      "name": "format",
      "in": "query",
      "required": false,
      "schema": {
       "type": "string"
      },
      "description": "json for the JSON response (or Accept: application/json header); otherwise readable HTML."
     },
     {
      "name": "vitesse_noeuds",
      "in": "query",
      "required": false,
      "schema": {
       "type": "number"
      },
      "description": "Fluid speed in knots (alternative to vitesse_ms)."
     },
     {
      "name": "vitesse_kmh",
      "in": "query",
      "required": false,
      "schema": {
       "type": "number"
      },
      "description": "Fluid speed in km/h (alternative to vitesse_ms)."
     },
     {
      "name": "debit_m3h",
      "in": "query",
      "required": false,
      "schema": {
       "type": "number"
      },
      "description": "Flow rate in m³/h (alternative to debit_m3s; fans and pumps)."
     }
    ],
    "responses": {
     "200": {
      "description": "Ranked models (format=json) or a readable HTML page",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       },
       "text/html": {}
      }
     },
     "429": {
      "description": "Rate limit: 60 calls per hour and per address"
     }
    }
   }
  }
 }
}