The API set allows you to perform CRUD operations to interact with and manage cloudspaces, spot node pools, and on-demand node pools on Rackspace Spot.

Key Concepts:

  • Organization:

    • Organization is a representation as a collection of cloudspaces (Kubernetes clusters).

    • Each organization has a unique name and organization ID (namespace) associated with it.

    • Each organization requires setting up a separate billing account for its management.

  • Namespace:

    • The namespace is a representation to identify any organization in Spot Platform.

    • Each organization has a unique namespace associated with it.

    • The namespace is used to scope resources and operations within the Spot platform.

    • Each namespace start with org-.

    • To obtain desired namespace, leverage API: list all organizations to retrieve the details of all organizations, including their associated namespaces.

  • Cloudspace:

    • Cloudspace is a representation of a Kubernetes cluster in your namespace.

    • Each cloudspace is associated with a specific region and will contain SpotNodePool and OnDemandNodePool for storing servers bidded on platform.

  • SpotNodePools and OnDemandNodePools:

    • The SpotNodePools and OnDemandNodePools are nodepools that will contain servers that users have bidded for.

    • When creating the SpotNodePools and OnDemandNodePools, cloudspace should already be created.

    • Billing should be enabled in your organization for the SpotNodePools and OnDemandNodePools to be created.

Almost all API calls require an Oauth Access Token. Refer authentication. section to obtain the Oauth Access Token.

There are some operations which does not require any oauth token for getting response. They are indicated by (unauthenticated api) in the operation summary.

The unauthenticated api operations are:

  • Oauth Token
  • Kubeconfig generation
  • Price History
  • Percentile information
  • Market Price Capacity

Server
https://spot.rackspace.com
Server Variables

  • You need to generate a Oauth Access Token to make all authenticated API calls.
  • You can generate Oauth Access Token using API below Get OAuth token
  • Also, append Bearer keyword before the Oauth Access Token in authorization header.
  • Example of authorization header:
    Authorization: Bearer <Oauth Access Token>

Fields
KeyIn
AuthorizationHeader

Oauth Token

Oauth Token APIs

Get OAuth token (unauthenticated api)

Retrieve an OAuth Access token for specified a refresh token. Take id_token value from response as Oauth access token value for all subsequent authorization API calls.

Auth
Headers
Content-Typestring

Must be set to application/x-www-form-urlencoded for the request to be processed correctly.

Default: application/x-www-form-urlencoded

Request Body
objectobject
grant_typestring

The type of grant needed. Use the literal string refresh_token as its value to obtain a new access token in response.

Default: refresh_token

client_idstring

Use mwG3lUMV8KyeMqHe4fJ5Bb3nM1vBvRNa as client_id in request parameter when requesting for access token.

Default: mwG3lUMV8KyeMqHe4fJ5Bb3nM1vBvRNa

refresh_tokenstring

Obtain a Refresh Token from the API: Rackspace Spot Console. and use it here as request parameter.

Steps:

  • Log in to the Rackspace Spot Console.

  • In the dashboard's sidebar, navigate to API Access > Terraform.

  • Click Get New Token to generate a refresh token.

  • Use the refresh token obtained as a parameter in your request.

Default:

POST /oauth/token
Copy
Responses
200

Successfully retrieved OAuth token. Take id_token value from response as Oauth access token value for all authorization API calls.

objectobject
access_tokenstring

Access token issued by the authorization server.

id_tokenstring

ID token representing the authenticated user.

scopestring

Scopes that were granted by the user.

expires_ininteger

Time in seconds until the access token expires.

token_typestring

The type of token issued.

401

Unauthorized request. Please provide valid refresh token.

500

Unexpected error

Response
Copy

Kubeconfig Generation

Kubeconfig generation APIs

Generate kubeconfig (unauthenticated API)

Generates a kubeconfig file for the specified organization and cloudspace using a refresh token. It is unauthenticated api, so doesn't require API token in headers when calling it.

Auth
Request Body
objectobject
organization_namestring

Name of the organization for which kubeconfig is to be generated.

cloudspace_namestring

Name of the cloudspace belonging to the organization.

refresh_tokenstring

Refresh token obtained via UI authentication.

POST /apis/auth.ngpc.rxt.io/v1/generate-kubeconfig
Copy
Responses
200

Kubeconfig generated successfully.

objectobject
dataobject
kubeconfigstring

