Documentation
Put a structure in — a molecule (SMILES) or a protein sequence — pick how deep to go, get a deterministic dossier back. Same input, same numbers, every time.
Quickstart
1. Request access → we approve you → log in. 2. New submission → paste a panel or use the guided builder. 3. Watch it compute live, read the dossier in-browser, download it, or pull it from the API. Every dossier carries a SHA-256 hash seal so a result is verifiable.
Panel format
A panel is JSON. Small molecules go under compounds; each row needs a smiles (or a name / CAS / InChIKey we can resolve).
{
"options": { "tier": 1 },
"compounds": [
{ "name": "vanillin", "smiles": "O=Cc1ccc(O)c(OC)c1" },
{ "name": "caffeine", "smiles": "Cn1cnc2c1c(=O)n(C)c(=O)n2C" }
]
}What comes back
Every run returns a deterministic dossier — read it in-browser, download the PDF, or pull the JSON. Each compound comes back with its taste class, off-note flag, aroma and the full instrument panel, all under one SHA-256 seal. A taste screen looks like:
{
"compound": "vanillin",
"taste_class": "sweet / vanilla",
"off_note": false,
"aroma": ["vanilla", "creamy"],
"intact_mass_Da": 152.15,
"confidence": 0.82,
"seal_sha256": "9f2a...e7c1"
}Depth tiers
Set options.tier. Tier 1 = taste, off-note, masking (≤60 / dossier). Tier 2 = + aroma, shelf-life, blend (≤120). Tier 3 = + safety, stability and the full protein instrument panel (≤180). Overflow is deferred to the full program.
Proteins
Give a sequence (or a UniProt accession we fetch), plus any context — structure (e.g. "11S hexamer"), n_disulfide, conditions (pH, ionic strength, scan rate). More context → a deeper answer.
JSON API
Authenticate with your API key (Authorization: Bearer <key>). Runs are async: submit, poll, fetch the report. Endpoints: POST /v1/runs, GET /v1/runs/<id>, …/report, GET /v1/deliverables, /v1/usage, /v1/billing.
curl -X POST https://app.hansley.ca/v1/runs \
-H "Authorization: Bearer $RARAMA_KEY" \
-H "Content-Type: application/json" \
-d '{"tier":1,"compounds":[{"name":"vanillin","smiles":"O=Cc1ccc(O)c(OC)c1"}]}'Keys & account
Your API key lives under Account in the portal — view its prefix and rotate it anytime (the old key stops working immediately). Usage and quota are always on your dashboard. Questions? Open a ticket from the portal.