H2O-3 exposes a JSON REST API that all clients (R, Python, Flow) use internally. You can call it directly from any HTTP client to automate workflows, integrate H2O into external systems, or debug issues.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/h2oai/h2o-3/llms.txt
Use this file to discover all available pages before exploring further.
Base URL
H2O does not use TLS by default. To enable HTTPS, start H2O with
-jks <keystore> and -jks_pass <password>. All examples on this page use plain HTTP against a local instance.API versioning
All stable endpoints are prefixed with/3/:
/4/. The older /1/ and /2/ prefixes are deprecated. Use /3/ for all production usage.
Authentication
Authentication is optional and disabled by default. When H2O is started with a hash file (-hash_login or -ldap_login), all API requests must include HTTP Basic credentials:
Request and response format
All requests and responses use JSON. Set theContent-Type header to application/json for requests with a body.
Common response fields
Metadata about the response schema and version.
Number of errors encountered.
0 means the request succeeded.Validation messages, warnings, or errors. Check this even when
error_count is 0 for warnings.Job response fields
Long-running operations (model training, frame parsing) return a job reference:Exploring the API
List all endpoints
Inspect a schema
Key resource types
| Resource | Path prefix | Description |
|---|---|---|
| Frames | /3/Frames | Distributed data frames stored in H2O |
| Models | /3/Models | Trained model objects |
| Jobs | /3/Jobs | Asynchronous operation status |
| ModelBuilders | /3/ModelBuilders | Schema definitions for training parameters |
| AutoML | /3/AutoML | Automated machine learning runs |
| Grid | /3/Grid | Hyperparameter search results |
| Predictions | /3/Predictions | Model scoring endpoints |
Basic workflow examples
1. Check cluster health
2. Import a file
3. Parse a raw file into a frame
4. Train a GBM model
5. Poll job status
6. Score a frame
Asynchronous execution model
Most operations that modify state (training, parsing, AutoML) are asynchronous. They immediately return ajob object. Poll GET /3/Jobs/{job_id} until status is DONE or FAILED.