canonical: https://jentic.com/apis/crusoecloud.com/crusoecloud

# Crusoe Cloud API Gateway

The Crusoe Cloud API Gateway exposes 95 endpoints covering the full Crusoe Cloud product surface: VM instances and instance groups, VM templates, VM types, instance images, persistent disks, snapshots, VPC networks, subnets, firewall rules, Infiniband networks and partitions, load balancers, organisations, projects, usage and billing, identities, SSH keys, tokens, and capacity lookups. The base URL is https://api.crusoecloud.com/v1alpha5 and most resources are scoped under a project_id path segment.

## For AI agents

Provision and manage GPU and CPU VMs, networking, storage, and projects on Crusoe Cloud's GPU-focused IaaS platform.

## Scope

Does not handle in-VM workload orchestration, container runtime, or model training framework code - use for cloud infrastructure provisioning and management only.

## Capabilities

- Provision GPU and CPU VM instances individually or in bulk under a project
- Manage instance groups and instance templates for repeatable VM topologies
- Create and resize persistent disks, attach and detach them from VMs
- Configure VPC networks, subnets, and firewall rules per project
- Set up Infiniband networks and partitions for high-bandwidth GPU clusters
- Provision load balancers and inspect asynchronous operation status
- Read project-level and resource-level usage data for cost reporting

## Use cases

### GPU Training Cluster Provisioning

Spin up a multi-node GPU training cluster by bulk-creating VM instances, attaching shared disks, and connecting them to an Infiniband partition for high-bandwidth interconnect. Crusoe Cloud exposes Infiniband as a first-class resource, which most general-purpose IaaS APIs do not.

Example prompt: POST `/projects/{project_id}/networking/ib-partitions` to create the partition, then POST `/projects/{project_id}/compute/vms/bulk-instances` with eight VMs referencing that partition.

### Cost-Aware Inference Fleet

Manage an inference fleet that scales up during the day and down overnight by combining instance-groups for fleet topology with PATCH calls to change VM state. Pull `/organizations/usage` to verify cost trends after each scaling cycle.

Example prompt: PATCH `/projects/{project_id}/compute/instance-groups/{instance_group_id}` to resize the group at 8am, reverse the change at 8pm, and read `/organizations/usage` to confirm spend.

### Per-Project VPC Hardening

Keep each Crusoe Cloud project's network surface tight by listing VPC firewall rules, removing unused entries, and patching the remainder to use up-to-date CIDRs. Useful for ongoing security hygiene as engineering teams roll on and off projects.

Example prompt: GET `/projects/{project_id}/networking/vpc-firewall-rules`, identify rules with overly broad source ranges, and PATCH each to a tighter CIDR.

### Image and Template Catalog Sync

Mirror Crusoe Cloud's available VM images and instance templates into an internal catalog so platform teams can decide which images are blessed for production use. Updates are detected by diffing the listing endpoints on a schedule.

Example prompt: GET `/compute/images` and GET `/projects/{project_id}/compute/instance-templates`, diff against the cached catalog, and surface any new images or templates for review.

### Agent-Driven GPU Operations

Allow an AI ops agent to handle GPU infrastructure chores - provisioning, attaching disks, opening firewall rules - through Jentic so the Crusoe access token stays in the vault and only scoped requests reach the runtime.

