Documentation

Docs / Guides / API Quick Reference

API Quick Reference

A fast-reference guide to the most common LatticeZero API endpoints. For full documentation see the complete API Reference.

:::note All compute (docking, scoring) runs client-side via WebGPU. The API manages data - job configuration, results storage, target metadata, and project management. :::

Authentication

Authorization: Bearer lz_your_api_key_here

API keys are available in Account Settings → API Keys. Session cookies are accepted automatically when using the web interface.

Base URL: https://app.latticezero.com/api

Docking Jobs

Submit a Docking Job

POST /api/isopose/submit
Content-Type: application/json

{
  "smiles": "CC(CS)C(=O)N1CCCC1C(=O)O",
  "target": "ace",
  "mode": "standard"
}

Response:

{
  "job_id": "job_abc123",
  "status": "running",
  "profile_id": "ace_metal_v5",
  "profile_tier": "platinum"
}

Parameters:

Field Required Values Description
smiles Yes string Input compound as SMILES
target Yes string Target ID (e.g., ace, cdk2)
mode No standard, pro Docking thoroughness (default: standard)
profile_id No string Override profile selection

Check Job Status

GET /api/isopose/status/{job_id}
{
  "job_id": "job_abc123",
  "status": "complete",
  "runtime_ms": 8420,
  "score": -5.23,
  "pqs": "good"
}

Status values: queued · running · complete · failed

Get Full Results

GET /api/isopose/results/{job_id}

Returns dock score, per-term physics breakdown, pose coordinates, and metadata.

Submit Batch Job

POST /api/isopose/batch
Content-Type: application/json

{
  "smiles_list": ["SMILES1", "SMILES2"],
  "target": "ace",
  "mode": "standard"
}

Returns a batch_id for status polling.

Targets & Profiles

List Available Targets

GET /api/isopose/targets

Returns all available targets with IDs, tiers, profile info, and pocket metadata.

Get Target Details

GET /api/isopose/targets/{target_id}

Reference Compounds (DEKOIS2)

GET /api/isopose/reference-compounds/{target_id}

Returns known actives and decoys for benchmark targets. Useful for score calibration.

Projects

List Projects

GET /api/projects

Create Project

POST /api/projects
Content-Type: application/json

{
  "name": "My Kinase Screen",
  "type": "virtual_screen"
}

Project types: virtual_screen · lead_optimization

Add Job to Project

POST /api/projects/{project_id}/jobs
Content-Type: application/json

{
  "job_id": "job_abc123"
}

Platform

Health Check

GET /api/platform/health

Returns platform status, GPU availability, and service health.

Cache Statistics

GET /api/isopose/cache/stats

Returns conformer cache hit rate and memory usage (admin only).

Error Handling

All errors return a consistent format:

{
  "error": "target_not_found",
  "message": "No target found with ID 'xyz'",
  "status": 404
}

Common error codes:

Code Meaning
invalid_smiles Input SMILES could not be parsed
target_not_found Unknown target ID
job_not_found Unknown job ID
rate_limited Too many requests
insufficient_permissions Feature requires higher plan

Rate Limits

Plan Jobs/hour Batch size
Free 10 5
Starter 100 50
Pro 1000 500
Enterprise Unlimited Unlimited

Rate limit headers: X-RateLimit-Remaining, X-RateLimit-Reset