Full kubeconfig YAML as a string.

messagestring
status_codeinteger
400

Bad request. Input parameter is missing or invalid.

401

Unauthorized. The refresh token is invalid or expired.

Response
Copy

Region

Region APIs

Get all regions

List objects of kind Region to provide all available regions.

Auth
GET /apis/ngpc.rxt.io/v1/regions
Copy
Responses
200

Regions obtained successfully

401

Unauthorized access

Region By Name

Region by name APIs

Get region by name

Get the specified Region.

Auth
Path Params
namestring

Use a valid Region name. Some available regions are:

  • us-central-dfw-2
  • us-east-iad-1
  • eu-west-lon-1
  • uk-lon-1
  • us-west-sjc-1
  • us-central-ord-1
  • us-central-dfw-1

To get more information on available regions, refer to the regions endpoint:

Regions.

GET /apis/ngpc.rxt.io/v1/regions/{name}
Copy
Responses
200

Specific Region obtained successfully

401

Unauthorized access

Serverclass

Serverclass APIs

Get all serverclasses

List objects of kind ServerClass to provide all available serverclasses.

Auth
GET /apis/ngpc.rxt.io/v1/serverclasses
Copy
Responses
200

Serverclasses obtained successfully

401

Unauthorized access

Serverclass By Name

Serverclass by name APIs

Get serverclass by name

Read the specified ServerClass

Auth
Path Params
GET /apis/ngpc.rxt.io/v1/serverclasses/{name}
Copy
Responses
200

Specific Serverclass obtained successfully

401

Unauthorized access

Organization Api

Organizations APIs

List all organizations

List all organizations along with their details, including the associated namespaces.

Auth
GET /apis/auth.ngpc.rxt.io/v1/organizations
Copy
Responses
200

Successfully retrieved the list of organizations and namespaces.

objectobject
startinteger

Starting index for pagination.

limitinteger

Limit for the number of items per page.

lengthinteger

Number of organizations in the response.

totalinteger

Total number of organizations available.

nextstring

URL for the next page of results (if available).

organizationsarray[object]
idstring

The unique ID of the organization.

namestring

The name of the organization.

display_namestring

The display name of the organization.

metadataobject
namespacestring

The namespace associated with the organization.

400

Bad Request.

401

Unauthorized.

500

Internal Server Error. An unexpected error occurred while processing the request.

Response
Copy

Get all cloudspaces

Retrieve all CloudSpaces from the specified namespace.

Auth
Path Params
namespacestring

The namespace to which the Cloudspace belongs to. Desired namespace value can be obtained by calling api: list of organizations.

GET /apis/ngpc.rxt.io/v1/namespaces/{namespace}/cloudspaces
Copy
Responses
200

CloudSpaces obtained successfully.

401

Unauthorized access.

Response
Copy

Create cloudspace

Create a CloudSpace in the specified namespace.

Auth
Path Params
namespacestring

The namespace to which the Cloudspace belongs to. Desired namespace value can be obtained by calling api: list of organizations.

Request Body

  • Use value for apiVersion as ngpc.rxt.io/v1.

  • Use value for kind as CloudSpace.

  • In the metadata object:

    • Enter a value for the name field to name your CloudSpace.

    • Select the namespace in which the CloudSpace should be created. This should match the namespace used in the path parameter above.

    • creationTimestamp and deletionTimestamp: Represents timestamp for cloudspace creation. Leave it as default only.

  • In the spec object:

    • Provide the region from the list returned by the Regions API.

    • Enter the webhook URL (Slack channel webhook) to receive node preemption event notifications.

    • Choose the kubernetesVersion for your CloudSpace. Currently available versions are:

      • 1.31.1(latest)
      • 1.30.10
      • 1.29.6
    • You can leave cloud, cni, and HAControlPlane fields as default unless custom values are needed.

objectobject

CloudSpace is the Schema for the cloudspaces API

apiVersionstring

ngpc.rxt.io/v1

Default: ngpc.rxt.io/v1

kindstring

CloudSpace

Default: CloudSpace

metadataobject

Additional information

namestring

Name of the resource

namespacestring

Organization namespace

specobject

CloudSpaceSpec defines the desired state of CloudSpace

HAControlPlaneboolean

Set to Enable control plane HA and setting HACount

cloudstring

Cloud describes to which Cloud the CloudSpace belongs to. Cloud is required if deploymentType=gen1

Default: default

