NimbusAPI
v2.4
Docs
Developer Documentation
Cloud API Platform Overview
A single REST API for provisioning infrastructure, managing resources, and streaming real-time events — built for engineering teams who need predictable, well-documented endpoints at scale.
New here? This overview explains what the API does and how the documentation is organized. Continue to Authentication to get your API key, then explore Endpoints for the full request reference.
What the API does
The platform exposes a consistent set of JSON endpoints for creating and managing cloud resources — compute instances, storage buckets, and networking rules — without touching the underlying infrastructure directly. Every response is predictable, versioned, and documented down to the field level.
Key capabilities
Resource provisioning
Create, update, and tear down compute and storage programmatically.
Real-time monitoring
Track usage, latency, and resource health as events happen.
Webhooks & events
Subscribe to lifecycle events and push updates to your services.
Multi-region support
Deploy resources across regions with consistent latency guarantees.
Base URL
All requests are made against the following base URL. Every endpoint in this documentation is relative to it.
https://api.cloudplatform.dev/v1Getting started
Send an authenticated request to list your resources — a first call typically looks like this:
curl https://api.cloudplatform.dev/v1/resources \
-H "Authorization: Bearer YOUR_API_KEY"Need an API key? Head to Authentication for setup instructions, or jump to Endpoints for the full reference.
Frequently asked questions
Straight answers to what developers ask most while integrating — rate limits, authentication errors, pagination, versioning, and how to reach us when something breaks.
What are the API rate limits?
Each API key is limited to 600 requests per minute on standard plans. Exceeding the limit returns an HTTP 429. Every response includes headers so you can track usage before hitting the ceiling:
X-RateLimit-Limit: 600
X-RateLimit-Remaining: 42
X-RateLimit-Reset: 1723456789
We recommend exponential backoff with jitter on 429s, and caching frequently accessed, low-volatility resources on your side.
Why am I getting 401 or 403 responses?
A 401 almost always means the request is missing a valid Authorization: Bearer header, or the key has expired or been revoked. A 403 means the key is valid but lacks permission for that endpoint.
- Confirm you're sending the key as
Authorization: Bearer sk_live_... - Check you're not mixing test (
sk_test_) and live keys between environments - Verify the key's scopes include the resource you're calling
- Ensure your server clock is in sync if you're signing requests
See the Authentication section for the full setup walkthrough.
How does pagination work across list endpoints?
All list endpoints use cursor-based pagination. Pass a limit (max 100, default 25) and, for later pages, the cursor from the previous response.
GET /v1/events?limit=50&cursor=eyJpZCI6MTA1fQ
{"data": [...], "next_cursor": "eyJpZCI6MTU1fQ", "has_more": true}
Keep requesting with the latest next_cursor until has_more is false. See the full reference in Endpoints.
How is the API versioned, and how are breaking changes handled?
The API is versioned in the URL path (e.g. /v1/). Breaking changes only ship in a new major version; additive changes like optional fields or endpoints land in the current version.
Deprecations are announced in the changelog and by email, with a minimum 6-month support overlap before the old version sunsets.
Can I test integrations without touching production data?
Yes. Every account gets a sandbox environment with its own dataset. Generate a test key prefixed sk_test_... from your dashboard and use the same base URL — the key determines the environment, so no separate host is required.
Sandbox requests never trigger real charges, emails, or production webhooks, making it safe for CI pipelines and staging.
Are there official SDKs, or do I call the REST API directly?
We maintain official SDKs for Node.js, Python, Go, and Ruby, generated from the same OpenAPI spec that powers this documentation, so method signatures always match current endpoint contracts. The REST API is fully usable on its own for any other language or platform.
How do I get help if something isn't working?
Start with the request's unique x-request-id response header and include it in any ticket so we can trace the exact call. Check the status page first for known incidents, then reach out:
- Email [email protected] — typical response within one business day
- Enterprise plans get a dedicated Slack channel with priority SLAs
Still stuck on an integration issue?
Our engineering support team is a message away.