Public API and MCP
Programmatic retrosynthesis via REST + MCP. API keys, endpoints, webhooks, end-user attribution.
Programmatic access to retrosynthesis, references, convergence, and SMILES validation. Build on the platform from your own apps, ELN integrations, or scripted workflows.
Authentication
Every request is authenticated with a per-customer API key. Admins
provision keys at /manage/api-keys; the key is shown once at
generation and stored only as a one-way hash on our side. Treat each
key like a password; rotate or revoke at any time from the same
page.
Keys are scoped to the issuing user, rate-limited per key, and attribute API usage back to that user for billing.
Authorization: Bearer <your-api-key>
Endpoints
The v1 API is documented as an OpenAPI spec served at /api/v1/docs/ui (interactive Swagger UI). The high-leverage endpoints:
POST /api/v1/jobs: submit a retrosynthesis job (target SMILES, route length, deep search, precedent, etc.).GET /api/v1/jobs/{id}: poll for job status and pull the finished result.GET /api/v1/jobs/{id}/references: patent references for every step of a finished route.POST /api/v1/validate-smiles: canonicalize and validate a SMILES string before submission.GET /api/v1/usage: billing + usage metrics for the current customer.POST /api/v1/webhooks: register a callback URL to receivetask.completedandtask.failedevents when a job finishes.
MCP server
For agentic integrations, we expose a hosted Model Context
Protocol server at /api/v1/mcp with five tools:
submit_retrosynthesisget_job_statusget_route_referencesvalidate_smileslist_recent_jobs
Drop the MCP endpoint into any MCP-compatible client (Claude Desktop, Continue.dev, custom agents) along with your API key, and the agent can drive retrosynthesis programmatically.
Webhooks
When you'd rather get pushed than poll, register a webhook URL via
POST /api/v1/webhooks. We POST task.completed and task.failed
events to your URL with the result payload. Each delivery is retried
up to three times; failures are surfaced in the Webhooks panel.