SDKs

Official client libraries for the IBEE Solutions API. Install one for your language and start building.

ToolInstallLanguage
Python SDKpip install ibeePython 3.10+
TypeScript SDKnpm install ibee-sdkNode 18+ / browsers
CLIpip install ibee-cliTerminal

All three cover the same products — object storage, secret store, cloud VMs, and GPU VMs — and authenticate the same way: an API token from Settings → API Tokens plus a workspace ID.

Environments

The SDKs target production (https://api.ibee.ai/v1) by default. To use the development gateway (https://api.ibee.co.in/v1) with a ibee_dev_key_... token:

1from ibee import Ibee, IbeeEnvironment
2
3client = Ibee(token="ibee_dev_key_xxx", environment=IbeeEnvironment.DEVELOPMENT)

Python SDK

Install the Python SDK from PyPI:

$pip install ibee
1from ibee import Ibee
2
3client = Ibee(token="ibee_live_xxxxxxxxxxxx")
4
5# List cloud VMs
6vms = client.cloud_vms.list_cloud_vms(workspace_id="907479")
7
8# Create a cloud VM
9vm = client.cloud_vms.create_cloud_vm(
10 workspace_id="907479",
11 idempotency_key="create-web-server-01",
12 name="web-server",
13 os_distro="ubuntu",
14 os_type="linux",
15 cpu=2,
16 ram_mb=4096,
17)
18
19# List GPU VMs
20gpu_vms = client.gpu_vms.list_gpu_vms(workspace_id="907479")
21
22# Object storage — list and create (region is required)
23buckets = client.object_storage.list_buckets(workspace_id="907479")
24bucket = client.object_storage.create_bucket(
25 workspace_id="907479", name="my-bucket", region="in-south-1"
26)
27
28# Secret store — create a store, then a versioned secret
29store = client.secret_store.create_secret_store(workspace_id="907479", name="payments")
30secret = client.secret_store.create_secret(
31 workspace_id="907479",
32 store_id=store.id,
33 secret_name="stripe-key",
34 value={"API_KEY": "sk_live_xxx"},
35)
36value = client.secret_store.get_secret_value(workspace_id="907479", secret_id=secret.id)

To create a VM from the same kind of choices shown in the portal, pass the selected IDs into the create call:

1vm = client.cloud_vms.create_cloud_vm(
2 workspace_id="907479",
3 idempotency_key="create-web-server-01",
4 name="web-server-01",
5 os_distro="ubuntu",
6 os_type="linux",
7 template_id="tmpl_ubuntu_2204",
8 plan_id="plan_standard_2c_4g",
9 cpu=2,
10 ram_mb=4096,
11 disk_gb=80,
12 ssh_key_ids=["ssh_key_123"],
13 tags=["prod", "web"],
14)

plan_id is the selected instance plan. template_id is the selected OS template or image. ssh_key_ids are the SSH keys to inject at first boot. In the current SDK, cpu and ram_mb are still required fallback fields even when plan_id is provided.

Async support is built in:

1import asyncio
2from ibee import AsyncIbee
3
4async def main():
5 client = AsyncIbee(token="ibee_live_xxxxxxxxxxxx")
6 vms = await client.cloud_vms.list_cloud_vms(workspace_id="907479")
7 print(vms)
8
9asyncio.run(main())

TypeScript SDK

Install the TypeScript SDK from npm. It works in Node 18+ and modern browsers, ships ESM and CommonJS builds with full type declarations, and has no runtime dependencies.

$npm install ibee-sdk
1import { Ibee } from "ibee-sdk";
2
3const client = new Ibee({ token: "ibee_live_xxxxxxxxxxxx" });
4
5// List cloud VMs
6const vms = await client.cloudVms.list({ workspaceId: "907479" });
7
8// Create a cloud VM
9await client.cloudVms.create({
10 workspaceId: "907479",
11 name: "web-server",
12 os_distro: "ubuntu",
13 os_type: "linux",
14 cpu: 2,
15 ram_mb: 4096,
16});
17
18// List buckets
19const buckets = await client.objectStorage.listBuckets({ workspaceId: "907479" });

Non-2xx responses throw an ApiError carrying the HTTP status and parsed body:

1import { ApiError } from "ibee-sdk";
2
3try {
4 await client.secretStore.listSecretStores({ workspaceId: "907479" });
5} catch (err) {
6 if (err instanceof ApiError) {
7 console.error(err.statusCode, err.body);
8 }
9}

Command-line interface

Prefer the terminal? The ibee CLI is built on the Python SDK and covers the same products.

$pip install ibee-cli
$export IBEE_TOKEN="ibee_live_xxxxxxxxxxxx"
$export IBEE_WORKSPACE_ID="907479"
$
$ibee buckets list
$ibee secrets stores
$ibee vms list

See the CLI reference for all commands.

Resource reference

Both SDKs expose the same resources (Python uses snake_case, TypeScript uses camelCase):

ResourceOperations
Object storagelist / create / delete buckets
Secret storestores (create, list, get, update, archive) · secrets (create, list, get, get value, update value, delete)
Cloud VMslist, get, create, update, delete, start, stop, reboot, metrics, network interfaces
GPU VMslist, get, create, update, delete, start, stop, reboot, metrics, network interfaces
Operationsget (poll async operation status)

Using the API without an SDK

You can call the REST API directly using any HTTP client:

$curl https://api.ibee.ai/v1/object-storage/buckets?workspace_id=907479 \
> -H "Authorization: Bearer ibee_live_xxxxxxxxxxxx"