Warning: JavaScript is not enabled or not loaded. Please enable JavaScript for the best experience.
Navigation

Overview

Cloud API Platform

A unified REST API for provisioning, managing, and monitoring cloud infrastructure programmatically. Ship integrations faster with predictable endpoints, consistent JSON responses, and comprehensive error handling.

Key Capabilities

  • Compute, storage & network resource management
  • Real-time event streaming & webhooks
  • Role-based access control (RBAC)
  • Usage metrics & billing APIs
  • Multi-region deployment orchestration
  • Idempotent operations & retry-safe design

Intended Use Cases

Automate infrastructure provisioning in CI/CD pipelines, build internal developer portals, integrate billing data into business dashboards, or create custom monitoring & alerting workflows on top of the platform.

Base URL

https://api.cloudplatform.io/v1

Formats & Versioning

  • JSON All request & response bodies
  • UTF-8 Character encoding
  • v1 Current stable version

Version is included in the URL path. Breaking changes ship under a new version prefix.

Example Request

GET /v1/instances
curl -X GET https://api.cloudplatform.io/v1/instances \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Getting Started

  1. 1

    Create an account & generate API keys

    Sign up at the dashboard and navigate to Settings → API Keys.

  2. 2

    Authenticate your first request

    Pass your key via the Authorization header. See Authentication.

  3. 3

    Explore available endpoints

    Browse the full resource reference in Endpoints.

  4. 4

    Handle errors & paginate results

    All errors return structured JSON. Lists support cursor-based pagination via ?cursor=.

Section 02

Authentication

Every request to the Cloud API must be authenticated. We use API key–based authentication via Bearer tokens in the Authorization header.

API Key Authentication

Your API key is a unique, secret credential generated from the Dashboard → API Keys page. Treat it like a password — anyone with your key can make requests on your behalf.

Sending the Authorization Header

Include your API key as a Bearer token in the Authorization header of every HTTP request:

Header
Authorization: Bearer YOUR_API_KEY

Use Environment Variables

Never hard-code your API key in source files. Store it in an environment variable and reference it at runtime:

Shell
export CLOUD_API_KEY="sk_live_...your_key_here"

Sample Request

A complete authenticated request using curl:

cURL
curl -X GET https://api.cloudplatform.io/v1/resources \
  -H "Authorization: Bearer $CLOUD_API_KEY" \
  -H "Content-Type: application/json"

Security Best Practices

  • Rotate your API keys periodically from the Dashboard.
  • Never commit keys to version control. Use .env files and add them to .gitignore.
  • Use separate keys for development, staging, and production environments.
  • Restrict key permissions to only the scopes your application needs.
  • Always use HTTPS — the API rejects plain HTTP connections.

Common Authentication Errors

Status Error Description
401 unauthorized Missing or invalid API key. Check the Authorization header.
403 forbidden Key is valid but lacks permission for the requested resource or scope.
429 rate_limited Too many requests. Back off and retry after the Retry-After interval.

Having trouble? Check the FAQ or reach out via the Dashboard support channel.

Endpoints

Reference for available REST API endpoints. All requests require a valid API key passed via the Authorization header.

GET /v1/resources

Retrieve a paginated list of all resources in your project. Results are ordered by creation date descending.

Example Request

curl -X GET https://api.cloudplatform.io/v1/resources \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Example Response · 200 OK

{
  "data": [
    {
      "id": "res_8xKq2m",
      "name": "Primary Store",
      "status": "active",
      "created_at": "2026-04-18T09:14:00Z"
    }
  ],
  "meta": {
    "page": 1,
    "per_page": 25,
    "total": 142
  }
}
Pagination: Use ?page=2&per_page=50 query parameters. Maximum per_page is 100.
GET /v1/resources/{id}

Retrieve a single resource by its unique identifier.

Example Request

curl -X GET https://api.cloudplatform.io/v1/resources/res_8xKq2m \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response · 200 OK

{
  "id": "res_8xKq2m",
  "name": "Primary Store",
  "status": "active",
  "region": "us-east-1",
  "created_at": "2026-04-18T09:14:00Z",
  "updated_at": "2026-04-22T15:30:00Z"
}
Error: Returns 404 Not Found if the resource ID does not exist.
POST /v1/resources

Create a new resource within your project. A name field is required in the request body.

Example Request

curl -X POST https://api.cloudplatform.io/v1/resources \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Analytics Pipeline",
    "region": "eu-west-1"
  }'

Example Response · 201 Created

{
  "id": "res_Tn49Wp",
  "name": "Analytics Pipeline",
  "status": "provisioning",
  "region": "eu-west-1",
  "created_at": "2026-04-24T12:00:00Z"
}
Validation: Returns 422 Unprocessable Entity with a errors array when required fields are missing or invalid.
DELETE /v1/resources/{id}

Permanently delete a resource. This action is irreversible.

Example Request

curl -X DELETE https://api.cloudplatform.io/v1/resources/res_8xKq2m \
  -H "Authorization: Bearer YOUR_API_KEY"

Example Response · 204 No Content

// Empty response body
Error Codes: 404 if resource not found. 409 Conflict if the resource is currently in use and cannot be deleted.

Common Error Codes

Code Status Description
400 Bad Request Malformed request syntax or invalid parameters.
401 Unauthorized Missing or invalid API key.
403 Forbidden API key does not have permission for this action.
404 Not Found The requested resource does not exist.
429 Too Many Requests Rate limit exceeded. Retry after the Retry-After header value.
500 Internal Server Error An unexpected error on our end. Contact support if persistent.

FAQ

Frequently Asked Questions

Common questions about integrating with and using the Cloud API Platform.

What are the rate limits?
Free-tier accounts are limited to 100 requests per minute. Pro and Enterprise plans allow up to 10,000 and 100,000 requests per minute respectively. Rate limit headers (X-RateLimit-Remaining) are included in every response so you can throttle gracefully.
Is there a sandbox environment?
Yes. Every account has access to a sandbox at https://sandbox.api.cloudplatform.io/v1. Sandbox data resets every 24 hours and does not count toward your rate limits or billing.
How does API versioning work?
Versions are path-based (e.g. /v1/, /v2/). Deprecated versions remain available for at least 12 months after a new major release. Migration guides are published alongside every version bump.
How does pagination work?
List endpoints support cursor-based pagination. Use the cursor query parameter returned in the meta.next_cursor field of the response. The default page size is 25; you can request up to 100 items with the limit parameter.
What is the webhook retry policy?
Failed webhook deliveries are retried with exponential back-off — at 1 min, 5 min, 30 min, 2 hrs, and 24 hrs. After five consecutive failures the endpoint is automatically disabled and you will receive an email notification. You can re-enable it from the dashboard at any time.
How can I get support?
Community support is available on our GitHub Discussions board. Pro accounts get priority email support with a 4-hour SLA, and Enterprise customers receive a dedicated Slack channel and on-call engineering support.