mfsig.com
API reference

Python + HTTP API

Same vocabulary across both. Pydantic models on the wire; FullOutput Pydantic in Python. OpenAPI spec auto-generated at /openapi.json.

Python (in-process)

# 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 (FastAPI service)

# 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

Liveness probe. Always returns 200 if the process is running. Use as Kubernetes livenessProbe.

GET/readyzops

Readiness probe. 503 if no backend is importable.

GET/methodsinfo

Grade availability matrix: Pro / Platinum / Reference + versions + presets.

POST/sigma_profilecompute

The headline route — σ-profile for one SMILES. Pro / Platinum / Reference grades with full option vocabulary.

POST/conformer_funnelcompute

Conformer-ensemble σ-profile for flexible scaffolds. Boltzmann-weighted output. Same .mfsig audit trail per molecule.

POST/convert/from_legacyconvert

Vendor .cosmo → MolForge FullOutput JSON. Pass content inline or server_path. Auto-detect vendor or specify explicitly.

POST/convert/to_legacyconvert

MolForge JSON → vendor text format. Turbomole / COSMOtherm σ / JSON / CSV.

POST/convert/databaseconvert

Server-side batch directory migration. Idempotent, resumable, per-file diagnostics in ConversionReport.

POST/mfsig/writeapex

Wrap a σ-profile result into .mfsig.json v2.0-apex — SHA-256 audit + reproducibility + optional legacy_vault.

POST/mfsig/verifyapex

Verify the SHA-256 trust hash. Tamper-evident.

GET/openapi.jsondocs

Machine-readable OpenAPI 3.x spec.

GET/docsdocs

Swagger UI for interactive exploration.

GET/redocdocs

Redoc UI for read-friendly browsing.

Authentication + security

The service ships without auth — meant for trusted internal deployment behind a reverse proxy or VPN. Don't expose /convert/database directly to the internet — it accepts server-side paths. CORS is permissive by default; restrict via ALLOWED_ORIGINS env var.

Observability

Sample log linejson
{
  "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"
}