cnistring

CNI specifies the Container Network Interface (CNI) to be used. Supported values: calico, cilium, byocni

Enum: calico,cilium,byocni

kubernetesVersionstring

KubernetesVersion specifies the version of Kubernetes to deploy.

regionstring

Region specifies the region which the CloudSpace should be in.

webhookstring

Optional webhook that will be invoked when Servers of this CloudSpace are released

POST /apis/ngpc.rxt.io/v1/namespaces/{namespace}/cloudspaces
Copy
Responses
200

CloudSpace creation request submitted successfully.

201

CloudSpace created successfully.

202

CloudSpace creation request accepted successfully.

401

Unauthorized access.

Response
Copy

Delete all cloudspaces

Delete CloudSpaces from the specified namespace.

Auth
Path Params
namespacestring

The namespace to which the Cloudspace belongs to. Desired namespace value can be obtained by calling api: list of organizations.

DELETE /apis/ngpc.rxt.io/v1/namespaces/{namespace}/cloudspaces
Copy
Responses
200

CloudSpaces deleted successfully.

401

Unauthorized access.

Response
Copy

Get cloudspace by name

Retrieves the details of a CloudSpace by its name from the specified namespace.

Auth
Path Params
namestring

CloudSpace Name

namespacestring

The namespace to which the Cloudspace belongs to. Desired namespace value can be obtained by calling api: list of organizations.

GET /apis/ngpc.rxt.io/v1/namespaces/{namespace}/cloudspaces/{name}
Copy
Responses
200

Specific CloudSpace obtained successfully.

401

Unauthorized access.

Response
Copy

Delete cloudspace by name

Delete a CloudSpace by its name from the specified namespace.

Auth
Path Params
namestring

name of the CloudSpace

namespacestring

TThe namespace to which the Cloudspace belongs to. Desired namespace value can be obtained by calling api: list of organizations.

DELETE /apis/ngpc.rxt.io/v1/namespaces/{namespace}/cloudspaces/{name}
Copy
Responses
200

Specific CloudSpace deletion request submitted successfully.

202

Specific CloudSpace deletion request accepted successfully.

401

Unauthorized access.

Response
Copy

Edit cloudspace by name

Update a CloudSpace by its name from the specified namespace.

Auth
Path Params
namestring

name of the CloudSpace

namespacestring

The namespace to which the Cloudspace belongs to. Desired namespace value can be obtained by calling api: list of organizations.

Request Body

This endpoint allows you to perform operations on the cloudspace configuration.

  • op: Represents the operation to be performed.
    • add: Adds a new field or value at the specified path in spec section of object.
    • replace: Replaces the existing value at the specified path in spec section of object.
  • path: Specifies the location within the object where the operation should be applied.
    • For example, to add a new field, use /spec/newField.
    • To replace an existing field, use /spec/existingField.
  • value: Represents the data to be added or replaced at the specified path.

objectobject

Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.

PATCH /apis/ngpc.rxt.io/v1/namespaces/{namespace}/cloudspaces/{name}
Copy
Responses
200

CloudSpace updated successfully.

401

Unauthorized access.

Response
Copy

Get all spotnodepools

Retrieve all SpotNodePools from the specified namespace.

Auth
Path Params
namespacestring

The namespace to which the SpotNodePool belongs to. Desired namespace value can be obtained by calling api: list of organizations.

GET /apis/ngpc.rxt.io/v1/namespaces/{namespace}/spotnodepools
Copy
Responses
200

SpotNodePools obtained successfully.

401

Unauthorized access.

Create spotnodepool

Create a SpotNodePool in the specified namespace.

Auth
Path Params
namespacestring

The namespace to which the SpotNodePool belongs to. Desired namespace value can be obtained by calling api: list of organizations.

Request Body

  • Use value for apiVersion as ngpc.rxt.io/v1.

  • Use value for kind as SpotNodePool.

  • In the metadata object:

    • Enter a value for the name field in the metadata object to name your SpotNodePool. The name must be a lowercase UUID only.

    • Select the namespace in which the SpotNodePool should be created. This should match the namespace used in the path parameter above.

    • creationTimestamp and deletionTimestamp: Represents timestamp for SpotNodePool creation. Leave it as default only.

  • In the spec object:

    • autoscaling: Configure autoscaling settings.

      • enabled: Set whether autoscaling is enabled. (e.g., true or false)

      • maxNodes: The maximum number of nodes allowed when autoscaling is enabled.

      • minNodes: The minimum number of nodes required when autoscaling is enabled.

    • bidPrice: Define the bid price to bid for the spot servers (instances).

    • cloudSpace: Specify the name of your cloudspace in which SpotNodePool should be created.

    • desired: The desired number of resources (nodes) to be provisioned.

    • serverClass: Specify the Serverclass type for the cloudspace. Refer to Serverclass api for available serverclasses.

objectobject

SpotNodePool is the Schema for the spotnodepools API

apiVersionstring

ngpc.rxt.io/v1

kindstring

SpotNodePool

metadataobject

Additional information

namestring

Name of the resource

namespacestring

Organization namespace

specobject

SpotNodePoolSpec defines the desired state of SpotNodePool

autoscalingobject

Autoscaling automatically adjusts the number of servers based on demand.

enabledboolean

Enables autoscaling when set to true.

maxNodesinteger

The maximum number of servers the SpotNodePool can scale up to when autoscaling is enabled.

minNodesinteger

The minimum number of servers that should remain available in the SpotNodePool when autoscaling is enabled.

bidPricestring

The maximum price you are willing to bid for each server. The bid price must be at least equal to the market price of the selected serverClass for successful server allocation. Servers will be billed at the market price until the market price reaches the bid price, at which point the servers will be preempted.

cloudSpacestring

The name of the CloudSpace to which the SpotNodePool resource belongs. A CloudSpace with the given name must exist within the specified namespace.

desiredinteger

Number of Spot Servers required within the SpotNodePool.

serverClassstring

ServerClass name for Spot Servers. Must be a valid name from available API: ServerClasses.

POST /apis/ngpc.rxt.io/v1/namespaces/{namespace}/spotnodepools
Copy
Responses
200

SpotNodePool creation request submitted successfully.

201

SpotNodePool created successfully.

202

SpotNodePool creation request accepted successfully.

401

Unauthorized access.

Delete all spotnodepools

Delete all SpotNodePools from the specified namespace.

Auth
Path Params
namespacestring

The namespace to which the SpotNodePool belongs to. Desired namespace value can be obtained by calling api: list of organizations.

DELETE /apis/ngpc.rxt.io/v1/namespaces/{namespace}/spotnodepools
Copy
Responses
200

SpotNodePools deleted successfully.

401

Unauthorized access.

Response
Copy

Get spotnodepool by name

Retrieves the details of a SpotNodePool by its name from the specified namespace.

Auth
Path Params
namestring

SpotNodePool name, must be a lowercase UUID.

namespacestring

The namespace to which the SpotNodePool belongs to. Desired namespace value can be obtained by calling api: list of organizations.

GET /apis/ngpc.rxt.io/v1/namespaces/{namespace}/spotnodepools/{name}
Copy
Responses
200

Specific SpotNodePool obtained successfully.

401

Unauthorized access.

Delete spotnodepool by name

Delete a SpotNodePool by its name from the specified namespace.

Auth
Path Params
namestring

SpotNodePool name, must be a lowercase UUID.

namespacestring

The namespace to which the SpotNodePool belongs to. Desired namespace value can be obtained by calling api: list of organizations.

DELETE /apis/ngpc.rxt.io/v1/namespaces/{namespace}/spotnodepools/{name}
Copy
Responses
200

Specific SpotNodePool deletion request submitted successfully.

202

Specific SpotNodePool deletion request accepted successfully.

401

Unauthorized access

Response
Copy

Edit spotnodepool by name

Update a SpotNodePool by its name from the specified namespace.

Auth
Path Params
namestring

SpotNodePool name, must be a lowercase UUID.

namespacestring

The namespace to which the SpotNodePool belongs to. Desired namespace value can be obtained by calling api: list of organizations.

Request Body

This endpoint allows you to perform operations on the SpotNodePool configuration.

  • op: Represents the operation to be performed.
    • add: Adds a new field or value at the specified path in spec section of object.
    • replace: Replaces the existing value at the specified path in spec section of object.
  • path: Specifies the location within the object where the operation should be applied.
    • For example, to add a new field, use /spec/newField.
    • To replace an existing field, use /spec/existingField.
  • value: Represents the data to be added or replaced at the specified path.

objectobject

Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.

PATCH /apis/ngpc.rxt.io/v1/namespaces/{namespace}/spotnodepools/{name}
Copy
Responses
200

SpotNodePool updated successfully.

401

Unauthorized access.

Get all ondemandnodepools

Retrieve all OnDemandNodePools from the specified namespace.

Auth
Path Params
namespacestring

The namespace to which the OnDemandNodePool belongs to. Desired namespace value can be obtained by calling api: list of organizations.

GET /apis/ngpc.rxt.io/v1/namespaces/{namespace}/ondemandnodepools
Copy
Responses
200

OnDemandNodePools obtained successfully.

401

Unauthorized access.

Create ondemandnodepool

Create an OnDemandNodePool in the specified namespace.

Auth
Path Params
namespacestring

The namespace to which the OnDemandNodePool belongs to. Desired namespace value can be obtained by calling api: list of organizations.

Request Body

  • Use value for apiVersion as ngpc.rxt.io/v1.

  • Use value for kind as OnDemandNodePool.

  • In the metadata object:

    • Enter a value for the name field in the metadata object to name your OnDemandNodePool. The name must be a lowercase UUID only.

    • Select the namespace in which the OnDemandNodePool should be created. This should match the namespace used in the path parameter above.

    • creationTimestamp and deletionTimestamp: Represents timestamp for SpotNodePool creation. Leave it as default only.

  • In the spec object:

    • cloudSpace: Specify the name of your cloudspace in which SpotNodePool should be created.

    • desired: The desired number of resources (nodes) to be provisioned.

    • serverClass: Specify the Serverclass type for the cloudspace. Refer to Serverclass api for available serverclasses.

objectobject

OnDemandNodePool is the Schema for the ondemandnodepools API

apiVersionstring

ngpc.rxt.io/v1

kindstring

OnDemandNodePool

metadataobject

Additional information

namestring

Name of the resource

namespacestring

Organization namespace

specobject

OnDemandNodePoolSpec defines the desired state of OnDemandNodePool

cloudSpacestring

The name of the CloudSpace to which the SpotNodePool resource belongs. A CloudSpace with the given name must exist within the specified namespace.

desiredinteger

Number of Spot Servers required within the OnDemandNodePool.

serverClassstring

ServerClass name for Spot Servers. Must be a valid name from available API: ServerClasses.

POST /apis/ngpc.rxt.io/v1/namespaces/{namespace}/ondemandnodepools
Copy
Responses
200

OnDemandNodePool creation request submitted successfully.

201

OnDemandNodePool created successfully.

202

OnDemandNodePool creation request accepted successfully.

401

Unauthorized access.

Delete all ondemandnodepools

Delete all OnDenamdNodePools from the specified namespace.

Auth
Path Params
namespacestring

The namespace to which the OnDemandNodePool belongs to. Desired namespace value can be obtained by calling api: list of organizations.

DELETE /apis/ngpc.rxt.io/v1/namespaces/{namespace}/ondemandnodepools
Copy
Responses
200

OnDemandNodePools deleted successfully.

401

Unauthorized access.

Response
Copy

Get ondemandnodepool by name

Retrieves the details of an OnDemandNodePool by its name from the specified namespace.

Auth
Path Params
namestring

OnDemandNodePool name, must be a lowercase UUID

namespacestring

The namespace to which the OnDemandNodePool belongs to. Desired namespace value can be obtained by calling api: list of organizations.

GET /apis/ngpc.rxt.io/v1/namespaces/{namespace}/ondemandnodepools/{name}
Copy
Responses
200

Specific OnDemandNodePool obtained successfully.

401

Unauthorized access.

Delete ondemandnodepool by name

Delete an OnDemandNodePool by its name from the specified namespace.

Auth
Path Params
namestring

OnDemandNodePool name, must be a lowercase UUID

namespacestring

The namespace to which the OnDemandNodePool belongs to. Desired namespace value can be obtained by calling api: list of organizations.

DELETE /apis/ngpc.rxt.io/v1/namespaces/{namespace}/ondemandnodepools/{name}
Copy
Responses
200

Specific OnDemandNodePool deletion request submitted successfully.

202

Specific OnDemandNodePool deletion request accepted successfully.

401

Unauthorized access.

Response
Copy

Edit ondemandnodepool by name

Update a OnDemandNodePool by its name from the specified namespace.

Auth
Path Params
namestring

OnDemandNodePool name, must be a lowercase UUID

namespacestring

