API Reference
OpenAPI Schema
The OpenAPI specification details the following endpoints:
/v1/inferInference endpoint for batched geometry relaxation/v1/health/liveHealth liveliness endpoint/v1/health/readyHealth readiness endpoint/v1/statusSystem status monitoring endpoint
For the full interactive schema, refer to the API Reference tab.
Endpoints
POST /v1/infer
Perform batched geometry relaxation on one or more atomic structures.
Request Body
The request body contains the following fields:
AtomicData Fields (atoms)
The following table lists the atoms field parameters (AtomicData):
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.
Response
The response contains the following fields:
OptimizationResult Fields (atoms items)
The following table lists the atoms items (OptimizationResult):
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 structures 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 large batches.
- Check the
convergedfield in each result structure. A 200 response does not guarantee that all structures converged.
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
Example Requests
The following sections show how to use the API to start an optimization request.
Single Structure Optimization
Start this request by running the following command:
Multiple Structures With Custom Tolerance
Start this request by running the following command: