API Reference
OpenAPI Schema
The API Reference tab details the following endpoints:
/v1/inferInference endpoint for molecular dynamics simulations/v1/health/liveHealth liveliness endpoint/v1/health/readyHealth readiness endpoint/v1/statusSystem status monitoring endpoint
Endpoints
POST /v1/infer
Run a molecular dynamics simulation on a single atomic structure.
Request Body:
The request body contains the following fields:
BMDAtomicData Fields (atoms):
The following table lists the atoms field parameters (BMDAtomicData):
When a unit cell is provided, its determinant must be positive and its volume must be greater than 1.0 ų.
Backend PBC mode is selected at container startup with ALCHEMI_NIM_PBC. The
mode controls whether cell must be present; the nested pbc field controls
which axes of that cell are periodic. To accept both cell-bearing and
cell-free requests, run separate container instances with the corresponding
backend modes.
MDConfig Fields (config):
The following table lists the config field parameters (MDConfig):
Response:
The response contains the following fields:
BMDSnapshot Fields (trajectory items):
The following table lists the trajectory items (BMDSnapshot):
GET /v1/health/ready
Check if the NIM is ready to accept inference requests.
Response:
An HTTP 200 response reports "status":"ready" and includes both backend
counts. If Triton is ready but no Alchemi backend worker responds, the endpoint
returns HTTP 503 with "status":"no backends available",
"backends_alive":0, and backends_total. Other HTTP 503 responses, such as
Triton startup and health-check failures, contain only a status message.
GET /v1/health/live
Check if the Triton server is live.
Response:
The endpoint returns 503 with {"status":"not live"} when the Triton
inference server is not live. This check does not report the health of the
Alchemi backend workers.
GET /v1/status
Get detailed system status including worker metrics.
Response:
Error Responses
The API returns the following error responses:
Example Validation Error (422):
The detail value is an array for request-schema errors, a string for the
maximum-system-size check, or an object for service validation such as an
invalid cell volume.
Timeout and Memory Behavior
- Requests with systems exceeding
max_system_size(check by usingGET /v1/status) return 422 before inference. - There is no built-in server-side request timeout. Use client-side timeouts for long simulations.
- Long trajectories (large
md_time_max) increase response time proportionally. Consider breaking long simulations into restart chunks.
Example Requests
The following sections show how to use the API to start a simulation.
Basic NVT Simulation
Start this simulation by running the following command:
NPT Simulation With Pressure Control
Start this simulation by running the following command:
NVE Simulation (Constant Energy)
Start this simulation by running the following command:
Restart From a Previous State
Start this simulation by running the following command: