build
Read the same data as View data from your own code, or connect an AI agent over MCP. Both are read-only and always return the latest extraction run for each paper and gene.
Authentication
Base URLhttps://mandel.jasonlo.dev
Send the lab API key in the X-API-Key header on every request except /health. Ask Dr. Mandel for the key.
export API_URL="https://mandel.jasonlo.dev"
export API_KEY="<lab api key>"
curl -H "X-API-Key: $API_KEY" "$API_URL/health"GET
/papers/{pmid}Paper metadata plus its extracted genes, with aliases.GET
/papers?doi=… | pmc_id=…The same paper payload, looked up by DOI or PMC ID.GET
/genesGene records across papers. Filter by name, locus_tag, exact, any has_* flag, or any extracted field. Paged with limit and offset.GET
/search?q=…Substring search over paper metadata and every gene text field.GET
/healthLiveness check. No key needed.Repeat a field to match any of several values; different fields must all match. Paged responses return {items, total, next}. Follow next until it is null.
# One gene, exact name
curl -H "X-API-Key: $API_KEY" "$API_URL/genes?name=luxR&exact=true"
# Altered in squid colonization AND reduced motility
curl -H "X-API-Key: $API_KEY" \
"$API_URL/genes?squid_monocolonization=yes&motility_mutant_impact=down"
# A paper and all its genes
curl -H "X-API-Key: $API_KEY" "$API_URL/papers/15901683"Tip: the API line on View data shows the request for whatever filters you have set.