Developer Ecosystem
Built by engineers, for engineers.
Access the Nubis stack via our unified API, powerful CLI, or production-ready SDKs. Our platform is designed to be programmable from the ground up, giving you the same tools our internal teams use to manage infrastructure at scale.
REST API · GraphQL · CLI · SDKs · Terraform
Design Philosophy
Infrastructure as code, done right.
We believe infrastructure management should be automated, version-controlled, and reviewable. That's why every Nubis feature is available through our API before it appears in the console. This API-first approach ensures you can integrate Nubis into your existing DevOps workflows, CI/CD pipelines, and configuration management systems.
Whether you're provisioning thousands of instances for a machine learning workload or managing a complex multi-region deployment, our APIs provide the granularity and control you need. Build custom dashboards, automate incident response, or create your own abstraction layers — the infrastructure is yours to command.
- 100% API coverage — if it exists in the console, it's in the API
- WebSocket support for real-time events and metrics streaming
- Consistent resource naming and addressing across all endpoints
- Idempotent operations for safe retry logic in automated systems
# Configure the Nubis Provider
terraform {
required_providers {
nubis = {
source = "nubis-cloud/nubis"
version = "~> 2.0"
}
}
}
# Create a high-performance instance
resource "nubis_instance" "api_server" {
name = "api-prod-01"
type = "bare-metal.gen3"
region = "ng-ibadan-1"
cpu_cores = 32
memory_gb = 128
storage {
type = "nvme"
size = 2000
}
networking {
vpc_id = nubis_vpc.production.id
subnet_id = nubis_subnet.private.id
assign_public_ip = false
}
tags = {
Environment = "production"
Team = "platform"
}
}Command Line Interface
A CLI that feels like home.
The Nubis CLI is designed for developers who live in the terminal. It's fast, scriptable, and speaks your language — JSON output for piping into jq, interactive prompts when you need them, and sensible defaults that get out of your way.
curl -sSL https://get.nubis.dev | bashorbrew install nubis-cliornpm install -g @nubis/cliSDKs & Libraries
Production-ready SDKs.
We maintain official SDKs for the most popular programming languages. Each SDK is idiomatic, fully typed, and includes comprehensive error handling, automatic retries, and connection pooling.
Rust SDK
v0.12.4
Async-first client with native Tokio integration. Zero-cost abstractions for high-performance infrastructure automation.
Go SDK
v1.2.0
Idiomatic Go client with context cancellation, structured logging, and built-in retry logic with exponential backoff.
JavaScript SDK
v2.4.1
TypeScript-first with full type definitions. Works in Node.js, Deno, and Edge runtimes with minimal dependencies.
Python SDK
v3.1.0
Pythonic interface with async/await support, perfect for data pipelines, ML workflows, and infrastructure scripting.
API Design
Built for scale and reliability.
Our API is designed with developer experience in mind. Consistent patterns, comprehensive documentation, and robust error handling make integration straightforward.
RESTful Architecture
Our API follows REST principles with predictable resource-oriented URLs. Use standard HTTP methods (GET, POST, PUT, DELETE) and receive JSON responses with consistent error handling.
Authentication
Secure your API requests with Bearer tokens. Generate API keys from the console with scoped permissions. Support for short-lived tokens and service accounts for automated workflows.
Rate Limiting
Generous rate limits with clear headers (X-RateLimit-Remaining, X-RateLimit-Reset). Contact us for increased limits on enterprise workloads.
Pagination
List endpoints support cursor-based pagination for efficient handling of large datasets. Use 'next_cursor' and 'limit' parameters to traverse collections without duplicates or missing items.
Common Workflows
Get started in minutes.
Here are common patterns for interacting with the Nubis API. These examples use our Python SDK, but the concepts apply across all language implementations.
Provision Infrastructure
Create instances, configure networking, and deploy storage volumes through simple API calls. Define infrastructure as code using our Terraform provider or SDKs.
# Create a high-performance compute instance
instance = nubis.instances.create(
type="bare-metal.gen3",
region="ng-ibadan-1",
spec={
"cpu": 32,
"memory": "128GB",
"storage": [{"type": "nvme", "size": 2000}]
}
)Configure Networking
Set up VPCs, subnets, firewalls, and load balancers programmatically. Define security groups, route tables, and DNS records through our unified networking API.
# Configure a secure VPC with firewall rules
vpc = nubis.networking.vpcs.create(
name="production-mesh",
cidr="10.0.0.0/16",
subnets=[
{"cidr": "10.0.1.0/24", "zone": "a"},
{"cidr": "10.0.2.0/24", "zone": "b"}
]
)Monitor & Observe
Stream metrics, logs, and events to your observability stack. Query instance status, resource utilization, and platform health through dedicated endpoints.
# Query metrics for capacity planning
metrics = nubis.monitoring.query(
metric="cpu.utilization",
instance="i-12345abc",
time_range="1h",
aggregation="avg"
)Resources
Everything you need to build.
From comprehensive API documentation to community support, we've got you covered at every stage of your integration journey.
Open Source Substrate
We believe in transparency. Explore our firmware, substrate drivers, and orchestration tools on GitHub. Fork, contribute, or audit the code that runs your infrastructure.
Licensed under Apache 2.0 · Community contributions welcome
Join the Consensus
Connect with thousands of developers building on Nubis. Get help from our engineering team, discuss best practices, and share your projects with the community.
Active channels: #general, #api-help, #showcase, #rust, #go

