Kubex (Densify) Public Cloud API

The Kubex (formerly Densify) Public Cloud REST API onboards AWS accounts, Azure subscriptions and GCP projects for machine-learning optimization analysis and returns right-sizing recommendations for EC2/RDS/ASG, Azure VM and VM Scale Set, and GCE resources. It also covers the system inventory, catalog map, analysis webhooks and the customizable Subscriptions surface (properties, tags, suppressions, results and status). JSON over HTTPS under /api/v2, authenticated with a 60-minute JWT bearer token obtained from POST /authorize. Recommendation endpoints content-negotiate to application/terraform-map for direct consumption by infrastructure-as-code.

Operations 1

POST /authorize Obtain a JWT API token #

Documentation

Specifications

OpenAPI
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/openapi/densify-authorize-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/openapi/densify-ping-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/openapi/densify-public-cloud-analysis-aws-analyze-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/openapi/densify-public-cloud-analysis-aws-delete-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/openapi/densify-public-cloud-analysis-aws-results-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/openapi/densify-public-cloud-analysis-azure-analyze-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/openapi/densify-public-cloud-analysis-azure-delete-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/openapi/densify-public-cloud-analysis-azure-results-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/openapi/densify-public-cloud-analysis-gcp-analyze-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/openapi/densify-public-cloud-analysis-gcp-delete-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/openapi/densify-public-cloud-analysis-gcp-results-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/openapi/densify-public-cloud-analysis-webhook-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/openapi/densify-public-cloud-subscriptions-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/openapi/densify-public-cloud-subscriptions-properties-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/openapi/densify-public-cloud-subscriptions-results-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/openapi/densify-public-cloud-subscriptions-status-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/openapi/densify-public-cloud-subscriptions-suppressions-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/openapi/densify-public-cloud-subscriptions-tags-openapi.yaml
OpenAPI
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/openapi/densify-systems-openapi.yaml

Other Resources

🔗
Postman
https://docs.kubex.ai/docs-api/WebHelp_Densify_API_Cloud/Content/API_Guide/Postman_Collection
🔗
PostmanCollection
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/collections/densify-kubex-api.postman_collection.yaml
🔗
Overlay
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/overlays/densify-authorize-overlay.yaml
🔗
Overlay
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/overlays/densify-ping-overlay.yaml
🔗
Overlay
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/overlays/densify-public-cloud-analysis-aws-analyze-overlay.yaml
🔗
Overlay
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/overlays/densify-public-cloud-analysis-aws-delete-overlay.yaml
🔗
Overlay
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/overlays/densify-public-cloud-analysis-aws-results-overlay.yaml
🔗
Overlay
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/overlays/densify-public-cloud-analysis-azure-analyze-overlay.yaml
🔗
Overlay
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/overlays/densify-public-cloud-analysis-azure-delete-overlay.yaml
🔗
Overlay
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/overlays/densify-public-cloud-analysis-azure-results-overlay.yaml
🔗
Overlay
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/overlays/densify-public-cloud-analysis-gcp-analyze-overlay.yaml
🔗
Overlay
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/overlays/densify-public-cloud-analysis-gcp-delete-overlay.yaml
🔗
Overlay
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/overlays/densify-public-cloud-analysis-gcp-results-overlay.yaml
🔗
Overlay
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/overlays/densify-public-cloud-analysis-webhook-overlay.yaml
🔗
Overlay
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/overlays/densify-public-cloud-subscriptions-overlay.yaml
🔗
Overlay
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/overlays/densify-public-cloud-subscriptions-properties-overlay.yaml
🔗
Overlay
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/overlays/densify-public-cloud-subscriptions-results-overlay.yaml
🔗
Overlay
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/overlays/densify-public-cloud-subscriptions-status-overlay.yaml
🔗
Overlay
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/overlays/densify-public-cloud-subscriptions-suppressions-overlay.yaml
🔗
Overlay
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/overlays/densify-public-cloud-subscriptions-tags-overlay.yaml
🔗
Overlay
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/overlays/densify-systems-overlay.yaml
🔗
APIsJSON
https://raw.githubusercontent.com/api-evangelist/densify/refs/heads/main/apis.yml

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/public-cloud-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

densify-authorize-openapi.yaml Raw ↑
openapi: 3.0.3
info:
  title: Kubex Authorize API
  version: "1.0.0"
  description: ""
  contact:
    name: Kubex Support
    email: Support@Kubex.ai

servers:
  - url: https://{host}/api/v2
    variables:
      host:
        default: api.example.com
        description: Replace with your Kubex API host
paths:
  /authorize:
    post:
      tags:
        - Authorization
      operationId: authorize-user
      summary: Obtain a JWT API token
      description: |
        Returns a JWT token for any **active** Kubex user when valid credentials are provided.
        Only tokens for **API-enabled** users can be used to make authorized API calls.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuthorizeRequest'
            examples:
              validCredentials:
                summary: Example request with valid credentials
                value:
                  userName: apiUser
                  pwd: apiPassword
              invalidCredentials:
                summary: Example request with invalid credentials
                value:
                  userName: APIUser
                  pwd: wrongPassword
      responses:
        '200':
            description: Successful authorization
            content:
              application/json:
                schema:
                  $ref: '#/components/schemas/AuthorizeSuccess'
                examples:
                  success:
                    summary: Example successful response
                    value:
                      apiToken: eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiIzNzI2Yzk0NC0wMmE4LTRlYzQtOGE2Ny04ODBmMDM2OTRhZDciLCJpYXQiOjE1NDI2NTI0MDUsInN1YiI6InZhbiIsImlzcyI6IkRlbnNpZnkuY29tIiwiZXhwIjoxNTQyNjUyNzA1fQ.cJd8qFJfRoPnMEU7GzcdYGBT8WwlgmviQ1OQp8P_w9VUcjQA3FJaB9QkqJJ6d7zbrY5yjc4w0rOWjY-PPdbmqw
                      expires: 1542652705869
                      status: 200
        '400':
          description: Bad request (null/invalid payload; empty or invalid userName/pwd)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizeError'
        '401':
          description: Unauthorized (user does not exist, incorrect password, or account locked)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizeError'
              examples:
                unauthorized:
                  summary: Example unauthorized response
                  value:
                    message: Unauthorized
                    status: 401
        '403':
          description: Forbidden (trial or subscription expired)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizeError'
        '429':
          description: Too Many Requests (rate limiting / progressive delay)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizeError'
        '500':
          description: Internal server error (or web server/connectivity issues)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizeError'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: |
        Apply to **other** API endpoints after obtaining a token from `/authorize`.
        Example: `Authorization: Bearer <apiToken>`
  schemas:
    AuthorizeRequest:
      type: object
      required: [userName, pwd]
      properties:
        userName:
          type: string
          description: Username of an **active** Kubex user account
        pwd:
          type: string
          format: password
          description: Password corresponding to `userName`

    AuthorizeSuccess:
      type: object
      required: [apiToken, expires, status]
      properties:
        apiToken:
          type: string
          description: |
            JWT string (RFC 7519) to include as a Bearer token on subsequent requests.
        expires:
          type: number
          format: int64
          description: Epoch time in **milliseconds** when the token expires.
        status:
          type: integer
          description: HTTP status code of the authorization request.
          enum: [200]

    AuthorizeError:
      type: object
      required: [status]
      properties:
        message:
          type: string
          description: Human-readable error message.
        status:
          type: integer
          description: HTTP status code.
          enum: [400, 401, 403, 429, 500]

security: []