The CaaS (Containers-as-a-Service) API lets you programmatically deploy and manage high-performance containerized workloads on io.net’s decentralized GPU network. This guide walks you through the key steps to get started.
Generate an API key
You can obtain an API key for IO Cloud in two ways:
- Via the web interface
- By using a two-step process (first generate a JWT token, then request the API key using curl)
Option 1: Generate an API Key via Web Interface
IO Clouds APIs authenticate requests using API keys. You can generate API keys from your user account.
Note: When generating an API key, make sure to specify the associated IO Cloud project.
Always treat your API key as a secret! Do not share it or expose it in client-side code (e.g., browsers or mobile apps). Instead, store it securely in an environment variable or a key management service on your backend server.
Option 2: Generate an API Key Using a JWT Token
Step 1. Get a JWT Token
IO's API is built around RESTful principles. You can use IO's APIs to gain insights into different elements of our network.
To use IO's APIs, you must supply a JWT token in the header of your request. Follow the instructions below to generate a token:
- Go to IO.net > IO ID > IO Clouds tab.
- In the UI, right-click and select Inspect.
- In the Inspect tool, click Network.
- Refresh the IO Clouds page.
- In the list of elements, click Devices.
- Scroll down to the Request Headers section.
- Copy and store the token.
The token is valid for 21 days.

Step 2. Generate an API Key via curl
curl
Use the JWT token to request your API key:
curl -X POST 'https://api.io.solutions/v1/api-keys/' \
-H 'accept: application/json' \
-H 'token: $GWT_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"description": "API Key Name",
"expires_at": "2025-07-17T19:54:36.418Z",
"project": "io-cloud",
"scopes": ["all"]
}'
Use the returned key with the X-API-KEY
header in your requests.
Always treat your API key as a secret! Do not share it or expose it in client-side code (e.g., browsers or mobile apps). Instead, store it securely in an environment variable or a key management service on your backend server.

Making requests
Include the API key in an Authorization
HTTP header for all API requests:
Authorization: X-API-KEY $IOCLOUD_API_KEY
Replace $IOCLOUD_API_KEY
with your actual API key.
Example: Check Available Replicas per Location
Here's an example curl
command to check available replicas per location in IO Cloud:
curl https://api.io.solutions/enterprise/v1/io-cloud/caas/available-replicas \
-H "X-API-KEY: $IOCLOUD_API_KEY"

This request should return a response like this:
{
"data": [
{
"id": 0,
"iso2": "string",
"name": "string",
"available_replicas": 0
}
]
}