REST API

Available in CrateDB Cloud

CrateDB Cloud provides a RESTful API that enables programmatic access to manage your cloud resources, such as clusters, users, projects, and more.

Overview

To access the API, you must generate an API key and secret from your CrateDB Cloud account. These credentials are used for authentication and authorization and inherit the permissions of the user who created them.

The API keys are bound to your CrateDB Cloud user account. Any actions performed via the API will be executed as your user and with your assigned permissions.


Generating API Keys

  1. Log in to the CrateDB Cloud Console.

  2. Go to your Account page.

  3. Click Generate New Key.

A dialog will display your API key and secret. Important: You will only see the secret once. Make sure to store it securely.


Authentication

You can authenticate API requests using HTTP Basic Authentication, passing your API key as the username and the secret as the password.

Example: Get Current User Details

curl -s -u $YOUR_API_KEY:$YOUR_API_SECRET https://console.cratedb.cloud/api/v2/users/me

Example Response

{
  "email": "user@example.com",
  "hmac": "...",
  "is_superuser": false,
  "name": "User Name",
  "organization_id": "org-123",
  "status": "active",
  "uid": "user-uid",
  "username": "user@example.com"
}

API Documentation

The CrateDB Cloud API is fully documented using Swagger and includes:

  • All available endpoints

  • Required parameters

  • Sample requests and responses

  • HTTP response codes

You can access the API documentation here: 👉 CrateDB Cloud API Docs (login required)


Available Endpoints

The API provides endpoints to manage:

  • ✅ Organizations

  • ✅ Regions

  • ✅ Projects

  • ✅ Clusters

  • ✅ Products

  • ✅ Users

  • ✅ Roles

  • ✅ Subscriptions

  • ✅ Audit logs

Each endpoint is described in detail in the Swagger documentation, including supported methods (GET, POST, DELETE, etc.) and usage examples.


Best Practices

  • Rotate keys regularly to enhance security.

  • Do not share keys or secrets with unauthorized users or store them in version control.

  • Use environment variables to manage secrets in automation scripts or CI/CD pipelines.

Last updated