# API — claw-harness-api (proxy HTTP) Le dossier [`services/claw-harness-api/`](../../services/claw-harness-api/) documente l’intégration **claw-code** (amont, hors monorepo). Ce fichier décrit uniquement le **proxy Node** sous `services/claw-harness-api/proxy/`, qui aligne sécurité et bind avec les autres services locaux. - **Bind** : `CLAW_PROXY_HOST` (défaut `127.0.0.1`) - **Port** : `CLAW_PROXY_PORT` (défaut `37142`) - **Amont** : `CLAW_UPSTREAM_URL` — URL de base du serveur HTTP claw-code (ex. `http://127.0.0.1:37143`) ## Authentification Sur le proxy, les requêtes (hors `/health`) doivent inclure : ```http Authorization: Bearer ``` `CLAW_PROXY_TOKEN` est obligatoire au démarrage. Les en-têtes de la requête cliente (hors hop-by-hop et `Host`) sont recopiés vers l’amont ; l’amont peut avoir sa propre politique d’auth. ## Endpoints (côté proxy) ### `GET /health` et `GET /health/` **Réponse `200`** ```json { "status": "ok" } ``` Sans Bearer. ### Toute autre méthode et chemin (authentifié) Après validation du Bearer, le proxy construit l’URL cible : `CLAW_UPSTREAM_URL` + chemin et query de la requête entrante, puis **transfère** méthode, corps et en-têtes (filtrés) vers l’amont. Le corps de réponse et le code statut viennent de l’amont (ou `502` en cas d’erreur de connexion). Il n’y a **pas** de catalogue d’routes fixe dans le monorepo : les chemins effectifs dépendent du serveur HTTP claw-code déployé. ## Variables d’environnement | Variable | Obligatoire | Description | |----------|-------------|-------------| | `CLAW_PROXY_TOKEN` | oui | Secret Bearer côté clients du proxy | | `CLAW_UPSTREAM_URL` | oui | Base URL du serveur claw HTTP | | `CLAW_PROXY_HOST` | non | Bind | | `CLAW_PROXY_PORT` | non | Port d’écoute du proxy |