← HumanMirror Oracle

API & MCP

REST JSONMCP1 crédit / analyse réussie

HumanMirror Oracle accepte une entrée JSON ou texte et renvoie une analyse structurée. L’API est versionnée par la propriété version. Les erreurs utilisent toujours ok:false et un objet error contenant code et message.

Authentification

Après un paiement Stripe validé, la page de succès génère une clé utilisateur préfixée par hm_oracle_. Envoyez-la en Bearer :

Authorization: Bearer hm_oracle_VOTRE_CLE

Alternative : X-API-Key: hm_oracle_VOTRE_CLE. Ne placez jamais votre clé dans un dépôt public ou du code navigateur partagé.

GET /api/oracle

GET https://humanmirror.fr/api/oracle

Sans clé : informations publiques du service. Avec une clé : ajoute le solde de crédits et l’état du compte.

curl -L https://humanmirror.fr/api/oracle \
  -H "Authorization: Bearer hm_oracle_VOTRE_CLE"

POST /api/oracle/analyze

POST https://humanmirror.fr/api/oracle/analyze

Corps JSON :

{
  "input": [12, 14, 15, 18, 55],
  "objective": "Détecter les anomalies",
  "context": "Mesures quotidiennes"
}

Limite : 100 000 caractères JSON pour input. Un appel réussi consomme 1 crédit. Les appels invalides, sans crédit ou limités ne consomment pas de crédit.

Réponse réussie

{
  "ok": true,
  "version": "2026-08-30",
  "request_id": "hmreq_…",
  "result": {"summary":"…","profile":{},"signals":[],"recommendations":[],"limitations":[]},
  "usage": {"credits_used":1,"credits_remaining":99}
}

Erreurs stables

400 invalid_body, 400 missing_input, 401 invalid_api_key, 402 insufficient_credits, 413 payload_too_large, 429 rate_limited, 503 service_unavailable.

Exemple curl

curl -L https://humanmirror.fr/api/oracle/analyze \
  -H "Authorization: Bearer hm_oracle_VOTRE_CLE" \
  -H "Content-Type: application/json" \
  -d '{"input":"Un texte à analyser","objective":"Identifier les thèmes dominants"}'

Exemple JavaScript

const response = await fetch("https://humanmirror.fr/api/oracle/analyze", {
  method: "POST",
  headers: {
    "Authorization": "Bearer " + process.env.HUMANMIRROR_ORACLE_KEY,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    input: [{day: 1, value: 10}, {day: 2, value: 12}],
    objective: "Analyser la tendance"
  })
});
const result = await response.json();

Exemple Python

import os, requests

r = requests.post(
    "https://humanmirror.fr/api/oracle/analyze",
    headers={"Authorization": f"Bearer {os.environ['HUMANMIRROR_ORACLE_KEY']}"},
    json={"input": [10, 11, 13, 40], "objective": "Détecter les anomalies"},
    timeout=20,
)
r.raise_for_status()
print(r.json())

MCP

Endpoint Streamable HTTP : https://humanmirror.fr/api/oracle/mcp/.

Outil publié : humanmirror_oracle. Les méthodes initialize et tools/list sont publiques ; tools/call exige la même clé Bearer et consomme automatiquement 1 crédit en cas d’analyse réussie.

{
  "mcpServers": {
    "humanmirror-oracle": {
      "url": "https://humanmirror.fr/api/oracle/mcp/",
      "headers": {
        "Authorization": "Bearer $HUMANMIRROR_ORACLE_KEY"
      }
    }
  }
}

OpenAPI & découverte

OpenAPI JSON · AI plugin manifest · MCP manifest

Quotas et anti-abus

Limite opérationnelle : 30 appels par minute par clé, avec une limite complémentaire par origine réseau. Les appels sont journalisés avec un identifiant de requête, le statut, la latence et le nombre de crédits consommés. Les entrées brutes et les clés API ne sont pas enregistrées dans les journaux d’usage.