Example prompt: Search Jentic for 'provision a GPU virtual machine', load the create-VM operation, and execute it with the chosen VM type and project ID.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/projects/{project_id}/compute/vms/instances` | Create a VM instance |
| POST | `/projects/{project_id}/compute/vms/bulk-instances` | Bulk create VM instances |
| POST | `/projects/{project_id}/storage/disks` | Create a persistent disk |
| POST | `/projects/{project_id}/networking/vpc-firewall-rules` | Create a VPC firewall rule |
| POST | `/projects/{project_id}/networking/ib-partitions` | Create an Infiniband partition |
| POST | `/projects/{project_id}/networking/load-balancers` | Create a load balancer |
| GET | `/organizations/usage` | Read project-level usage |
| GET | `/locations` | List available Crusoe Cloud locations |

## Key resources

- **VMs** — Create, list, get, update, and delete VM instances individually or in bulk.
- **Instance-Groups** — Manage groups of VMs for fleet-style topologies.
- **Instance-Templates** — Define reusable VM templates for bulk creation.
- **Disks** — Provision, resize, attach, and detach persistent disks.
- **VPC-Networks / Subnets / Firewall-Rules** — Configure private networks, subnets, and firewall rules per project.
- **IB-Networks / IB-Partitions** — Manage Infiniband networks and partitions for GPU cluster interconnect.
- **Load-Balancers** — Create and manage load balancers with async operation tracking.
- **Projects / Entities / Usage** — Manage organisations, projects, and inspect billing usage.

## Why Jentic

- **Setup:** Wiring the Crusoe Cloud API Gateway by hand means setting its token-based Authorization header and threading VM, disk, firewall-rule, and load-balancer provisioning calls across projects yourself. Through Jentic you install once, import the Crusoe Cloud API Gateway from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Crusoe Cloud puts the project id in the URL path (`/projects/{project_id}/compute/vms/instances`), so a rule can pin your agent to one project: it can provision instances, disks, and networking there and nothing else. You choose the operations it may call, so bulk instance creation or firewall-rule changes are not included unless you add them.
- **Credential handling:** Your Crusoe Cloud token is stored once, encrypted, by your own Jentic One instance and injected into the Authorization header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'provision a GPU virtual machine' or 'create a storage disk', and Jentic returns the matching Crusoe Cloud operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Crunchy Bridge API** — Managed PostgreSQL clusters that pair well with Crusoe-hosted compute.
- **Crunchy Bridge API** — Sister Crunchy surface that can act as the database layer for Crusoe-hosted workloads.
- **Crustdata API** — External data enrichment for workloads running on Crusoe Cloud.

## FAQ

### What authentication does the Crusoe Cloud API Gateway use?

The OpenAPI specification does not declare a security scheme. In practice Crusoe Cloud uses an API access token issued from the Crusoe console - pass it in the Authorization header. Through Jentic the token is stored encrypted in the vault and never enters the agent prompt.

### Can I provision a GPU VM with the Crusoe Cloud API?

Yes. POST `/projects/{project_id}/compute/vms/instances` creates a new VM in the target project. Use POST `/projects/{project_id}/compute/vms/bulk-instances` when you need many VMs at once, for example to spin up a training cluster.

### How do I set up an Infiniband partition for a GPU cluster through the Crusoe Cloud API?

First GET `/projects/{project_id}/networking/ib-networks` to find an existing Infiniband network, then POST `/projects/{project_id}/networking/ib-partitions` to create a partition that VMs in the cluster can join.

### How do I track an async VM creation operation?

VM creation returns an operation_id. Poll GET `/projects/{project_id}/compute/vms/instances/operations/{operation_id}` until the operation reaches a terminal state, then call GET `/projects/{project_id}/compute/vms/instances/{vm_id}` for the running VM.

### What are the rate limits for the Crusoe Cloud API?

The OpenAPI specification does not document numeric rate limits. Watch for HTTP 429 responses and contact Crusoe Cloud support before running high-frequency provisioning loops.

### How do I provision a GPU VM through Jentic?

Run pip install jentic, search 'provision a GPU virtual machine', load the create-VM operation, and execute it with your project_id and VM type. Jentic injects the Crusoe access token automatically.

### Can I limit what my agent is allowed to do with the Crusoe Cloud API?

Yes. Because you run Jentic One yourself, your own rules decide which Crusoe Cloud operations and credentials the agent may use. Crusoe Cloud puts the project id in the URL path, such as `/projects/{project_id}/compute/vms/instances`, so you can pin the agent to a single project and let it create VMs, disks, and networking there and nothing else. You pick the exact operations it may call, so higher-impact actions like bulk instance creation via `/projects/{project_id}/compute/vms/bulk-instances` or firewall-rule changes stay off unless you add them.