The namespace to which the OnDemandNodePool belongs to. Desired namespace value can be obtained by calling api: list of organizations.

Request Body

This endpoint allows you to perform operations on the OnDemandNodePool configuration.

  • op: Represents the operation to be performed.
    • add: Adds a new field or value at the specified path in spec section of object.
    • replace: Replaces the existing value at the specified path in spec section of object.
  • path: Specifies the location within the object where the operation should be applied.
    • For example, to add a new field, use /spec/newField.
    • To replace an existing field, use /spec/existingField.
  • value: Represents the data to be added or replaced at the specified path.

objectobject

Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.

PATCH /apis/ngpc.rxt.io/v1/namespaces/{namespace}/ondemandnodepools/{name}
Copy
Responses
200

OnDemandNodePool updated successfully.

401

Unauthorized access.

Price History

Price history for a server class APIs

Get price history for a server class (unauthenticated api)

Retrieve historical price data for a given server class. This api does not require bearerToken for its usage. Valid server_class values include:

  • gp.vs1.medium-dfw
  • gp.vs1.small-dfw
  • mh.vs1.large-dfw
  • mh.vs1.xlarge-dfw
  • ch.vs1.medium-dfw
  • gp.bm2.large-dfw
  • mh.vs1.medium-dfw
  • gp.bm2.medium-dfw
  • mh.vs1.2xlarge-dfw
  • mh.vs1.2xlarge-iad
  • gp.vs1.2xlarge-lon
  • gp.vs1.xlarge-lon
  • ch.vs1.xlarge-iad
  • gp.bm2.medium-lon
  • ch.vs1.medium-iad
  • gp.bm2.small-lon
  • ch.vs1.2xlarge-iad
  • mh.vs1.xlarge-iad
  • mh.vs1.large-iad
  • ch.vs1.large-lon
  • gp.bm2.large-lon
  • mh.vs1.2xlarge-lon
  • ch.vs1.large-iad
  • gp.bm2.small-iad
  • ch.vs1.2xlarge-lon
  • ch.vs1.medium-lon
  • mh.vs1.medium-lon
  • mh.vs1.large-lon
  • mh.vs1.xlarge-lon
  • gp.vs1.small-iad
  • ch.vs1.xlarge-lon
  • io.bm2-lon
  • io.bm2-iad
  • gp.vs1.large-lon
  • ch.vs1.2xlarge-dfw
  • ch.vs1.xlarge-dfw
  • gp.vs1.2xlarge-iad
  • mh.vs1.medium-iad
  • gp.vs1.large-iad
  • gp.vs1.large-dfw
  • ch.vs1.large-dfw
  • gp.vs1.medium-lon
  • gp.vs1.xlarge-dfw
  • gp.vs1.medium-iad
  • gp.vs1.xlarge-iad

Auth
Path Params
server_classstring

Server class name (e.g., gp.vs1.medium-dfw). Must be a valid name from available API: ServerClasses.

GET /history/{server_class}
Copy
Responses
200

A list of historical hammer prices

objectobject
auctionstring

Serverclass type for which the auction was held

historyarray[object]
run_atint64

Unix timestamp of the auction

hammer_pricenumber

Final price in USD

400

Invalid server class

500

Unexpected error

Response
Copy

Percentile Information

Percentile Information APIs

Get Percentile Information (unauthenticated api)

Returns percentile data for various server classes. This api does not require bearerToken for its usage.

Auth
GET /percentiles.json
Copy
Responses
200

A list of regions with server pricing details - percentile information

objectobject
regionsobject
*object
generationstring
serverclassesobject
*object
display_namestring
categorystring
descriptionstring
cpustring
memorystring
market_pricestring
20_percentilenumber
50_percentilenumber
80_percentilenumber
500

Unexpected error

Response
Copy

Market Price Capacity

Market Price Capacity (Comparable Prices) APIs

Get Market Price Capacity (Comparable Prices) (unauthenticated api)

Returns comparable pricing data. This api does not require bearerToken for its usage.

Auth
GET /comparable_prices.json
Copy
Responses
200

Regions and pricing data retrieved successfully.

objectobject
regionsobject
*object

VM instance type mapping in the region.

*object
hyperscaler_average_pricestring

Average hyperscaler price (e.g., AWS, Azure).

comparablesarray[object]

Comparable instance types and their prices.

cloudstring
classstring
pricestring
500

Unexpected error

Response
Copy