Imported from
registry/profiles/facility.md
at commit
76a4a0c89924.
IRI Facility Profile
Profile URI: https://iri.science/profiles/facility
OpenAPI type: Facility
Status: Draft
Version: 1.0.0
1. Purpose
This document defines the semantic profile for an IRI Facility representation.
The canonical identifier for this profile is:
https://iri.science/profiles/facility
An IRI Facility represents the organizational entity that provides an IRI Facility API and coordinates one or more sites through which resources and services are exposed.
The Facility is the top-level organizational representation for a participating IRI provider. It identifies the facility itself and provides discovery of the sites associated with that facility.
A Facility is distinct from:
- a Site, which represents a physical, organizational, or logical location associated with the Facility;
- a Resource, which represents compute, storage, network, service, or other infrastructure;
- an Incident or Event, which represents dynamic operational state or activity.
The normative structural definition of a Facility representation is provided by the IRI Facility API OpenAPI specification. This profile supplements that schema with application-level semantics and interoperability requirements.
2. Profile Semantics
An IRI Facility representation describes the identity and organizational context of an IRI provider.
A Facility MAY contain one or more Sites.
Resources and services SHOULD be associated with Sites or other appropriate IRI resources rather than being modeled as intrinsic properties of the Facility.
The Facility representation SHOULD provide clients with sufficient hypermedia information to discover related Site representations without requiring the client to construct or infer API paths.
Clients MUST NOT assume that Facility identifiers, Site identifiers, or other identifiers encode URL structure.
3. Structural Contract
The structural definition of the Facility representation is defined by the IRI Facility API OpenAPI Facility schema.
The current Facility schema defines the following properties:
| Property | Required | Semantic purpose |
|---|---|---|
id |
Yes | Stable identifier for the Facility. |
name |
No | Human-readable long name of the Facility. |
description |
No | Human-readable description of the Facility. |
last_modified |
Yes | Time at which the Facility representation was last modified. |
short_name |
No | Common or abbreviated name of the Facility. |
organization_name |
No | Name of the organization operating the Facility. |
support_uri |
No | URI of the Facility’s support service or support portal. |
self_uri |
Yes | Canonical API URI of the Facility representation. |
site_uris |
Yes | URIs identifying Sites associated with the Facility. |
The OpenAPI schema is authoritative for:
- property names;
- JSON data types;
- required properties;
- formats;
- structural validation;
- read-only properties.
This profile is authoritative for additional semantic and interoperability conventions associated with those properties and their corresponding hypermedia relationships.
4. Facility Identity
The id property identifies the Facility.
The identifier MUST be stable within the identifier scope established by the IRI Facility API.
Clients MUST treat id as an opaque identifier unless a separate specification explicitly defines internal semantics for the identifier.
Clients MUST NOT construct API URLs by combining the Facility identifier with assumed path templates.
For example, a client MUST NOT assume that a Facility having:
{
"id": "nersc"
}
can necessarily be retrieved by constructing:
/api/v2/facility/nersc
The canonical API location of a representation MUST instead be determined from an advertised URI or hypermedia link.
5. Facility Naming
5.1 name
name provides the human-readable formal or descriptive name of the Facility.
Example:
{
"name": "National Energy Research Scientific Computing Center"
}
5.2 short_name
short_name provides the commonly used abbreviated name of the Facility.
Example:
{
"short_name": "NERSC"
}
Clients SHOULD use short_name for concise presentation when available and name when a full descriptive name is appropriate.
Neither property serves as the Facility’s stable identifier.
6. Operating Organization
organization_name identifies the organization responsible for operating the Facility.
For example:
{
"organization_name": "Lawrence Berkeley National Laboratory"
}
The operating organization is descriptive information and MUST NOT be interpreted as the Facility’s unique identity.
Multiple Facilities MAY be operated by the same organization.
7. Support Information
support_uri identifies a Facility-provided support resource.
For example:
{
"support_uri": "https://support.example.org/"
}
The support URI MAY identify a support portal, documentation system, ticketing interface, or other Facility-defined support entry point.
The presence of a support URI does not imply a particular support protocol or authentication mechanism.
Where IRI subsequently defines a registered hypermedia relation for Facility support, that relation SHOULD be preferred for hypermedia discovery while support_uri MAY be retained for compatibility with the OpenAPI data model.
8. Facility and Site Relationship
A Facility MAY be associated with one or more Site resources.
The current OpenAPI representation exposes these associations through:
site_uris
Each URI identifies an IRI Site associated with the Facility.
A Site representation conforming to the IRI Facility Site Profile is identified by:
https://iri.science/profiles/facility/site
The association between a Facility and a Site is a resource relationship and SHOULD be represented using hypermedia links when HAL-style representations are used.
Clients SHOULD NOT derive Site URLs from Facility or Site identifiers.
9. Hypermedia Representation
When represented using HAL, the Facility SHOULD advertise related resources through _links.
For example:
{
"id": "nersc",
"name": "National Energy Research Scientific Computing Center",
"short_name": "NERSC",
"organization_name": "Lawrence Berkeley National Laboratory",
"last_modified": "2026-08-17T12:00:00Z",
"_links": {
"self": {
"href": "https://api.example.org/api/v2/facility",
"type": "application/hal+json",
"profile": "https://iri.science/profiles/facility"
},
"curies": [
{
"name": "iri",
"href": "https://iri.science/rels/{rel}",
"templated": true
}
],
"iri:site": [
{
"href": "https://api.example.org/api/v2/facility/sites/berkeley",
"title": "Berkeley Site",
"type": "application/hal+json",
"profile": "https://iri.science/profiles/facility/site"
},
{
"href": "https://api.example.org/api/v2/facility/sites/nersc",
"title": "NERSC Site",
"type": "application/hal+json",
"profile": "https://iri.science/profiles/facility/site"
}
]
}
}
In this representation:
selfidentifies the Facility representation itself;- the
profileonselfidentifies the Facility representation profile; iri:siteidentifies the relationship between the Facility and associated Site resources;- each
hrefidentifies an actual Site resource; typeidentifies the expected media type of the target representation;profileidentifies the semantic profile of the target Site representation.
The relation URI and representation profile URI serve different purposes and MUST NOT be treated as interchangeable identifiers.
10. Relationship URI
If iri:site is registered as the IRI relation identifying a Site associated with a Facility, the CURIE:
iri:site
expands through:
{
"name": "iri",
"href": "https://iri.science/rels/{rel}",
"templated": true
}
to:
https://iri.science/rels/site
The canonical relation document defines the meaning of the Facility-to-Site relationship.
The Facility profile MUST NOT redefine the normative semantics of the iri:site relation.
11. Relationship to Existing URI Properties
The current IRI Facility OpenAPI schema defines:
self_uri
site_uris
These properties expose resource URIs directly in the representation.
When the IRI HAL hypermedia model is used, the corresponding relationships SHOULD be represented through _links:
self_uri
↓
_links.self
site_uris
↓
_links["iri:site"]
For example:
{
"_links": {
"self": {
"href": "https://api.example.org/api/v2/facility",
"profile": "https://iri.science/profiles/facility"
},
"iri:site": [
{
"href": "https://api.example.org/api/v2/facility/sites/berkeley",
"profile": "https://iri.science/profiles/facility/site"
},
{
"href": "https://api.example.org/api/v2/facility/sites/nersc",
"profile": "https://iri.science/profiles/facility/site"
}
]
}
}
The IRI specification SHOULD define whether the legacy URI properties remain present for backward compatibility or are superseded by the corresponding HAL links in a future API version.
Clients implementing the HAL representation SHOULD use the advertised _links rather than constructing URLs or depending upon URI-valued properties for navigation.
12. Media Type
This profile identifies the semantics of the Facility representation independently of a particular serialization.
When a Facility is represented using HAL JSON, the representation SHOULD use:
application/hal+json
and MAY identify this profile through the profile parameter or a HAL Link Object where appropriate:
https://iri.science/profiles/facility
The profile URI does not replace the media type.
The media type identifies how the representation is encoded; the profile identifies the additional IRI Facility semantics applied to that representation.
13. Static and Dynamic Semantics
A Facility representation primarily describes relatively stable organizational and discovery information.
The existence of a Facility or Site relationship MUST NOT be interpreted as evidence that:
- the Facility is currently fully operational;
- a Site is currently available;
- resources at the Site are currently available;
- a particular service is currently operational.
Dynamic operational information SHOULD be represented through the applicable IRI status resources, incidents, events, or other state representations.
14. Authorization and Visibility
Authorization MAY affect information exposed through a Facility representation.
A provider MAY omit Sites, links, support information, or other information when the requester is not authorized to discover that information.
The absence of a Site or other relationship from a Facility representation MUST NOT necessarily be interpreted as proof that the Site or relationship does not exist.
Clients SHOULD treat the representation as the set of Facility information visible to the authenticated requester.
15. Conformance
A representation conforms to the IRI Facility Profile when:
- it conforms to the applicable IRI Facility API
Facilityschema; - its properties are interpreted according to the semantics defined by the IRI Facility API and this profile;
- identifiers are treated as identifiers rather than URL templates;
- related resources are discoverable through defined URIs or registered hypermedia relationships;
- IRI-specific link relations use the canonical IRI relation namespace;
- profile URIs identify representation semantics and are not used as substitutes for link-relation identifiers;
- clients are not required to infer or construct related-resource URLs.
A conforming representation MAY contain additional properties and links where permitted by the applicable IRI API specification.
16. Profile Identification
The canonical identifier for this profile is:
https://iri.science/profiles/facility
The profile URI is a stable semantic identifier.
Repository paths, GitHub URLs, OpenAPI document locations, and documentation-generation URLs MUST NOT be substituted for this canonical identifier.
The canonical URI SHOULD resolve to documentation describing this profile.
17. Versioning
The profile version identifies the revision of this profile document.
Compatible editorial clarifications and backward-compatible semantic additions MAY retain the same profile URI.
Changes that materially alter the interpretation or processing semantics of the Facility representation SHOULD be evaluated for compatibility before incorporation into the existing profile.
The canonical profile URI SHOULD remain stable across compatible revisions.
DOE Integrated Research Infrastructure — Facility Profile