The O-Cloud Manager REST API reference describes the endpoints that provide programmatic access for O-Cloud Manager operations.
The O-Cloud Manager implements the O-RAN O2 IMS specification through its REST APIs, which are designed for integration with Service Management and Orchestration (SMO) systems used in telecommunications environments. However, SMO integration is optional. The same REST APIs provide programmatic access to any external system.
|
The O-Cloud Manager is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process. For more information about the support scope of Red Hat Technology Preview features, see Technology Preview Features Support Scope. |
The O-Cloud Manager REST APIs are served over a single ingress route on the hub cluster with different paths routing to different backend services.
All APIs share a single hostname exposed through an OKD route on the hub cluster. Each API uses a versioned path prefix appended to this hostname. For example, the Inventory API base URL has the following form: https://<route-hostname>/O2ims_infrastructureInventory/v2
All API requests require a bearer token in the Authorization header. Each backend service independently validates the token before processing the request. For more information about acquiring a token, see the authentication procedures in the section "Prepare the O-Cloud Manager environment".
PUT operations replace the entire resource. Always retrieve the current resource with GET, modify the required fields, and then submit the full payload with PUT.
Use the Artifacts API to discover the parameters that a cluster template accepts before creating or updating a provisioning request. The managedInfrastructureTemplates/{id} endpoint returns the template including its templateParameterSchema, and the managedInfrastructureTemplates/{id}/defaults endpoint returns the preconfigured default values.
Most list endpoints support the filter query parameter. Filters use the syntax (operator,field,value) with multiple conditions separated by semicolons to apply AND logic.
| Operator | Description |
|---|---|
|
Equal to |
|
Not equal to |
|
Greater than |
|
Greater than or equal to |
|
Less than |
|
Less than or equal to |
|
Contains |
|
Does not contain |
|
One of the specified values |
|
Not one of the specified values |
Use slash-separated paths for nested fields, for example extensions/<field_name>. Values containing spaces must be surrounded by single quotes.
For examples of REST API requests that use the filter parameter, see "Discover O-Cloud resources with O-Cloud Manager APIs".
Use the fields query parameter to return only specific fields in the response. Use the exclude_fields query parameter to omit specific fields. Both parameters accept comma-separated lists with slash-separated paths for nested fields. Use the all_fields query parameter set to true to return all fields. When all_fields=true is specified, it takes precedence over fields and exclude_fields.
The Inventory API provides read-only access to the physical infrastructure hierarchy including locations, sites, resource pools, individual resources, resource types, and deployment managers. It also supports subscriptions for change notifications.
All endpoints use the base path /O2ims_infrastructureInventory/v2.
The globalLocationId value is the metadata.name of the associated Location custom resource (CR). All other identifiers in this API, such as oCloudSiteId, resourcePoolId, resourceId, resourceTypeId, deploymentManagerId, and alarmDictionaryId, are generated by the O-Cloud Manager. Use the corresponding list operation to discover these values. For example, send a request to the /resourcePools endpoint to find a resourcePoolId. The subscriptionId value is returned in the response when you create a subscription.
| Method | Path | Description |
|---|---|---|
|
|
Retrieve O-Cloud metadata |
|
|
List supported API versions |
|
|
List locations |
|
|
Get a specific location |
|
|
List O-Cloud sites |
|
|
Get a specific O-Cloud site |
|
|
List resource pools |
|
|
Get a specific resource pool |
|
|
List resources in a pool |
|
|
Get a specific resource |
|
|
List resource types |
|
|
Get a specific resource type |
|
|
Get the alarm dictionary for a resource type |
|
|
List deployment managers |
|
|
Get a specific deployment manager |
|
|
List inventory subscriptions |
|
|
Get a specific subscription |
|
|
Create an inventory subscription |
|
|
Delete an inventory subscription |
|
|
List alarm dictionaries |
|
|
Get a specific alarm dictionary |
The Artifacts API exposes available cluster templates, their parameter schemas, and preconfigured defaults. Use this API to discover what parameters a template accepts before creating or updating a provisioning request.
All endpoints use the base path /O2ims_infrastructureArtifacts/v1.
The managedInfrastructureTemplateId value has the format <name>.<version>, where <name> and <version> are the base name and version of the associated ClusterTemplate custom resource (CR), for example sno-ran-du.v4-18-5-v1.
| Method | Path | Description |
|---|---|---|
|
|
List available cluster templates |
|
|
Get a specific template including its parameter schema |
|
|
Get the preconfigured defaults for a template |
The Provisioning API manages the full lifecycle of provisioning requests. Use this API to create, retrieve, update, and delete provisioning requests that drive cluster provisioning, scaling, configuration changes, and upgrades.
All endpoints use the base path /O2ims_infrastructureProvisioning/v1.
The provisioningRequestId value is a UUID that you generate and assign as the metadata.name of the ProvisioningRequest custom resource (CR) when you create it.
| Method | Path | Description |
|---|---|---|
|
|
List all provisioning requests |
|
|
Get a specific provisioning request |
|
|
Create a provisioning request |
|
|
Update a provisioning request (full replace) |
|
|
Delete a provisioning request and its managed cluster |
The Cluster API provides information about managed clusters (node clusters), their resource composition (cluster resources), node cluster types, and cluster resource types. It also supports subscriptions for change notifications when cluster resources are created, modified, or deleted.
All endpoints use the base path /O2ims_infrastructureCluster/v1.
The identifiers in this API, such as nodeClusterId, nodeClusterTypeId, clusterResourceId, clusterResourceTypeId, and alarmDictionaryId, are generated by the O-Cloud Manager. Use the corresponding list operation to discover these values. For example, send a request to the /nodeClusters endpoint to find a nodeClusterId. The subscriptionId value is returned in the response when you create a subscription.
| Method | Path | Description |
|---|---|---|
|
|
List node clusters |
|
|
Get a specific node cluster |
|
|
List node cluster types |
|
|
Get a specific node cluster type |
|
|
Get the alarm dictionary for a cluster type |
|
|
List cluster resources |
|
|
Get a specific cluster resource |
|
|
List cluster resource types |
|
|
Get a specific cluster resource type |
|
|
List cluster subscriptions |
|
|
Get a specific subscription |
|
|
Create a cluster subscription |
|
|
Delete a cluster subscription |
|
|
List alarm dictionaries |
|
|
Get a specific alarm dictionary |
The Monitoring API provides access to alarms raised by managed clusters. Use this API to query and acknowledge alarms, retrieve the alarm service configuration, and manage alarm subscriptions for event-driven notifications.
All endpoints use the base path /O2ims_infrastructureMonitoring/v1.
The alarmEventRecordId value is generated by the O-Cloud Manager. Use the /alarms endpoint to discover the identifiers for active alarms. The alarm subscription identifier is returned in the response when you create a subscription.
| Method | Path | Description |
|---|---|---|
|
|
List all alarms |
|
|
Get a specific alarm |
|
|
Acknowledge an alarm |
|
|
Get alarm service configuration |
|
|
List alarm subscriptions |
|
|
Create an alarm subscription |
|
|
Delete an alarm subscription |