Download OpenAPI specification:Download
Most API endpoints are secured using Bearer Token Authentication. To access the API, you need to include a valid token in the Authorization
header of your requests.
Example:
Authorization: Bearer <your-token>
There are two methods to obtain Bearer tokens for API authentication:
API Keys are long-term tokens that provide persistent access to the API.
OAuth Applications provide short-lived tokens using client credentials.
client_id
and client_secret
/v1/oauth2/token
endpoint (see below)401 Unauthorized
responseIf you have trouble authenticating or accessing the API, please contact support@openmetal.io for assistance.
Exchange OAuth Application client credentials for a short-lived Bearer token.
This endpoint uses Basic Authentication with your OAuth App credentials:
client_id
client_secret
The Authorization header should contain the Base64-encoded credentials in the format:
Authorization: Basic <Base64(client_id:client_secret)>
Example cURL request:
curl --location 'https://api-omc.openmetal.io/v1/oauth2/token?grant_type=client_credentials' \
--header 'Authorization: Basic <Base64-encoded-credentials>'
grant_type required | string Value: "client_credentials" Example: grant_type=client_credentials The OAuth grant type. Currently only "client_credentials" is supported. |
{- "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "expires_in": 14400,
- "token_type": "bearer"
}
Operations for managing a collection of servers. Private clouds or a group of baremetal nodes will be owned by a cloud resource.
[- {
- "id": "0Absd1",
- "label": "My first cloud",
- "description": "This cloud is for testing purposes.",
- "created_at": "2021-01-01T00:00:00Z",
- "fields": {
- "cloud_type": "pcc",
- "cloud_uuid": "0000000-0000-00-00000",
- "cloud_version": "2.0",
- "owner_name": "My Company",
- "organization_id": "0a2erc",
- "hostname": "127.0.0.1",
- "order_id": "0a2erc",
- "pod_location": "pod_2",
- "provision_status": "complete",
- "provision_completion_time": "2021-01-01T00:00:00Z",
- "pending_delete": false
}
}
]
Retrieve details of a specific cloud by their ID.
cloudId required | string The ID of the cloud to retrieve. |
{- "id": "0Absd1",
- "label": "My first cloud",
- "description": "This cloud is for testing purposes.",
- "created_at": "2021-01-01T00:00:00Z",
- "fields": {
- "cloud_type": "pcc",
- "cloud_uuid": "0000000-0000-00-00000",
- "cloud_version": "2.0",
- "owner_name": "My Company",
- "organization_id": "0a2erc",
- "hostname": "127.0.0.1",
- "order_id": "0a2erc",
- "pod_location": "pod_2",
- "provision_status": "complete",
- "provision_completion_time": "2021-01-01T00:00:00Z",
- "pending_delete": false
}
}
Get hardware information for a specific cloud. This includes current power state of all nodes.
cloudId required | string The ID of the cloud to retrieve. |
{- "cloud_state": "RUNNING",
- "cloud_uuid": "0000000-0000-00-00000",
- "nodes": [
- {
- "hostname": "large.node1",
- "uuid": "0000000-0000-00-00000",
- "type": "large_v1",
- "memory": "64 GB",
- "power_state": "power on",
- "disks": [
- {
- "name": "/dev/sda",
- "size": "1 TB",
- "root": true
}
]
}
]
}
Change power state. Options are "power on", "power off", or "rebooting".
cloudId required | string The ID of the cloud that owns the node. |
nodeUuid required | string The UUID of the node to change the power state. This UUID can be found in the cloud hardware information. |
power_state | string The new power state of the node. Options are "power on", "power off", or "rebooting". |
{- "power_state": "power on"
}
{- "result": "success",
- "power_state": "power on",
- "node_uuid": "0000000-0000-00-00000"
}
Retrieve a list of available operating system images for node deployment at a specific pod location. This endpoint does not require authentication.
pod_location required | string (PodLocations) Enum: "pod_1" "pod_2" "pod_3" "pod_5" Example: pod_1 The unique datacenter identifier (e.g., "pod_1", "pod_2", etc.). Available locations can be retrieved from the inventory locations endpoint. |
{- "Ubuntu": {
- "24.04 LTS": {
- "image_md5": "80721a522260ffd987c2fa3899739608",
- "image_sha256": "071fceadf1ea57a388ff7a1ccb4127155d691a511f6a207b4c11b120563855e2"
}
}
}
Operations for retrieving inventory information such as available locations and availability.
Retrieve a list of available datacenter locations and their details.
{- "locations": {
- "pod_1": {
- "label": "US-East",
- "displayName": "Ashburn, VA",
- "region": "US",
- "code": "iad3",
- "release_status": "released"
}, - "pod_2": {
- "label": "US-West",
- "displayName": "Los Angeles, CA",
- "region": "US",
- "code": "lax3",
- "release_status": "released"
}
}
}
Retrieve current inventory availability information for a specific datacenter location. This endpoint shows available hardware SKUs and their counts.
pod_location required | string Example: pod_1 The unique datacenter identifier (e.g., "pod_1", "pod_2", etc.). Available locations can be retrieved from the inventory locations endpoint. |
{- "medium_v4": {
- "count": 3,
- "max_size": 2
}, - "large_v4": {
- "count": 10,
- "max_size": 8
}, - "timestamp": "2025-08-29T13:05:27+00:00",
- "pod_location": "pod_1"
}
Retrieve a list of all orders that have been created by you or organizations that you are a member of.
[- {
- "label": "Test PCC Order v2 with pending tasks check",
- "description": "Baremetal Medium V4 cluster in Ashburn, VA with 1 node to run production workloads.",
- "fields": {
- "items": [
- {
- "hardware_sku": "medium_v4",
- "location": "pod_1",
- "type": "baremetal",
- "quantity": 1,
- "modifications": {
- "deployment_configuration": "0a7Y8ABym5",
- "operating_system": {
- "os_key": "Ubuntu",
- "version_key": "22.04 LTS"
}
}, - "cloud_id": "3Dop2VdpKA"
}
], - "config_options": {
- "public_key": "ssh-rsa AAAA..."
}, - "organization_id": "mWLBVbB7Eq",
- "schema_version": "v2"
}, - "id": "PGZYNxBpg3",
- "type": "orders",
- "created_at": "2025-08-27T20:05:56+00:00",
- "updated_at": "2025-08-27T20:05:56+00:00",
- "is_active": true,
- "created_by": "o6aQxVGezj",
- "relation": {
- "access": {
- "account_id": "mWLBVbB7Eq",
- "uuid": "b7a6d147-036b-4292-9041-7557ded1ec12",
- "type": "organization",
- "display_name": "Test Org",
- "role": "owner",
- "has_billing": false
}
}
}
]
Retrieve a specific order by its ID to view details and check the status of the order.
orderId required | string The ID of the order to retrieve. |
{- "label": "Test PCC Order v2 with pending tasks check",
- "description": "Baremetal Medium V4 cluster in Ashburn, VA with 1 node to run production workloads.",
- "fields": {
- "items": [
- {
- "hardware_sku": "medium_v4",
- "location": "pod_1",
- "type": "baremetal",
- "quantity": 1,
- "modifications": {
- "deployment_configuration": "0a7Y8ABym5",
- "operating_system": {
- "os_key": "Ubuntu",
- "version_key": "22.04 LTS"
}
}, - "cloud_id": "3Dop2VdpKA"
}
], - "config_options": {
- "public_key": "ssh-rsa AAAA..."
}, - "organization_id": "mWLBVbB7Eq",
- "schema_version": "v2"
}, - "id": "PGZYNxBpg3",
- "type": "orders",
- "created_at": "2025-08-27T20:05:56+00:00",
- "updated_at": "2025-08-27T20:05:56+00:00",
- "is_active": true,
- "created_by": "o6aQxVGezj",
- "access": {
- "role": "owner"
}
}
Create a new order for baremetal servers or private cloud products running OpenStack.
accountId required | string Example: mWLBVbB7Eq The ID of the organization account to create the order for. |
label required | string A user-friendly name for the order. |
description | string A brief description of the order (optional). |
required | object (OrderFields) The product selections and configuration options for an order. |
A baremetal order with Operating System specified.
{- "label": "Baremetal Medium V4 with Ubuntu 22.04 LTS",
- "description": "Baremetal Medium V4 cluster in Ashburn, VA with 1 node to run production workloads.",
- "fields": {
- "items": [
- {
- "hardware_sku": "medium_v4",
- "location": "pod_1",
- "type": "baremetal",
- "quantity": 1,
- "modifications": {
- "operating_system": {
- "os_key": "Ubuntu",
- "version_key": "22.04 LTS"
}
}
}
], - "config_options": {
- "public_key": "ssh-rsa AAAA..."
}
}
}
{- "label": "Test PCC Order v2 with pending tasks check",
- "description": "Baremetal Medium V4 cluster in Ashburn, VA with 1 node to run production workloads.",
- "fields": {
- "items": [
- {
- "hardware_sku": "medium_v4",
- "location": "pod_1",
- "type": "baremetal",
- "quantity": 1,
- "modifications": {
- "deployment_configuration": "0a7Y8ABym5",
- "operating_system": {
- "os_key": "Ubuntu",
- "version_key": "22.04 LTS"
}
}, - "cloud_id": "3Dop2VdpKA"
}
], - "config_options": {
- "public_key": "ssh-rsa AAAA..."
}, - "organization_id": "mWLBVbB7Eq",
- "schema_version": "v2"
}, - "id": "PGZYNxBpg3",
- "type": "orders",
- "created_at": "2025-08-27T20:05:56+00:00",
- "updated_at": "2025-08-27T20:05:56+00:00",
- "is_active": true,
- "created_by": "o6aQxVGezj",
- "access": {
- "role": "owner"
}
}