The U.S. Department of Energy's Integrated Research Infrastructure (IRI) is an effort to let researchers seamlessly and securely combine DOE's world-class experimental facilities, data resources, and advanced computing systems into integrated workflows that radically accelerate scientific discovery.
Within this program, the IRI Interfaces Technical Subcommittee focuses on the "front door" to that ecosystem: it gathers requirements, defines cross-facility use cases, and specifies unified interfaces for DOE Office of Science Advanced Scientific Computing Research (ASCR) facilities — going beyond low-level APIs to include higher-level scheduling and orchestration systems. By designing and prototyping these common interfaces in collaboration with facility teams and the broader community, the subcommittee aims to make it much easier for scientists to build robust, portable, and performant cross-facility workflows on top of IRI.
This organization hosts the IRI Facility API: a standardized interface for facility status, accounts, compute, filesystem, and storage operations across ASCR computing facilities, along with its reference implementations, client tooling, and documentation.
- Facility teams integrating a DOE computing center into the IRI ecosystem — start with the specification and a reference implementation (Python or Java) to expose your facility's status, accounts, compute, and storage through a common interface.
- Researchers and developers building cross-facility workflows — use the client toolkit or the example notebooks to discover facilities and submit jobs without learning each site's native API.
- Contributors to the standard — the IRI Interfaces Technical Subcommittee welcomes facility teams and the broader community in shaping the unified interfaces themselves.
| Repository | Description |
|---|---|
| iri-facility-api-docs | The IRI Facility API specification, maintained by the IRI Interfaces Technical Subcommittee, plus related presentations and supporting documentation. The authoritative definition of the API, independent of any one implementation language. |
| iri-facility-api-python | A Python (FastAPI) reference implementation of the full IRI Facility API. Facilities implement an abstract adapter per domain — facility, status, account, compute, filesystem, storage, task — with their own business logic; a built-in demo adapter provides fake data out of the box. Live at NERSC, ALCF, OLCF, and ESnet. |
| iri-facility-api-java | A Java/Spring Boot reference implementation covering the IRI Facility Status interface — read-only endpoints for facility metadata, resources, incidents, events, sites, and locations — with OpenAPI/Swagger docs and example data included. |
| iri-facility-api-demo-adapter | A per-domain starter kit for facilities onboarding to the Python reference implementation. Splits the monolithic demo adapter into one module per domain, so a facility can replace a single domain (e.g. compute) with real logic while the rest keep running on demo data. |
| iri-facility-api-toolkit | A Python client toolkit for discovering IRI facilities and orchestrating compute jobs against them — sessions, job specs, and remote filesystem access — with Jupyter notebook examples and Apache Airflow operators for pipeline integration. |
| iri-facility-api-examples | Jupyter notebooks walking through an end-to-end IRI API workflow: authenticating (Globus or facility-specific), listing/uploading/downloading files, submitting compute jobs, and collecting logs and output artifacts. |
- Specification & program info: iri.science