mfsig.com
Référence API

API Python + HTTP

Le même vocabulaire des deux côtés. Modèles Pydantic sur le fil ; FullOutput Pydantic en Python. Spécification OpenAPI générée automatiquement à /openapi.json.

Python (en processus)

# Submit a SMILES, get a signed .mfsig.json
curl -X POST https://api.mfsig.com/v1/sigma_profile \
  -H "Authorization: Bearer $MFSIG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "smiles":  "CC(=O)Oc1ccccc1C(=O)O",
    "tier":    "pro",
    "solvent": "water"
  }'

# → 202 Accepted
#   { "job_id":"job_8K2…", "status":"queued",
#     "eta_s": 22 }

HTTP (service FastAPI)

# Poll, or supply a webhook_url and we POST on completion.
curl https://api.mfsig.com/v1/jobs/job_8K2... \
  -H "Authorization: Bearer $MFSIG_API_KEY"

# → 200 OK
#   { "status":   "done",
#     "mfsig_url":"https://mfsig.com/d/aspirin.mfsig.json",
#     "sha256":   "e3b0c44298fc1c14...",
#     "gates":    {"scf":true,"sigma":true,"audit":true,
#                  "geometry":true} }

Routes

GET/healthzops

Sonde de vivacité. Renvoie toujours 200 si le processus est en cours d'exécution. À utiliser comme livenessProbe Kubernetes.

GET/readyzops

Sonde de disponibilité. 503 si aucun backend n'est importable.

GET/methodsinfo

Matrice de disponibilité des niveaux : Pro / Platinum / Reference + versions + préréglages.

POST/sigma_profilecompute

La route phare — σ-profile pour un SMILES. Niveaux Pro / Platinum / Reference avec le vocabulaire d'options complet.

POST/conformer_funnelcompute

σ-profile d'ensemble de conformères pour les structures flexibles. Sortie pondérée par Boltzmann. La même piste d'audit .mfsig par molécule.

POST/convert/from_legacyconvert

Fichier .cosmo fournisseur → JSON MolForge FullOutput. Passez le contenu en ligne ou via server_path. Détection automatique du fournisseur ou spécification explicite.

POST/convert/to_legacyconvert

JSON MolForge → format texte fournisseur. Turbomole / COSMOtherm σ / JSON / CSV.

POST/convert/databaseconvert

Migration de répertoire par lot côté serveur. Idempotente, reprenable, diagnostics par fichier dans ConversionReport.

POST/mfsig/writeapex

Encapsule un résultat de σ-profile dans .mfsig.json v2.0-apex — audit SHA-256 + reproductibilité + legacy_vault optionnel.

POST/mfsig/verifyapex

Vérifie l'empreinte de confiance SHA-256. Inviolable.

GET/openapi.jsondocs

Spécification OpenAPI 3.x lisible par machine.

GET/docsdocs

Interface Swagger pour l'exploration interactive.

GET/redocdocs

Interface Redoc pour une consultation conviviale.

Authentification + sécurité

Le service est livré sans authentification — prévu pour un déploiement interne de confiance derrière un reverse proxy ou un VPN. N'exposez pas /convert/database directement sur Internet — il accepte des chemins côté serveur. Le CORS est permissif par défaut ; restreignez-le via la variable d'environnement ALLOWED_ORIGINS.

Observabilité

Exemple de ligne de logjson
{
  "ts": "2026-05-12T01:24:01Z",
  "level": "INFO",
  "logger": "molforge_sigma.api",
  "msg": "sigma_profile smiles='O' method='dft' wall=12.4s n_atoms=3 n_segments=1432"
}