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

Overview

CloudAPI: Reliable access to cloud resources through a single interface

CloudAPI provides a consistent REST interface for provisioning, managing, and monitoring cloud resources across environments. It focuses on predictable schemas, explicit versioning, and clear error behavior so developers can build integrations with confidence.

Core capabilities

  • Unified resource lifecycle management for compute, storage, and networking.
  • Idempotent requests with deterministic status codes and structured errors.
  • Fine-grained access control and token-based authentication.
  • Real-time observability hooks for metrics, events, and audit trails.

Typical use cases

  • Automating infrastructure provisioning in CI/CD pipelines.
  • Building internal developer platforms with standardized APIs.
  • Synchronizing resource state across multi-cloud deployments.
  • Generating compliance reports with auditable event streams.

Next steps

Start with the Authentication guide, then review the Endpoints reference. For common issues, check the FAQ.

Authentication

Authenticate with CloudAPI

Use an API key in the Authorization header to access protected endpoints. Keys are scoped per project and should be kept secret.

Step-by-step

  1. 1

    Create or locate your project.

    Projects determine the scope and quotas for your API key.

  2. 2

    Request a key from the Keys endpoint.

    Use your project ID to generate a key for server-side usage.

  3. 3

    Send the key on every request.

    Include it as a bearer token in the Authorization header.

Key issuance endpoint

Create a key by calling the Keys API. This endpoint requires a session from the dashboard.

POST

https://api.cloudapi.dev/v1/keys

Headers
Authorization: Bearer <dashboard_session_token>
Body
{ "project_id": "proj_8f2c4" }

Example request

Use the key as a bearer token when calling any endpoint.

curl -X GET "https://api.cloudapi.dev/v1/projects" \
  -H "Authorization: Bearer sk_live_2f7a..." \
  -H "Content-Type: application/json"

Example response

Successful authentication returns your project list.

{
  "data": [
    {
      "id": "proj_8f2c4",
      "name": "Core Platform",
      "status": "active"
    }
  ],
  "request_id": "req_9c0e1"
}

Security note: Never expose API keys in client-side applications. Rotate keys immediately if you suspect compromise.

CloudAPI Reference

Endpoints

Canonical endpoints with HTTP methods, required headers, and compact examples for quick implementation. See Authentication for token details and Overview for base URL conventions.

GET

/v1/users

Returns a paginated list of users visible to the project token.

Example request

curl -X GET "https://api.cloudapi.dev/v1/users?limit=25" \
  -H "Authorization: Bearer $CLOUDAPI_TOKEN"

Example response

{
  "data": [
    {"id": "usr_8f2", "email": "[email protected]", "role": "admin"}
  ],
  "next_cursor": "usr_8f2"
}
POST

/v1/tokens

Creates a scoped access token for service-to-service use.

Example request

curl -X POST "https://api.cloudapi.dev/v1/tokens" \
  -H "Authorization: Bearer $CLOUDAPI_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "ci-token", "scopes": ["users:read", "usage:read"]}'

Example response

{
  "id": "tok_2c9",
  "token": "cap_****",
  "scopes": ["users:read", "usage:read"]
}
GET

/v1/usage

Fetches aggregated usage metrics for the current billing period.

Example request

curl -X GET "https://api.cloudapi.dev/v1/usage" \
  -H "Authorization: Bearer $CLOUDAPI_TOKEN"

Example response

{
  "period_start": "2026-03-01",
  "period_end": "2026-03-31",
  "requests": 184902,
  "overage": 0
}
DELETE

/v1/keys/{key_id}

Revokes an API key immediately. This action cannot be undone.

Example request

curl -X DELETE "https://api.cloudapi.dev/v1/keys/key_7d1" \
  -H "Authorization: Bearer $CLOUDAPI_TOKEN"

Example response

{
  "id": "key_7d1",
  "revoked": true
}

Frequently asked questions

Concise answers to the most common CloudAPI developer questions.

Use an API key in the Authorization header: Authorization: Bearer <API_KEY>. Keys are created in the dashboard and can be rotated without downtime.