{
  "openapi": "3.0.1",
  "info": {
    "title": "Hyperstack API",
    "version": "1.0",
    "description": "The Hyperstack API is a REST API for deploying and managing GPU infrastructure on the Hyperstack cloud, provision virtual machines, manage volumes, configure networking, and access billing data programmatically.\n\n## Base URL\n\nAll requests are sent to:\n\n```\nhttps://infrahub-api.nexgencloud.com/v1\n```\n\n## Request and response format\n\nRequests use standard HTTP methods (`GET`, `POST`, `PUT`, `PATCH`, `DELETE`). Request bodies are `application/json` unless noted otherwise on the endpoint. Responses are `application/json` and follow a consistent envelope of `{status, message, .}`, see the [Pagination](https://docs.hyperstack.cloud/docs/api-reference/pagination) primer for the small set of exceptions.\n\n## Authentication\n\nEvery request requires an API key. Pass it as the `api_key` request header (`api_key: YOUR_API_KEY`). [Generate a key in the Hyperstack console](https://console.hyperstack.cloud/api-keys); see [Authentication](https://docs.hyperstack.cloud/docs/api-reference/authentication) for header formats and rotation guidance."
  },
  "servers": [
    {
      "url": "https://infrahub-api.nexgencloud.com/v1"
    }
  ],
  "security": [
    {
      "apiKey": []
    }
  ],
  "tags": [
    {
      "name": "Auth",
      "description": "Auth endpoints manage organization tokens, including changing the active organization on the current token. Use these endpoints when an account spans multiple organizations and you need to scope subsequent calls to a specific one."
    },
    {
      "name": "Organization",
      "description": "Organization endpoints manage organization-level metadata: name, members, and configuration. Most users belong to a single organization; multi-organization accounts use these endpoints to switch context and manage memberships."
    },
    {
      "name": "API Key",
      "description": "API keys authenticate requests to the Hyperstack API. Generate keys in the console; each key is server-side and scoped to a specific environment. Rotate keys periodically and revoke any key whose secret may have been exposed."
    },
    {
      "name": "Invite",
      "description": "Invite endpoints add and manage users within an organization. Invite a user by email; they accept the invitation and gain access to the organization with the role you specified."
    },
    {
      "name": "Permission",
      "description": "Permission endpoints list the granular permissions defined by Hyperstack. Permissions compose into RBAC roles, which are assigned to organization members. List permissions to discover what's available before building a custom role."
    },
    {
      "name": "User Permission",
      "description": "Permissions assigned to specific users in the calling organization."
    },
    {
      "name": "Policy",
      "description": "Authorization policies that bind permissions to roles."
    },
    {
      "name": "RBAC Role",
      "description": "RBAC role endpoints create, list, update, and delete custom roles. A role is a named bundle of permissions that you can assign to organization members. Built-in roles (`admin`, `member`, `viewer`) cover most cases, create custom roles for finer control."
    },
    {
      "name": "Assigning Member Role",
      "description": "Bulk role assignments for organization members."
    },
    {
      "name": "Dashboard",
      "description": "Aggregate account-level metrics for the calling user, VM and resource counts, recent activity."
    },
    {
      "name": "Stock",
      "description": "GPU and CPU stock availability per flavor and region. Use before deployment to confirm capacity."
    },
    {
      "name": "Environment",
      "description": "An environment is a logical container for resources within a region. Use environments to separate development, staging, and production resources, or to isolate per-team workloads. Most resource endpoints require an environment name in the request."
    },
    {
      "name": "Virtual Machine",
      "description": "A virtual machine on Hyperstack is a single-tenant compute instance backed by dedicated GPU and CPU resources. Each VM runs in a region, attaches a root volume and optional data volumes, and is protected by an environment-scoped firewall. Most workflows follow this lifecycle: deploy → attach data volumes → run workload → snapshot → terminate. For long-running development VMs, hibernation is the cost-effective alternative to termination."
    },
    {
      "name": "Flavor",
      "description": "A flavor is a machine type, its CPU count, memory, and GPU configuration. Flavors are region-specific. List flavors before deploying a virtual machine to find one available in your target region with the GPU and resource shape you need."
    },
    {
      "name": "Image",
      "description": "An image is the operating system disk a virtual machine boots from. Images include Ubuntu, Rocky Linux, and other distributions, with optional pre-installed CUDA or AI/ML frameworks. Images are region-scoped, list images per region to find what's available before deploying."
    },
    {
      "name": "Keypair",
      "description": "A keypair is an SSH public/private key pair used to authenticate into virtual machines after deployment. Generate the keypair locally, register the public key with Hyperstack, then reference the keypair name when deploying a VM. Hyperstack never stores private keys."
    },
    {
      "name": "VNC URL",
      "description": "Console-access URLs for connecting to a virtual machine over VNC."
    },
    {
      "name": "Volume",
      "description": "A volume is persistent block storage that attaches to a virtual machine. Volumes are region-scoped and can be detached and reattached to other VMs in the same region. Snapshots capture a point-in-time copy of a volume that can be restored to any new volume of equal or greater size."
    },
    {
      "name": "Volume Attachment",
      "description": "Volume attachment endpoints manage the binding between a volume and a virtual machine. A volume can be attached to one VM at a time. Detach a volume before attaching it elsewhere; the data persists on the volume across attachments."
    },
    {
      "name": "GPU",
      "description": "GPU model availability and stock per region."
    },
    {
      "name": "Callbacks",
      "description": "Webhook callback registrations on virtual machines and volumes for state-change notifications."
    },
    {
      "name": "Floating IP",
      "description": "A floating IP is a static public IPv4 address that can be assigned to a virtual machine. Floating IPs persist across VM lifecycle events, detach from one VM and reattach to another to keep the address. Allocating a floating IP without attaching it incurs a small reservation fee."
    },
    {
      "name": "Region",
      "description": "A region is a geographic location where Hyperstack hosts compute and storage. Resources are region-scoped, virtual machines, volumes, snapshots, and firewalls all belong to exactly one region. List regions to discover which are available to your account."
    },
    {
      "name": "Profile",
      "description": "Saved virtual-machine deployment configurations that can be reused across new VMs."
    },
    {
      "name": "Clusters",
      "description": "A cluster is a managed Kubernetes cluster on Hyperstack, control plane + worker nodes preconfigured for GPU workloads. Clusters are region-scoped and can attach data volumes via Container Storage Interface (CSI) drivers. Most workflows: deploy cluster → configure storage → deploy workload → autoscale workers."
    },
    {
      "name": "Firewalls",
      "description": "A firewall is a set of inbound and outbound rules scoped to an environment. Attach a firewall to one or more virtual machines or Kubernetes clusters to control which network traffic each resource can send and receive. Default rules block all inbound traffic, add explicit allow rules for SSH, HTTP, or any service you need to expose."
    },
    {
      "name": "User Detail Choice",
      "description": "User-specific configuration choices (profile preferences, defaults)."
    },
    {
      "name": "Snapshots",
      "description": "A snapshot is a point-in-time copy of a virtual machine or volume. Snapshots are stored in the same region as the source resource and can be used to clone, restore, or migrate state. Snapshot creation is non-blocking, the source VM remains running while the snapshot completes in the background."
    },
    {
      "name": "FIP Exclusions",
      "description": "FIP exclusion endpoints manage which virtual machines are exempt from automatic floating-IP detachment policies."
    },
    {
      "name": "Pricebook",
      "description": "Pricebook endpoints expose Hyperstack's pricing for compute, storage, and networking resources. Use these to estimate costs before deploying or to surface live pricing in your application."
    },
    {
      "name": "Calculate",
      "description": "Calculate endpoints return billing-rate breakdowns for specific resources. Provide a resource type and ID to retrieve its hourly cost, including pre- and post-discount components."
    },
    {
      "name": "Customer Contract",
      "description": "Customer contract endpoints retrieve negotiated pricing terms applied to your account. Contracts override standard pricebook rates for the resources they cover."
    },
    {
      "name": "Alive",
      "description": "Service liveness check for the billing API. Use to confirm the billing service is reachable."
    },
    {
      "name": "Billing",
      "description": "Billing endpoints expose your account's billing history, current credit balance, payment history, and usage costs. Use these to reconcile spend, build internal cost reports, or trigger alerts when balances drop below a threshold."
    },
    {
      "name": "Vouchers",
      "description": "Voucher endpoints redeem promotional codes to add credit to your account. Vouchers are single-use."
    },
    {
      "name": "Credit",
      "description": "Credit endpoints retrieve your account's current credit balance. Credits are consumed by resource usage and replenished via payments or vouchers."
    },
    {
      "name": "Payment",
      "description": "Payment endpoints initiate and retrieve payments. Use these to add funds to your account programmatically or to fetch receipts for reconciliation."
    },
    {
      "name": "User",
      "description": "Account-level user information and billing identity."
    },
    {
      "name": "Access Keys",
      "description": "Access keys authenticate S3-compatible object storage operations. Each key has an access ID and a secret. Generate access keys via this API or in the console, then use them to sign requests to bucket endpoints."
    },
    {
      "name": "Buckets",
      "description": "A bucket is an S3-compatible object storage container. Buckets are region-scoped and accessed via standard S3 SDKs once you have access keys. Use these endpoints to list and delete buckets, bucket creation happens through the S3 protocol against the bucket endpoint URL, not this API."
    },
    {
      "name": "Health",
      "description": "Service liveness check for object storage. Use to confirm the object-storage service is reachable."
    },
    {
      "name": "Regions",
      "description": "Regions where object storage is available."
    },
    {
      "name": "User Consent",
      "description": "User Consent endpoints record each user's grant or revoke decision for a given consent type (e.g. marketing communications, data-sharing terms). Use these endpoints to read what consent has been granted, fetch current consent templates, and update consent state programmatically."
    },
    {
      "name": "Email Preferences",
      "description": "Email preference endpoints control which optional email notifications Hyperstack sends to your account. Use them to read your current preferences and change them, individually or all at once. See the [**Email Notification Preferences guide**](https://docs.hyperstack.cloud/docs/resource-management/email-notifications) for the full feature walkthrough."
    }
  ],
  "paths": {
    "/api-key": {
      "get": {
        "tags": [
          "API Key"
        ],
        "summary": "Retrieve API keys",
        "description": "Retrieves a list of your API keys that can be used to [**authenticate**](https://docs.hyperstack.cloud/docs/api-reference/authentication) Hyperstack API requests.",
        "operationId": "Get_API_Key",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetApiKeysResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Getting API Keys success",
                  "api_keys": [
                    {
                      "id": 1129,
                      "name": "api-example-key",
                      "description": "",
                      "key": "********-****-****-****-********be9a",
                      "created_at": "2026-05-06T15:18:42Z"
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting API Keys success",
                      "api_keys": [
                        {
                          "id": 1129,
                          "name": "api-example-key",
                          "description": "",
                          "key": "********-****-****-****-********be9a",
                          "created_at": "2026-05-06T15:18:42Z"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/api-key/generate": {
      "post": {
        "tags": [
          "API Key"
        ],
        "summary": "Generate API key",
        "description": "Generates a new API key for use in authenticating API requests. Provide the API key `name` in the request body, plus an optional `description`. For details on how to pass the key in subsequent requests, see [**Authentication**](https://docs.hyperstack.cloud/docs/api-reference/authentication).",
        "operationId": "Generate_API_Key",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateUpdateApiKeyPayload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateUpdateApiKeyResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden\n\nCommon cause: `error_reason: forbidden`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Forbidden",
                    "value": {
                      "status": false,
                      "message": "Maximum API key limit reached",
                      "error_reason": "forbidden"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "Maximum API key limit reached",
                  "error_reason": "forbidden"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": []
      }
    },
    "/api-key/{api_key_id}": {
      "put": {
        "tags": [
          "API Key"
        ],
        "summary": "Update API key",
        "description": "Updates the name and optionally the description of a specified API key. Include the ID of the API key in the path and the new name and optional description in the body of the request. To retrieve the ID of the API key call the [**List API Keys**](https://docs.hyperstack.cloud/docs/api-reference/get-api-key) API.",
        "operationId": "Update_API_Key",
        "parameters": [
          {
            "name": "api_key_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the API key."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateUpdateApiKeyPayload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateUpdateApiKeyResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "delete": {
        "tags": [
          "API Key"
        ],
        "summary": "Delete API key",
        "description": "Delete a specified API key by including the ID of the API key in the path. To retrieve the ID of the API key call the [**List API Keys**](https://docs.hyperstack.cloud/docs/api-reference/get-api-key) API.",
        "operationId": "Delete_API_Key",
        "parameters": [
          {
            "name": "api_key_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the API key."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/auth/invites": {
      "get": {
        "tags": [
          "Invite"
        ],
        "summary": "List Invites",
        "description": "Retrieves a list of existing email invitations to join your [**organization**](https://docs.hyperstack.cloud/docs/resource-management/organization) along with their details, including the email addresses to which invitations have been sent, the status of each invitation, and the timestamp of when it was sent.",
        "operationId": "List_Invites",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetInvitesResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Getting invites successful",
                  "invites": [
                    {
                      "id": 8429,
                      "email": "user@example.com",
                      "status": "CONFIRMATION_PENDING",
                      "created_at": "2026-05-07T09:21:55Z"
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting invites successful",
                      "invites": [
                        {
                          "id": 8429,
                          "email": "user@example.com",
                          "status": "CONFIRMATION_PENDING",
                          "created_at": "2026-05-07T09:21:55Z"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "Invite"
        ],
        "summary": "Invite user to organization",
        "description": "Sends an invitation for a user to join your [**organization**](https://docs.hyperstack.cloud/docs/resource-management/organization). Include the email of the user to be invited in the request body.",
        "operationId": "Invite_User_to_Organization",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InviteUserPayload",
                "example": {
                  "email": "user@example.com"
                },
                "properties": {}
              },
              "example": {
                "email": "user@example.com"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InviteUserResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Inviting user successful",
                  "invite": {
                    "id": 4501,
                    "email": "user@example.com",
                    "status": "EMAIL_SENT",
                    "created_at": "2026-05-07T11:47:30Z"
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Inviting user successful",
                      "invite": {
                        "id": 4501,
                        "email": "user@example.com",
                        "status": "EMAIL_SENT",
                        "created_at": "2026-05-07T11:47:30Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/auth/invites/{id}": {
      "delete": {
        "tags": [
          "Invite"
        ],
        "summary": "Accept Invite",
        "description": "Deletes an invitation for a user to join your [**organization**](https://docs.hyperstack.cloud/docs/resource-management/organization). Include the ID of the invitation to be deleted in the path. You can obtain the IDs of outstanding invitations by calling the [**List Organization Invites**](https://docs.hyperstack.cloud/docs/api-reference/list-invites) endpoint.",
        "operationId": "Delete_Invite",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the invite."
          }
        ],
        "responses": {
          "200": {
            "description": "Invite accepted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Invite deleted successfully"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Invite deleted successfully"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/auth/invites/{id}/accept": {
      "get": {
        "tags": [
          "Invite"
        ],
        "summary": "Accept Invite",
        "description": "Accept an invitation for a user to join your organization.",
        "operationId": "Accept_Invite",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the invite."
          }
        ],
        "responses": {
          "200": {
            "description": "Invite deleted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found\n\nCommon cause: `error_reason: not_found`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Not Found",
                    "value": {
                      "status": false,
                      "message": "Not found",
                      "error_reason": "not_found"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "Not found",
                  "error_reason": "not_found"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/auth/me": {
      "get": {
        "tags": [
          "Auth"
        ],
        "summary": "Retrieve authenticated user details",
        "description": "Retrieves information about the currently authenticated user, including your name, username, email associated with your account, and timestamp of account creation.",
        "operationId": "Get_Authenticated_User",
        "responses": {
          "200": {
            "description": "User Information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthUserInfoResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Auth user",
                  "user": {
                    "email": "user@example.com",
                    "name": "Jane Doe",
                    "username": "Jane Doe",
                    "created_at": "2026-05-06T15:18:42Z",
                    "has_social_login": false
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Auth user",
                      "user": {
                        "email": "user@example.com",
                        "name": "Jane Doe",
                        "username": "Jane Doe",
                        "created_at": "2026-05-06T15:18:42Z",
                        "has_social_login": false
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/auth/me/mfa": {
      "get": {
        "tags": [
          "Auth"
        ],
        "summary": "Get MFA status for authenticated user",
        "description": "Retrieve the Multi-Factor Authentication (MFA) status for the currently authenticated user. Includes whether MFA is enabled.",
        "operationId": "Get_User_MFA_Status",
        "responses": {
          "200": {
            "description": "MFA Status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MFAStatusResponse"
                },
                "example": {
                  "status": true,
                  "message": "MFA status retrieved successfully",
                  "mfa": {
                    "mfa_enabled": true
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "MFA status retrieved successfully",
                      "mfa": {
                        "mfa_enabled": true
                      }
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "User not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/auth/me/mfa/disable": {
      "post": {
        "tags": [
          "Auth"
        ],
        "description": "Disable Multi-Factor Authentication (MFA) for the currently authenticated user. This endpoint is used to turn off MFA.",
        "operationId": "Disable_MFA",
        "responses": {
          "200": {
            "description": "MFA Disabled",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - CSRF validation failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "User not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "Disable MFA on the calling user"
      }
    },
    "/auth/me/organizations": {
      "get": {
        "tags": [
          "Auth"
        ],
        "summary": "Get user organizations",
        "description": "Retrieve the organizations associated with a user by their user ID. This endpoint is useful for understanding the user's organizational affiliations.\n\n> **Non-standard envelope:** This endpoint returns only `{\"organizations\": [.]}`, no `status` or `message` field.",
        "operationId": "Get_User_Organizations",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserOrganizationsResponse"
                },
                "example": {
                  "organizations": [
                    {
                      "id": 2058,
                      "name": "Example Organization"
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "organizations": [
                        {
                          "id": 2058,
                          "name": "Example Organization"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/auth/organizations": {
      "get": {
        "tags": [
          "Organization"
        ],
        "summary": "Retrieve organization information",
        "description": "Retrieves information about your [**organization**](https://docs.hyperstack.cloud/docs/resource-management/organization) and its members. This includes the organization's name, date of creation, and details about each member, such as their name, email, roles, and more.",
        "operationId": "Retrieve_Organization_Information",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetOrganizationResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Successfully retrieved organizations info",
                  "organization": {
                    "id": 5341,
                    "name": "Example Organization",
                    "created_at": "2026-05-06T14:32:11Z",
                    "users": [
                      {
                        "id": 3287,
                        "sub": "5c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d",
                        "email": "user@example.com",
                        "username": "Jane Doe",
                        "name": "Jane Doe",
                        "role": "Owner",
                        "rbac_roles": [],
                        "last_login": "2026-05-07T11:47:30Z",
                        "created_at": "2026-05-06T16:04:09Z"
                      }
                    ]
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Successfully retrieved organizations info",
                      "organization": {
                        "id": 5341,
                        "name": "Example Organization",
                        "created_at": "2026-05-06T14:32:11Z",
                        "users": [
                          {
                            "id": 3287,
                            "sub": "5c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d",
                            "email": "user@example.com",
                            "username": "Jane Doe",
                            "name": "Jane Doe",
                            "role": "Owner",
                            "rbac_roles": [],
                            "last_login": "2026-05-07T11:47:30Z",
                            "created_at": "2026-05-06T16:04:09Z"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/auth/organizations/remove-member": {
      "post": {
        "tags": [
          "Organization"
        ],
        "summary": "Remove organization member",
        "description": "Removes a member from your [**organization**](https://docs.hyperstack.cloud/docs/resource-management/organization). Include the email of the user to be removed in the request body.",
        "operationId": "Remove_Organization_Member",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemoveMemberPayload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RemoveMemberFromOrganizationResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/auth/organizations/update": {
      "put": {
        "tags": [
          "Organization"
        ],
        "summary": "Update organization information",
        "description": "Updates the name of your [**organization**](https://docs.hyperstack.cloud/docs/resource-management/organization). Specify the new organization `name` in the request body.",
        "operationId": "Update_Organization_Information",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOrganizationPayload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateOrganizationResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/auth/permissions": {
      "get": {
        "tags": [
          "Permission"
        ],
        "summary": "List Permissions",
        "description": "Returns a list of [**permissions**](https://docs.hyperstack.cloud/docs/resource-management/organization#user-roles) that can be granted to users providing them with access to a specific resource action.",
        "operationId": "List_Permissions",
        "responses": {
          "200": {
            "description": "Getting permissions success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetPermissionsResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Getting permissions success",
                  "permissions": [
                    {
                      "id": 6190,
                      "resource": "Environment",
                      "permission": "environment:list",
                      "method": "GET",
                      "endpoint": "^/core/environments/?$",
                      "created_at": "2026-05-06T14:32:11Z"
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting permissions success",
                      "permissions": [
                        {
                          "id": 6190,
                          "resource": "Environment",
                          "permission": "environment:list",
                          "method": "GET",
                          "endpoint": "^/core/environments/?$",
                          "created_at": "2026-05-06T14:32:11Z"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/auth/policies": {
      "get": {
        "tags": [
          "Policy"
        ],
        "summary": "List Policies",
        "description": "Returns a list of [**policies**](https://docs.hyperstack.cloud/docs/resource-management/organization#user-roles) that can be added to RBAC roles. Assigning these policies to a user provides them with access to commonly used sets of permissions, allowing specific resource actions.",
        "operationId": "List_Policies",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetPoliciesResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Getting policies success",
                  "policies": [
                    {
                      "id": 2058,
                      "name": "policy:AllPermissions",
                      "description": "Grants all permissions to all resources",
                      "permissions": [
                        {
                          "id": 7613,
                          "resource": "Environment",
                          "permission": "environment:list"
                        },
                        {
                          "id": 3287,
                          "resource": "Environment",
                          "permission": "environment:create"
                        },
                        {
                          "id": 8429,
                          "resource": "Environment",
                          "permission": "environment:details"
                        }
                      ],
                      "created_at": "2026-05-07T11:47:30Z"
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting policies success",
                      "policies": [
                        {
                          "id": 2058,
                          "name": "policy:AllPermissions",
                          "description": "Grants all permissions to all resources",
                          "permissions": [
                            {
                              "id": 7613,
                              "resource": "Environment",
                              "permission": "environment:list"
                            },
                            {
                              "id": 3287,
                              "resource": "Environment",
                              "permission": "environment:create"
                            },
                            {
                              "id": 8429,
                              "resource": "Environment",
                              "permission": "environment:details"
                            }
                          ],
                          "created_at": "2026-05-07T11:47:30Z"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/auth/roles": {
      "get": {
        "tags": [
          "RBAC Role"
        ],
        "summary": "List RBAC roles",
        "description": "Returns a list of existing [**Role-Based Access Control (RBAC)**](https://docs.hyperstack.cloud/docs/resource-management/organization#user-roles) roles that can be assigned to users, granting them permissions and policies associated with the role, enabling them to execute specific resource actions.",
        "operationId": "List_RBAC_Roles",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetRbacRolesResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Getting RBAC roles success",
                  "roles": [
                    {
                      "id": 3287,
                      "name": "example-role",
                      "description": "Example role",
                      "policies": [],
                      "permissions": [],
                      "created_at": "2026-05-06T16:04:09Z"
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting RBAC roles success",
                      "roles": [
                        {
                          "id": 3287,
                          "name": "example-role",
                          "description": "Example role",
                          "policies": [],
                          "permissions": [],
                          "created_at": "2026-05-06T16:04:09Z"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "RBAC Role"
        ],
        "summary": "Create RBAC role",
        "description": "Creates a [**Role-Based Access Control (RBAC)**](https://docs.hyperstack.cloud/docs/resource-management/organization#user-roles) role that can be assigned to users in your organization. Provide the role configuration, including its name, description, and list of permission and policy IDs, in the request body.\n\n**Required fields:** The request must include at least one valid ID for either the `policies` or `permissions` field.",
        "operationId": "Create_RBAC_Role",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUpdateRbacRolePayload",
                "example": {
                  "name": "example-role",
                  "description": "Example role",
                  "policies": [],
                  "permissions": []
                },
                "properties": {}
              },
              "example": {
                "description": "Example role",
                "name": "example-role",
                "policies": [],
                "permissions": []
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RbacRoleDetailResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Creating RBAC role success",
                  "role": {
                    "id": 8429,
                    "name": "example-role",
                    "description": "Example role",
                    "policies": [],
                    "permissions": [],
                    "created_at": "2026-05-07T09:21:55Z"
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Creating RBAC role success",
                      "role": {
                        "id": 8429,
                        "name": "example-role",
                        "description": "Example role",
                        "policies": [],
                        "permissions": [],
                        "created_at": "2026-05-07T09:21:55Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/auth/roles/{id}": {
      "get": {
        "tags": [
          "RBAC Role"
        ],
        "summary": "Retrieve RBAC role details",
        "description": "Retrieves the details of a specified [**Role-Based Access Control (RBAC)**](https://docs.hyperstack.cloud/docs/resource-management/organization#user-roles) including the permissions and policies associated with the role. Include the ID of the role in the path to retrieve its details.",
        "operationId": "Retrieve_RBAC_Role_Details",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the role."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RbacRoleDetailResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Getting RBAC role detail success",
                  "roles": {
                    "id": 9876,
                    "name": "example-role",
                    "description": "Example role",
                    "policies": [],
                    "permissions": [],
                    "created_at": "2026-05-07T09:21:55Z"
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting RBAC role detail success",
                      "roles": {
                        "id": 9876,
                        "name": "example-role",
                        "description": "Example role",
                        "policies": [],
                        "permissions": [],
                        "created_at": "2026-05-07T09:21:55Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "put": {
        "tags": [
          "RBAC Role"
        ],
        "summary": "Update RBAC role",
        "description": "Updates the configuration of a specified [**Role-Based Access Control (RBAC)**](https://docs.hyperstack.cloud/docs/resource-management/organization#user-roles) role, including its permissions, policies, name, and description.\n\n**Required fields:** The request must include at least one valid ID for either the `policies` or `permissions` field.",
        "operationId": "Update_RBAC_Role",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the role."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUpdateRbacRolePayload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RbacRoleDetailResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "delete": {
        "tags": [
          "RBAC Role"
        ],
        "summary": "Delete RBAC role",
        "description": "Deletes a specified [**Role-Based Access Control (RBAC)**](https://docs.hyperstack.cloud/docs/resource-management/organization#user-roles) role. Include the ID of the role to be deleted in the path.",
        "operationId": "Delete_RBAC_Role",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the role."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "RBAC Role deleted successfully"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "RBAC Role deleted successfully"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/auth/token/change-org/{org_id}": {
      "get": {
        "tags": [
          "Auth"
        ],
        "description": "Returns a new access token scoped to an organization you already belong to, so your following requests act on that organization. Switching does not move your account between organizations or change your membership.",
        "operationId": "Change_Organization_for_Token",
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the organization."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthGetTokenResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "Switch organization"
      }
    },
    "/auth/users/me/permissions": {
      "get": {
        "tags": [
          "User Permission"
        ],
        "summary": "List my user permissions",
        "description": "Retrieves a list of [**permissions**](https://docs.hyperstack.cloud/docs/resource-management/organization#user-roles) granted to a specific user within your organization. Obtain the ID of the organization member using the [**Retrieve Organization Details**](https://docs.hyperstack.cloud/docs/api-reference/retrieve-organization-information) endpoint, and include the ID in the path.",
        "operationId": "List_My_User_Permissions",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetUserPermissionsResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Getting my permissions successfully",
                  "permissions": [
                    {
                      "id": 6190,
                      "resource": "Environment",
                      "permission": "environment:list"
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting my permissions successfully",
                      "permissions": [
                        {
                          "id": 6190,
                          "resource": "Environment",
                          "permission": "environment:list"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/auth/users/{id}/permissions": {
      "get": {
        "tags": [
          "User Permission"
        ],
        "summary": "List user permissions",
        "description": "Retrieves a list of permissions granted to a specific user within your organization. Provide the ID of the user in the path. For additional information on user permissions,.",
        "operationId": "List_User_Permissions",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the user."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetUserPermissionsResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "405": {
            "description": "Method Not Allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/auth/users/{user_id}/assign-roles": {
      "put": {
        "tags": [
          "Assigning Member Role"
        ],
        "summary": "Assign RBAC role",
        "description": "Assigns a [**Role-Based Access Control (RBAC)**](https://docs.hyperstack.cloud/docs/resource-management/organization#user-roles) role to a member of your [**organization**](https://docs.hyperstack.cloud/docs/resource-management/organization), granting them the resource actions permitted by the role's permissions and policies. Include the user ID in the path and the RBAC role ID in the request body.\n\n- To obtain the user ID, call the [**Retrieve organization information**](https://docs.hyperstack.cloud/docs/api-reference/retrieve-organization-information) endpoint.\n- To obtain the RBAC role ID, call the [**List RBAC roles**](https://docs.hyperstack.cloud/docs/api-reference/list-rbac-roles) endpoint.",
        "operationId": "Assign_RBAC_Role_to_User",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the user."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AssignRbacRolePayload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RbacRoleDetailResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/auth/users/{user_id}/roles": {
      "delete": {
        "tags": [
          "Assigning Member Role"
        ],
        "summary": "Remove RBAC role from user",
        "description": "Removes a [**Role-Based Access Control (RBAC)**](https://docs.hyperstack.cloud/docs/resource-management/organization#user-roles) role from a member of your [**organization**](https://docs.hyperstack.cloud/docs/resource-management/organization), revoking the resource actions permitted by the role's permissions and policies. Include the user ID in the path.\n\nTo obtain the user ID, call the [**Retrieve organization information**](https://docs.hyperstack.cloud/docs/api-reference/retrieve-organization-information) endpoint.",
        "operationId": "Remove_RBAC_Role_From_User",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the user."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/clusters": {
      "get": {
        "tags": [
          "Clusters"
        ],
        "summary": "List Clusters",
        "operationId": "List_Clusters",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number for pagination",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Number of items per page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "environment",
            "in": "query",
            "description": "Filter results to the specified environment.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search query to filter cluster by name",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusterListResponse"
                },
                "example": {
                  "status": true,
                  "message": "Getting clusters success",
                  "page": 1,
                  "page_size": 10,
                  "count": 1,
                  "clusters": [
                    {
                      "id": 9876,
                      "name": "example-c1",
                      "environment_name": "example-environment",
                      "environment_region": "NORWAY-1",
                      "kubernetes_version": "1.35.1",
                      "api_address": "https://api.example-c1-8a1cf2.example-environment.hyperstackcustomers.cloud:6443",
                      "kube_config": "YXBpVmVyc2lvbjogdjEKY2x1c3RlcnM6Ci0gY2x1c3RlcjoKICAgIGNlcnRpZmljYXRlLWF1dGhvcml0eS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VSQ1ZFTkRRV1V5WjBGM1NVSkJaMGxKU0ZWVmFubzVTbEYwYmtsM1JGRlpTa3R2V2tsb2RtTk9RVkZGVEVKUlFYZEdWRVZVVFVKRlIwRXhWVVVLUVhoTlMyRXpWbWxhV0VwMVdsaFNiR042UVdWR2R6QjVUbXBCTVUxRVkzaE9lbFY1VFZSQ1lVWjNNSHBPYWtFeFRVUlJlRTU2VlROTlZFSmhUVUpWZUFwRmVrRlNRbWRPVmtKQlRWUkRiWFF4V1cxV2VXSnRWakJhV0UxM1oyZEZhVTFCTUVkRFUzRkhVMGxpTTBSUlJVSkJVVlZCUVRSSlFrUjNRWGRuWjBWTENrRnZTVUpCVVVNM1JVdFNlamRsTjNSaUsxTjZWa2RoT1c1R1RrSklXR2hHSzFka2VYQkRiMGd6WjB4blpWQnZRbTlpZUM4d1RsWjZkSHBLYTJJMWJUUUtZbUl6ZGtSbE5VTmtiSFVyYkhWcFMzRllXbWhQV0hwV05taEdWR05aYTNwTGFrUlZjMlZRU0ZaWk5XZG5Na1pDTURsdFkwVk5iMnhzUkhaV1owWldSQXBWTjJ0YVNIaDZUVGwzWjBWeGVqQkRiM2RCYUZGcFJXaFdRVVpJVHpVNU16bEpjRnBtZVdkaFVXVmlZbGx5ZUdadmMyVldZaTlHT1hOdVZ6SXdVRE01Q2pWTVluUXJPR3hNVEdKRFFrTXdNMG93V0dGU1NVUlVRbXRYZURSWlZWbDRTM05QY0dOU01tbENhVkpKYWsxamJrdHdNVTkwV21sQ2EycHdUV3RxYkcwS2EzaDVZbk13ZFRkblFucElObHBZYVZoMVJYUTVSMVJPTHpVMmRrTTNZelZxY0c5TVIyWjFRbmhsV1RoUlltWlVTRUpVYW0xWVpXUk1keXRJTlRrelNRcEllRXAwTW1oSVJqRkJiRVk0UlUxUVMwZGpNR2h6ZEdoSldtdHFRV2ROUWtGQlIycFhWRUpZVFVFMFIwRXhWV1JFZDBWQ0wzZFJSVUYzU1VOd1JFRlFDa0puVGxaSVVrMUNRV1k0UlVKVVFVUkJVVWd2VFVJd1IwRXhWV1JFWjFGWFFrSlVMM0ZKT1doYWRDdFdOMVZXTWtORWEyRk1XRXBWT1VOM1JteEVRVllLUW1kT1ZraFNSVVZFYWtGTloyZHdjbVJYU214amJUVnNaRWRXZWsxQk1FZERVM0ZIVTBsaU0wUlJSVUpEZDFWQlFUUkpRa0ZSUVU1Q1puSTBUa2xYUndwa00xRjZVa04yUzJsd2VIQkxUemRXT1VwMldsUnBSRFZDUVZoUWVHbFpObVp2YUdGSlpFeFZRVGNyWVVGSk9USlpUbnBpTVVWTlFUaDVlbll3Yml0TkNteDBkR2xNYzFaU2VGaFdSVFVyU1dRNFFUSklORXN3ZVhoR2RVNTZNRmd4VlVONE5sRm9WM2xaTlZGamRreHVVbUYzUjB0a1VIVnZXRkpJTkdOWFRGY0tRV1ZuUjFSRk1Fa3hWV3d5ZG1wd1FsQnZWR0ZWY1RScmFqSmpSRGc1S3pkWFpGTlpSRmN5VXpoMWNIaFBaVkpQWjJkQ00wOXRZMVJ6VFROcWRYQjRXUXBhVkVKQlNpdEJVRmswTUU5Q05raFNRVWc1TnpORGIyOW9iSEpZZDFOVFJESlZWbkV4ZG5kTWIwczNhbkJKUm01R1psTXlVVUZNWVd0WmIycGpZVkJNQ2xFM2JYTk5ka1JqZDFWV01HTTBXRXhNYVZSNWFEZHhZa2RzYlU5YVIwY3lhVFp3TjNKTVlUSlJNVzFLSzNkTWRVVlBNVkJLV1VOQk16RXdOMDk1UkZrS2NFRkZVMDg0YzFSa1kwZEVDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsKICAgIHNlcnZlcjogaHR0cHM6Ly9hcGkuYXBpdGVzdC01NTJmODI2YS1jMS04YTFjZjIuYXBpdGVzdC01NTJmODI2YS1lbnYuaHlwZXJzdGFja2N1c3RvbWVycy5jbG91ZDo2NDQzCiAgbmFtZTogYXBpdGVzdC01NTJmODI2YS1jMS04YTFjZjIKY29udGV4dHM6Ci0gY29udGV4dDoKICAgIGNsdXN0ZXI6IGFwaXRlc3QtNTUyZjgyNmEtYzEtOGExY2YyCiAgICB1c2VyOiBrdWJlcm5ldGVzLWFkbWluCiAgbmFtZToga3ViZXJuZXRlcy1hZG1pbkBhcGl0ZXN0LTU1MmY4MjZhLWMxLThhMWNmMgpjdXJyZW50LWNvbnRleHQ6IGt1YmVybmV0ZXMtYWRtaW5AYXBpdGVzdC01NTJmODI2YS1jMS04YTFjZjIKa2luZDogQ29uZmlnCnVzZXJzOgotIG5hbWU6IGt1YmVybmV0ZXMtYWRtaW4KICB1c2VyOgogICAgY2xpZW50LWNlcnRpZmljYXRlLWRhdGE6IExTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVVJMVkVORFFXaEhaMEYzU1VKQlowbEpXV05zY1d4b1dUUlFaR2QzUkZGWlNrdHZXa2xvZG1OT1FWRkZURUpSUVhkR1ZFVlVUVUpGUjBFeFZVVUtRWGhOUzJFelZtbGFXRXAxV2xoU2JHTjZRV1ZHZHpCNVRtcEJNVTFFWTNoT2VsVjVUVlJDWVVaM01IbE9la0V4VFVSamVFNTZWVE5OVkVKaFRVUjNlQXBJZWtGa1FtZE9Wa0pCYjFSR2JYUXhXVzFXYUZwSE1EWlpNbmd4WXpOU2JHTnBNV2hhUnpGd1ltNU5lRWRVUVZoQ1owNVdRa0ZOVkVWSGRERlpiVlo1Q21KdFZqQmFXRTEwV1ZkU2RHRlhOSGRuWjBWcFRVRXdSME5UY1VkVFNXSXpSRkZGUWtGUlZVRkJORWxDUkhkQmQyZG5SVXRCYjBsQ1FWRkRkbWw2YUZVS1ZrMTNSMGx5UzBoTlRHeHJVVkp5S3psNGRIWlVXVWR5TW1WSWJqTTNXRU5MT1V0UlFUTlVTbVUyTUVzeE1VOURNMWR4YW1GblVHOVBkRlJNUzJGbmFncFNVVW9yYURKNVJFTktXbVExYmxKU2JGYzBRMmhIT0dacU1qZFZTMk5CZG0xdFduWklkVGRPVm5SaFQxVXJWM0E1ZEhScVNIQllOMFpwWTFSTVpUSXZDbnBaVHpSRVJYbHdVMDlIYTJkb1QxQjNUM05RY0VGU2MwdFpaVTlXWWxoM1RXVnlVbVZCUTNNM1dqVnJWVE4wV1hJd1kybzVVVkZqYmxGUFUwaE5TSFVLTld4clNtTjFSbmhpZWtwNWVWQllXVTlsTVM5cGNtdFliVmx3VVV0aGJGUlJSMVV6UmpsS05XcFFUR3hTTVhsMVNEZExWVkJWVW1aRVowa3hSRloxZHdwTFVsaGFUak5GYm14Q2NFcHpVR2Q2ZUV0NGJ5c3ZSa0p2TTAxd2FrOXZNRXRHY2tVcmVXSXdiVzQwT0hwS2MyUlhjbTFUU1VNeWVYRkZPRUpOZWxaMENqWkdlVzU2YUZwV01scFZPR3czVlZwQlowMUNRVUZIYWxacVFsVk5RVFJIUVRGVlpFUjNSVUl2ZDFGRlFYZEpSbTlFUVZSQ1owNVdTRk5WUlVSRVFVc0tRbWRuY2tKblJVWkNVV05FUVdwQlRVSm5UbFpJVWsxQ1FXWTRSVUZxUVVGTlFqaEhRVEZWWkVsM1VWbE5RbUZCUmxBcmIyb3lSbTB6TlZoMFVsaFpTUXBQVW05MFkyeFVNRXhCVjFWTlFUQkhRMU54UjFOSllqTkVVVVZDUTNkVlFVRTBTVUpCVVVFMVYyUnRTMVpLVm1SUWVHbHJSMEprVkZFclVXNUxaek0zQ2pSc1NUQjFkV1JrYkRFeWNqRjJPSGh5WldaR1YzRktXRXB2VFd0cU1XZ3hZazE1YjB4c2IzTkdTa2hSWmtSMWJsRnpUR1ExYkV4Skx6WjZORXhoYUdvS2R6ZzBjbGxSTmtwa05IRmFhVmhGWkU1WGNYbHpXRTFWY1hFME5uQlRVazVHV0doT1JEZ3ZZamhRWW04NE5XWTRVbTVuVG5FME0yMVRlR1pNZEdKRVRncElTblE1UlRseFMwSndXV3gwY25SU1VFRnhNMGt6TW5sTGJFUnZVR3hzTWswelNFOXhjRmRUT1V0QlNVZzFWVzAxWm1KRmJWbExNVk50VlhnMWFtOHhDakJKZW1aTGRrRnVabmRrYzB4WVJVY3dLM0o2VFRRelFuVXJUbEE1VlZFNVJVeEliRlZpY1hBeFYwdG5lbXN5ZUZoWU5ubFFhM05HY0d4Q09HMDVNUzhLUWxGSmNVWmlhbEJ0Wm5SQ1ZFWk1UbEpwVlVVM2RHeENjVGx2TTBwRWVEWkJiRkZhZEZOSlYzaDJOWHBTU0hVemQxTXlTMVY0UkZCTmNIcFhDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsKICAgIGNsaWVudC1rZXktZGF0YTogTFMwdExTMUNSVWRKVGlCU1UwRWdVRkpKVmtGVVJTQkxSVmt0TFMwdExRcE5TVWxGY0VGSlFrRkJTME5CVVVWQmNqUnpORlpHVkUxQ2FVdDVhSHBETlZwRlJXRXZkbU5pWWpBeVFuRTVibWcxT1NzeGQybDJVMnRCVGpCNVdIVjBDa04wWkZSbmRERnhiekp2UkRaRWNsVjVlVzF2U1RCVlEyWnZaSE5uZDJsWFdHVmFNRlZhVm5WQmIxSjJTRFE1ZFRGRGJrRk1OWEJ0WW5nM2RYcFdZbGNLYW14UWJIRm1ZbUpaZURaV0szaFpia1Y1TTNSMk9ESkVkVUY0VFhGVmFtaHdTVWxVYWpoRWNrUTJVVVZpUTIxSWFteFhNVGhFU0hFd1dHZEJjazh5WlFwYVJrNDNWMHM1U0VrdlZVVklTakJFYTJoNlFqZDFXbHBEV0V4b1kxYzRlV056YWpFeVJHNTBaalJ4TlVZMWJVdFZRMjF3VlRCQ2JFNTRabE5sV1hwNUNqVlZaR055YUN0NWJFUXhSVmgzTkVOT1VURmljME5yVmpKVVpIaEtOVkZoVTJKRU5FMDRVM05oVUhaNFVXRk9la3RaZW5GT1EyaGhlRkJ6YlRsS2NDc0tVRTE1WWtoV2NUVnJhVUYwYzNGb1VFRlVUVEZpWldoamNEZzBWMVprYlZaUVNtVXhSMUZKUkVGUlFVSkJiMGxDUVVGbmNtRkpSekJQU2t0SmFIUndNd293UVdvd1duSmpOamxPU0c1UU5FOXdOMnBQUjFjNFZXWnRVSE5QZW1nMllWaFBSa2RUUTB0ekx6QjBMMjlhVEhKUFowRkRabXR4TVRaWWJrNHZObFJTQ21Zek16ZFFZWEZYVlRkd1YxRXpNbkZvVkZCdGFGbFZlRzlHWWtocU9FZExjWGN5VVhCbU1sVXJXSHBTWWxwV2VqUkliWEZDTkdsSWJtWjFkM2gwYVZNS1FtSTFUVTR6UkZoUU5XeEpkblJRZURCMFkzazRabUYwZGtGdWJtZG5WbUkzV1ZkRU4wRnJSM00zVEZKb2F6aE5WRk53VFhBNGVWTlhWRzV4UjJ0M2JncEtkR3BITTJkT1dqZDRRMDlrTW5aUFNWVXlaalpYV0dkSWFuQjRTVmd2WkhOSVJrTTBNR3RCTUhZclpXY3lNVUpwUWpBNVQyVjFPQ3RwUVcxNVlsSk1DalpXUjBWcFlsTkZUMVpXWWxNemExbGxOVlpETWs5emEwTlJNbkphTkVzeUsxQk5RbTlxZGxkYWR6WktOV0V5Tm5wME5HVjJabk5LTkVVeGMydEpTV1FLTHpNM1RXWjNSVU5uV1VWQmR6bFNRV1l6WkZOdk1VNTBVVmMzYmxkSGJWRTVla2h3YW5OalQyTjRaMEZQWW5FMlUwaDRiV1pTYlVWSFltWlJabVpTYVFwV1NFSTRjQ3MyTmtWUk5VczJlR3R0UjBsMVRrRjVOM2hNWjBoWE0wTlhkelJKTnprNFFuQkVTelo2VG5ZMFlsY3ZkbTVXV1dOdVlXTllUazFIYms1bkNrSmlUbnBFU1ZKU1dHNXhRMVJsWlZkclkzQmtablZoTjNweWNESmlWVXR0WmpJM2VqRlBNME5TWWpoNVJXRTJibHBGYjFFeVUydERaMWxGUVRWWWRGa0tZMDlTT1VkelF6QnVZWE15TTNrdmFqWlBaWFpoYURCWFdFMVhkM1kzUzA5Wk1WcDBMMUZJWTNaUGFYSlRkVlExVmpObVZYUkdkbGRFYzJoVldWQTVlQXBGVTI1NFFqSnpTRkJKVkZnNU1pdENVbkUzV1ZGM2VGZHJVRU1yU2s1NlpVNVpkMmxtYkVoeFlWTnBjV3ROVjBwMFUyMTJVVkpFTUhKd1pXNVFOWFpWQ25nNWNESjFiVkJyVm5kdWVHeE9TM05WVFVOamRFSTBaMGRtTUhaUWNUSjZWVXAxVTFOdVJVTm5XVUppZWpkc2JHbFpXQ3NyVUVGNVV6RkxMMmx6TjJrS1pHczBkMGRJWkZnd2NISlpaR2RyT0ZSellXMVNSRFZCTmtsTmFHRnRRbTVuYXpKUVZtdGtOa1UxT1dkV1pYZGpaV1ZFYXpaNU9EaERURk0xYUdod1JncFVaMVZWWlhSMVprMUhaRTlOYlU4clN6RmxNV1o2VDJoSFVrNUlSeko1WW1ZMlUyazJOalZUWnpGR2QxRlFTRUUzU1Zkc1NqTjRTakJtV1ZGQ056SlVDalZYYzBGSE0wTkllbkp2YTNaRFVGTjVlamRYT0ZGTFFtZFJRMGw1Tmxac04zQTJlRUYxZW05RVJHTjVhR3czU3paTmJVWmlVRGt5YjBKWlJIZENTRzRLU0RRclJGRmpablpEU21WTWJITkZXVXBuVDNrelFXWllWMmMwUzI5R2MzSlRlVUV5VG5SUWFXWkxTWFJEZEdjMldsZElabGhuZVVGaVJFazRNRlJxV2dwSVRXTXpSeXRsY21ScFZuWkdXVXBKWW5sbVkyeHdiakZPWTNaeFVFSTVNRmd3VG14VGMxUkZTMlJhVEhrcldWTlpVemxKYnpacGNFNVhZMnBoZGtrMENtVXZVMUl3VVV0Q1oxRkRRWFkxVlRBMldVb3hUazEyS3paVlkzQkVZVGhhVURjdlVubE5ZblZKWTB4S1pWZDRRVkV6VG05TE1saFZPWFpWVkVRdk5ta0thWFpKYVVrd2IwZFVjRmtySzJ0WWIxSndiMU0yUm1OQmRIZEdOSEJFZWxCSWIwRlBiMjlwVFZaaE5uUTBaVTgxWjJrdlpqUkJkVlZyWldoSlJWQkthQW94TlRaNVJHZFlObVJhT0U0eFJFUk9SR3AwVFd0b2JIZDRTbEprY2pSNFMyaE9SbGNyT1dKdlRsaEdXVTV3VjFJM2NFaGtVbmM5UFFvdExTMHRMVVZPUkNCU1UwRWdVRkpKVmtGVVJTQkxSVmt0TFMwdExRbz0K",
                      "status": "ACTIVE",
                      "status_reason": "K8s is ready",
                      "green_status": "GREEN",
                      "master_flavor": {
                        "id": 7613,
                        "name": "n1-cpu-small",
                        "cpu": 4,
                        "ram": 4,
                        "disk": 100,
                        "ephemeral": 0,
                        "gpu": "",
                        "gpu_count": 0,
                        "labels": [],
                        "features": {
                          "network_optimised": false,
                          "no_reboot": false,
                          "no_hibernation": false,
                          "no_snapshot": false,
                          "local_storage_only": false,
                          "api_only": false
                        }
                      },
                      "master_count": 2,
                      "keypair_name": "example-keypair",
                      "created_at": "2026-05-07T09:21:55Z",
                      "image": {
                        "name": "Ubuntu 24.04 LTS Hyperstack Kubernetes v1.35.1"
                      },
                      "node_groups": [
                        {
                          "id": 1402,
                          "cluster_id": 3287,
                          "name": "default",
                          "role": "worker",
                          "flavor": {
                            "id": 8429,
                            "name": "n1-cpu-small",
                            "cpu": 4,
                            "ram": 4,
                            "disk": 100,
                            "ephemeral": 0,
                            "gpu": "",
                            "gpu_count": 0,
                            "labels": [],
                            "features": {
                              "network_optimised": false,
                              "no_reboot": false,
                              "no_hibernation": false,
                              "no_snapshot": false,
                              "local_storage_only": false,
                              "api_only": false
                            }
                          },
                          "count": 1,
                          "min_count": 1,
                          "max_count": 1,
                          "firewall_ids": []
                        }
                      ],
                      "nodes": [
                        {
                          "id": 6190,
                          "node_group_id": null,
                          "node_group_name": null,
                          "instance": {
                            "id": 4501,
                            "name": "example-c1-bastion-0",
                            "status": "ACTIVE",
                            "fixed_ip": "203.0.113.205",
                            "floating_ip": "198.51.100.27",
                            "floating_ip_status": "ATTACHED",
                            "contract_id": null,
                            "image_id": 4501
                          },
                          "role": "bastion",
                          "status": "ACTIVE",
                          "status_reason": "Node is reconciled",
                          "is_bastion": true,
                          "requires_public_ip": true,
                          "created_at": "2026-05-06T14:32:11Z",
                          "updated_at": "2026-05-06T14:32:11Z"
                        },
                        {
                          "id": 1129,
                          "node_group_id": null,
                          "node_group_name": null,
                          "instance": {
                            "id": 6190,
                            "name": "example-c1-load-balancer-0-2",
                            "status": "ACTIVE",
                            "fixed_ip": "192.0.2.91",
                            "floating_ip": "203.0.113.205",
                            "floating_ip_status": "ATTACHED",
                            "contract_id": null,
                            "image_id": 6190
                          },
                          "role": "load-balancer",
                          "status": "ACTIVE",
                          "status_reason": "Node is reconciled",
                          "is_bastion": false,
                          "requires_public_ip": true,
                          "created_at": "2026-05-06T15:18:42Z",
                          "updated_at": "2026-05-06T15:18:42Z"
                        },
                        {
                          "id": 1402,
                          "node_group_id": null,
                          "node_group_name": null,
                          "instance": {
                            "id": 1129,
                            "name": "example-c1-master-0-3",
                            "status": "ACTIVE",
                            "fixed_ip": "192.0.2.42",
                            "floating_ip": null,
                            "floating_ip_status": "NO FLOATING IP",
                            "contract_id": null,
                            "image_id": 1129
                          },
                          "role": "master",
                          "status": "ACTIVE",
                          "status_reason": "Node is reconciled",
                          "is_bastion": false,
                          "requires_public_ip": false,
                          "created_at": "2026-05-06T16:04:09Z",
                          "updated_at": "2026-05-06T16:04:09Z"
                        }
                      ],
                      "is_reconciling": false
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting clusters success",
                      "page": 1,
                      "page_size": 10,
                      "count": 1,
                      "clusters": [
                        {
                          "id": 9876,
                          "name": "example-c1",
                          "environment_name": "example-environment",
                          "environment_region": "NORWAY-1",
                          "kubernetes_version": "1.35.1",
                          "api_address": "https://api.example-c1-8a1cf2.example-environment.hyperstackcustomers.cloud:6443",
                          "kube_config": "YXBpVmVyc2lvbjogdjEKY2x1c3RlcnM6Ci0gY2x1c3RlcjoKICAgIGNlcnRpZmljYXRlLWF1dGhvcml0eS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VSQ1ZFTkRRV1V5WjBGM1NVSkJaMGxKU0ZWVmFubzVTbEYwYmtsM1JGRlpTa3R2V2tsb2RtTk9RVkZGVEVKUlFYZEdWRVZVVFVKRlIwRXhWVVVLUVhoTlMyRXpWbWxhV0VwMVdsaFNiR042UVdWR2R6QjVUbXBCTVUxRVkzaE9lbFY1VFZSQ1lVWjNNSHBPYWtFeFRVUlJlRTU2VlROTlZFSmhUVUpWZUFwRmVrRlNRbWRPVmtKQlRWUkRiWFF4V1cxV2VXSnRWakJhV0UxM1oyZEZhVTFCTUVkRFUzRkhVMGxpTTBSUlJVSkJVVlZCUVRSSlFrUjNRWGRuWjBWTENrRnZTVUpCVVVNM1JVdFNlamRsTjNSaUsxTjZWa2RoT1c1R1RrSklXR2hHSzFka2VYQkRiMGd6WjB4blpWQnZRbTlpZUM4d1RsWjZkSHBLYTJJMWJUUUtZbUl6ZGtSbE5VTmtiSFVyYkhWcFMzRllXbWhQV0hwV05taEdWR05aYTNwTGFrUlZjMlZRU0ZaWk5XZG5Na1pDTURsdFkwVk5iMnhzUkhaV1owWldSQXBWTjJ0YVNIaDZUVGwzWjBWeGVqQkRiM2RCYUZGcFJXaFdRVVpJVHpVNU16bEpjRnBtZVdkaFVXVmlZbGx5ZUdadmMyVldZaTlHT1hOdVZ6SXdVRE01Q2pWTVluUXJPR3hNVEdKRFFrTXdNMG93V0dGU1NVUlVRbXRYZURSWlZWbDRTM05QY0dOU01tbENhVkpKYWsxamJrdHdNVTkwV21sQ2EycHdUV3RxYkcwS2EzaDVZbk13ZFRkblFucElObHBZYVZoMVJYUTVSMVJPTHpVMmRrTTNZelZxY0c5TVIyWjFRbmhsV1RoUlltWlVTRUpVYW0xWVpXUk1keXRJTlRrelNRcEllRXAwTW1oSVJqRkJiRVk0UlUxUVMwZGpNR2h6ZEdoSldtdHFRV2ROUWtGQlIycFhWRUpZVFVFMFIwRXhWV1JFZDBWQ0wzZFJSVUYzU1VOd1JFRlFDa0puVGxaSVVrMUNRV1k0UlVKVVFVUkJVVWd2VFVJd1IwRXhWV1JFWjFGWFFrSlVMM0ZKT1doYWRDdFdOMVZXTWtORWEyRk1XRXBWT1VOM1JteEVRVllLUW1kT1ZraFNSVVZFYWtGTloyZHdjbVJYU214amJUVnNaRWRXZWsxQk1FZERVM0ZIVTBsaU0wUlJSVUpEZDFWQlFUUkpRa0ZSUVU1Q1puSTBUa2xYUndwa00xRjZVa04yUzJsd2VIQkxUemRXT1VwMldsUnBSRFZDUVZoUWVHbFpObVp2YUdGSlpFeFZRVGNyWVVGSk9USlpUbnBpTVVWTlFUaDVlbll3Yml0TkNteDBkR2xNYzFaU2VGaFdSVFVyU1dRNFFUSklORXN3ZVhoR2RVNTZNRmd4VlVONE5sRm9WM2xaTlZGamRreHVVbUYzUjB0a1VIVnZXRkpJTkdOWFRGY0tRV1ZuUjFSRk1Fa3hWV3d5ZG1wd1FsQnZWR0ZWY1RScmFqSmpSRGc1S3pkWFpGTlpSRmN5VXpoMWNIaFBaVkpQWjJkQ00wOXRZMVJ6VFROcWRYQjRXUXBhVkVKQlNpdEJVRmswTUU5Q05raFNRVWc1TnpORGIyOW9iSEpZZDFOVFJESlZWbkV4ZG5kTWIwczNhbkJKUm01R1psTXlVVUZNWVd0WmIycGpZVkJNQ2xFM2JYTk5ka1JqZDFWV01HTTBXRXhNYVZSNWFEZHhZa2RzYlU5YVIwY3lhVFp3TjNKTVlUSlJNVzFLSzNkTWRVVlBNVkJLV1VOQk16RXdOMDk1UkZrS2NFRkZVMDg0YzFSa1kwZEVDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsKICAgIHNlcnZlcjogaHR0cHM6Ly9hcGkuYXBpdGVzdC01NTJmODI2YS1jMS04YTFjZjIuYXBpdGVzdC01NTJmODI2YS1lbnYuaHlwZXJzdGFja2N1c3RvbWVycy5jbG91ZDo2NDQzCiAgbmFtZTogYXBpdGVzdC01NTJmODI2YS1jMS04YTFjZjIKY29udGV4dHM6Ci0gY29udGV4dDoKICAgIGNsdXN0ZXI6IGFwaXRlc3QtNTUyZjgyNmEtYzEtOGExY2YyCiAgICB1c2VyOiBrdWJlcm5ldGVzLWFkbWluCiAgbmFtZToga3ViZXJuZXRlcy1hZG1pbkBhcGl0ZXN0LTU1MmY4MjZhLWMxLThhMWNmMgpjdXJyZW50LWNvbnRleHQ6IGt1YmVybmV0ZXMtYWRtaW5AYXBpdGVzdC01NTJmODI2YS1jMS04YTFjZjIKa2luZDogQ29uZmlnCnVzZXJzOgotIG5hbWU6IGt1YmVybmV0ZXMtYWRtaW4KICB1c2VyOgogICAgY2xpZW50LWNlcnRpZmljYXRlLWRhdGE6IExTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVVJMVkVORFFXaEhaMEYzU1VKQlowbEpXV05zY1d4b1dUUlFaR2QzUkZGWlNrdHZXa2xvZG1OT1FWRkZURUpSUVhkR1ZFVlVUVUpGUjBFeFZVVUtRWGhOUzJFelZtbGFXRXAxV2xoU2JHTjZRV1ZHZHpCNVRtcEJNVTFFWTNoT2VsVjVUVlJDWVVaM01IbE9la0V4VFVSamVFNTZWVE5OVkVKaFRVUjNlQXBJZWtGa1FtZE9Wa0pCYjFSR2JYUXhXVzFXYUZwSE1EWlpNbmd4WXpOU2JHTnBNV2hhUnpGd1ltNU5lRWRVUVZoQ1owNVdRa0ZOVkVWSGRERlpiVlo1Q21KdFZqQmFXRTEwV1ZkU2RHRlhOSGRuWjBWcFRVRXdSME5UY1VkVFNXSXpSRkZGUWtGUlZVRkJORWxDUkhkQmQyZG5SVXRCYjBsQ1FWRkRkbWw2YUZVS1ZrMTNSMGx5UzBoTlRHeHJVVkp5S3psNGRIWlVXVWR5TW1WSWJqTTNXRU5MT1V0UlFUTlVTbVUyTUVzeE1VOURNMWR4YW1GblVHOVBkRlJNUzJGbmFncFNVVW9yYURKNVJFTktXbVExYmxKU2JGYzBRMmhIT0dacU1qZFZTMk5CZG0xdFduWklkVGRPVm5SaFQxVXJWM0E1ZEhScVNIQllOMFpwWTFSTVpUSXZDbnBaVHpSRVJYbHdVMDlIYTJkb1QxQjNUM05RY0VGU2MwdFpaVTlXWWxoM1RXVnlVbVZCUTNNM1dqVnJWVE4wV1hJd1kybzVVVkZqYmxGUFUwaE5TSFVLTld4clNtTjFSbmhpZWtwNWVWQllXVTlsTVM5cGNtdFliVmx3VVV0aGJGUlJSMVV6UmpsS05XcFFUR3hTTVhsMVNEZExWVkJWVW1aRVowa3hSRloxZHdwTFVsaGFUak5GYm14Q2NFcHpVR2Q2ZUV0NGJ5c3ZSa0p2TTAxd2FrOXZNRXRHY2tVcmVXSXdiVzQwT0hwS2MyUlhjbTFUU1VNeWVYRkZPRUpOZWxaMENqWkdlVzU2YUZwV01scFZPR3czVlZwQlowMUNRVUZIYWxacVFsVk5RVFJIUVRGVlpFUjNSVUl2ZDFGRlFYZEpSbTlFUVZSQ1owNVdTRk5WUlVSRVFVc0tRbWRuY2tKblJVWkNVV05FUVdwQlRVSm5UbFpJVWsxQ1FXWTRSVUZxUVVGTlFqaEhRVEZWWkVsM1VWbE5RbUZCUmxBcmIyb3lSbTB6TlZoMFVsaFpTUXBQVW05MFkyeFVNRXhCVjFWTlFUQkhRMU54UjFOSllqTkVVVVZDUTNkVlFVRTBTVUpCVVVFMVYyUnRTMVpLVm1SUWVHbHJSMEprVkZFclVXNUxaek0zQ2pSc1NUQjFkV1JrYkRFeWNqRjJPSGh5WldaR1YzRktXRXB2VFd0cU1XZ3hZazE1YjB4c2IzTkdTa2hSWmtSMWJsRnpUR1ExYkV4Skx6WjZORXhoYUdvS2R6ZzBjbGxSTmtwa05IRmFhVmhGWkU1WGNYbHpXRTFWY1hFME5uQlRVazVHV0doT1JEZ3ZZamhRWW04NE5XWTRVbTVuVG5FME0yMVRlR1pNZEdKRVRncElTblE1UlRseFMwSndXV3gwY25SU1VFRnhNMGt6TW5sTGJFUnZVR3hzTWswelNFOXhjRmRUT1V0QlNVZzFWVzAxWm1KRmJWbExNVk50VlhnMWFtOHhDakJKZW1aTGRrRnVabmRrYzB4WVJVY3dLM0o2VFRRelFuVXJUbEE1VlZFNVJVeEliRlZpY1hBeFYwdG5lbXN5ZUZoWU5ubFFhM05HY0d4Q09HMDVNUzhLUWxGSmNVWmlhbEJ0Wm5SQ1ZFWk1UbEpwVlVVM2RHeENjVGx2TTBwRWVEWkJiRkZhZEZOSlYzaDJOWHBTU0hVemQxTXlTMVY0UkZCTmNIcFhDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsKICAgIGNsaWVudC1rZXktZGF0YTogTFMwdExTMUNSVWRKVGlCU1UwRWdVRkpKVmtGVVJTQkxSVmt0TFMwdExRcE5TVWxGY0VGSlFrRkJTME5CVVVWQmNqUnpORlpHVkUxQ2FVdDVhSHBETlZwRlJXRXZkbU5pWWpBeVFuRTVibWcxT1NzeGQybDJVMnRCVGpCNVdIVjBDa04wWkZSbmRERnhiekp2UkRaRWNsVjVlVzF2U1RCVlEyWnZaSE5uZDJsWFdHVmFNRlZhVm5WQmIxSjJTRFE1ZFRGRGJrRk1OWEJ0WW5nM2RYcFdZbGNLYW14UWJIRm1ZbUpaZURaV0szaFpia1Y1TTNSMk9ESkVkVUY0VFhGVmFtaHdTVWxVYWpoRWNrUTJVVVZpUTIxSWFteFhNVGhFU0hFd1dHZEJjazh5WlFwYVJrNDNWMHM1U0VrdlZVVklTakJFYTJoNlFqZDFXbHBEV0V4b1kxYzRlV056YWpFeVJHNTBaalJ4TlVZMWJVdFZRMjF3VlRCQ2JFNTRabE5sV1hwNUNqVlZaR055YUN0NWJFUXhSVmgzTkVOT1VURmljME5yVmpKVVpIaEtOVkZoVTJKRU5FMDRVM05oVUhaNFVXRk9la3RaZW5GT1EyaGhlRkJ6YlRsS2NDc0tVRTE1WWtoV2NUVnJhVUYwYzNGb1VFRlVUVEZpWldoamNEZzBWMVprYlZaUVNtVXhSMUZKUkVGUlFVSkJiMGxDUVVGbmNtRkpSekJQU2t0SmFIUndNd293UVdvd1duSmpOamxPU0c1UU5FOXdOMnBQUjFjNFZXWnRVSE5QZW1nMllWaFBSa2RUUTB0ekx6QjBMMjlhVEhKUFowRkRabXR4TVRaWWJrNHZObFJTQ21Zek16ZFFZWEZYVlRkd1YxRXpNbkZvVkZCdGFGbFZlRzlHWWtocU9FZExjWGN5VVhCbU1sVXJXSHBTWWxwV2VqUkliWEZDTkdsSWJtWjFkM2gwYVZNS1FtSTFUVTR6UkZoUU5XeEpkblJRZURCMFkzazRabUYwZGtGdWJtZG5WbUkzV1ZkRU4wRnJSM00zVEZKb2F6aE5WRk53VFhBNGVWTlhWRzV4UjJ0M2JncEtkR3BITTJkT1dqZDRRMDlrTW5aUFNWVXlaalpYV0dkSWFuQjRTVmd2WkhOSVJrTTBNR3RCTUhZclpXY3lNVUpwUWpBNVQyVjFPQ3RwUVcxNVlsSk1DalpXUjBWcFlsTkZUMVpXWWxNemExbGxOVlpETWs5emEwTlJNbkphTkVzeUsxQk5RbTlxZGxkYWR6WktOV0V5Tm5wME5HVjJabk5LTkVVeGMydEpTV1FLTHpNM1RXWjNSVU5uV1VWQmR6bFNRV1l6WkZOdk1VNTBVVmMzYmxkSGJWRTVla2h3YW5OalQyTjRaMEZQWW5FMlUwaDRiV1pTYlVWSFltWlJabVpTYVFwV1NFSTRjQ3MyTmtWUk5VczJlR3R0UjBsMVRrRjVOM2hNWjBoWE0wTlhkelJKTnprNFFuQkVTelo2VG5ZMFlsY3ZkbTVXV1dOdVlXTllUazFIYms1bkNrSmlUbnBFU1ZKU1dHNXhRMVJsWlZkclkzQmtablZoTjNweWNESmlWVXR0WmpJM2VqRlBNME5TWWpoNVJXRTJibHBGYjFFeVUydERaMWxGUVRWWWRGa0tZMDlTT1VkelF6QnVZWE15TTNrdmFqWlBaWFpoYURCWFdFMVhkM1kzUzA5Wk1WcDBMMUZJWTNaUGFYSlRkVlExVmpObVZYUkdkbGRFYzJoVldWQTVlQXBGVTI1NFFqSnpTRkJKVkZnNU1pdENVbkUzV1ZGM2VGZHJVRU1yU2s1NlpVNVpkMmxtYkVoeFlWTnBjV3ROVjBwMFUyMTJVVkpFTUhKd1pXNVFOWFpWQ25nNWNESjFiVkJyVm5kdWVHeE9TM05WVFVOamRFSTBaMGRtTUhaUWNUSjZWVXAxVTFOdVJVTm5XVUppZWpkc2JHbFpXQ3NyVUVGNVV6RkxMMmx6TjJrS1pHczBkMGRJWkZnd2NISlpaR2RyT0ZSellXMVNSRFZCTmtsTmFHRnRRbTVuYXpKUVZtdGtOa1UxT1dkV1pYZGpaV1ZFYXpaNU9EaERURk0xYUdod1JncFVaMVZWWlhSMVprMUhaRTlOYlU4clN6RmxNV1o2VDJoSFVrNUlSeko1WW1ZMlUyazJOalZUWnpGR2QxRlFTRUUzU1Zkc1NqTjRTakJtV1ZGQ056SlVDalZYYzBGSE0wTkllbkp2YTNaRFVGTjVlamRYT0ZGTFFtZFJRMGw1Tmxac04zQTJlRUYxZW05RVJHTjVhR3czU3paTmJVWmlVRGt5YjBKWlJIZENTRzRLU0RRclJGRmpablpEU21WTWJITkZXVXBuVDNrelFXWllWMmMwUzI5R2MzSlRlVUV5VG5SUWFXWkxTWFJEZEdjMldsZElabGhuZVVGaVJFazRNRlJxV2dwSVRXTXpSeXRsY21ScFZuWkdXVXBKWW5sbVkyeHdiakZPWTNaeFVFSTVNRmd3VG14VGMxUkZTMlJhVEhrcldWTlpVemxKYnpacGNFNVhZMnBoZGtrMENtVXZVMUl3VVV0Q1oxRkRRWFkxVlRBMldVb3hUazEyS3paVlkzQkVZVGhhVURjdlVubE5ZblZKWTB4S1pWZDRRVkV6VG05TE1saFZPWFpWVkVRdk5ta0thWFpKYVVrd2IwZFVjRmtySzJ0WWIxSndiMU0yUm1OQmRIZEdOSEJFZWxCSWIwRlBiMjlwVFZaaE5uUTBaVTgxWjJrdlpqUkJkVlZyWldoSlJWQkthQW94TlRaNVJHZFlObVJhT0U0eFJFUk9SR3AwVFd0b2JIZDRTbEprY2pSNFMyaE9SbGNyT1dKdlRsaEdXVTV3VjFJM2NFaGtVbmM5UFFvdExTMHRMVVZPUkNCU1UwRWdVRkpKVmtGVVJTQkxSVmt0TFMwdExRbz0K",
                          "status": "ACTIVE",
                          "status_reason": "K8s is ready",
                          "green_status": "GREEN",
                          "master_flavor": {
                            "id": 7613,
                            "name": "n1-cpu-small",
                            "cpu": 4,
                            "ram": 4,
                            "disk": 100,
                            "ephemeral": 0,
                            "gpu": "",
                            "gpu_count": 0,
                            "labels": [],
                            "features": {
                              "network_optimised": false,
                              "no_reboot": false,
                              "no_hibernation": false,
                              "no_snapshot": false,
                              "local_storage_only": false,
                              "api_only": false
                            }
                          },
                          "master_count": 2,
                          "keypair_name": "example-keypair",
                          "created_at": "2026-05-07T09:21:55Z",
                          "image": {
                            "name": "Ubuntu 24.04 LTS Hyperstack Kubernetes v1.35.1"
                          },
                          "node_groups": [
                            {
                              "id": 1402,
                              "cluster_id": 3287,
                              "name": "default",
                              "role": "worker",
                              "flavor": {
                                "id": 8429,
                                "name": "n1-cpu-small",
                                "cpu": 4,
                                "ram": 4,
                                "disk": 100,
                                "ephemeral": 0,
                                "gpu": "",
                                "gpu_count": 0,
                                "labels": [],
                                "features": {
                                  "network_optimised": false,
                                  "no_reboot": false,
                                  "no_hibernation": false,
                                  "no_snapshot": false,
                                  "local_storage_only": false,
                                  "api_only": false
                                }
                              },
                              "count": 1,
                              "min_count": 1,
                              "max_count": 1,
                              "firewall_ids": []
                            }
                          ],
                          "nodes": [
                            {
                              "id": 6190,
                              "node_group_id": null,
                              "node_group_name": null,
                              "instance": {
                                "id": 4501,
                                "name": "example-c1-bastion-0",
                                "status": "ACTIVE",
                                "fixed_ip": "203.0.113.205",
                                "floating_ip": "198.51.100.27",
                                "floating_ip_status": "ATTACHED",
                                "contract_id": null,
                                "image_id": 4501
                              },
                              "role": "bastion",
                              "status": "ACTIVE",
                              "status_reason": "Node is reconciled",
                              "is_bastion": true,
                              "requires_public_ip": true,
                              "created_at": "2026-05-06T14:32:11Z",
                              "updated_at": "2026-05-06T14:32:11Z"
                            },
                            {
                              "id": 1129,
                              "node_group_id": null,
                              "node_group_name": null,
                              "instance": {
                                "id": 6190,
                                "name": "example-c1-load-balancer-0-2",
                                "status": "ACTIVE",
                                "fixed_ip": "192.0.2.91",
                                "floating_ip": "203.0.113.205",
                                "floating_ip_status": "ATTACHED",
                                "contract_id": null,
                                "image_id": 6190
                              },
                              "role": "load-balancer",
                              "status": "ACTIVE",
                              "status_reason": "Node is reconciled",
                              "is_bastion": false,
                              "requires_public_ip": true,
                              "created_at": "2026-05-06T15:18:42Z",
                              "updated_at": "2026-05-06T15:18:42Z"
                            },
                            {
                              "id": 1402,
                              "node_group_id": null,
                              "node_group_name": null,
                              "instance": {
                                "id": 1129,
                                "name": "example-c1-master-0-3",
                                "status": "ACTIVE",
                                "fixed_ip": "192.0.2.42",
                                "floating_ip": null,
                                "floating_ip_status": "NO FLOATING IP",
                                "contract_id": null,
                                "image_id": 1129
                              },
                              "role": "master",
                              "status": "ACTIVE",
                              "status_reason": "Node is reconciled",
                              "is_bastion": false,
                              "requires_public_ip": false,
                              "created_at": "2026-05-06T16:04:09Z",
                              "updated_at": "2026-05-06T16:04:09Z"
                            }
                          ],
                          "is_reconciling": false
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "description": "Retrieve a list of your current clusters in Hyperstack, providing detailed information for each, including cluster ID, operational status, environment, flavor (hardware configuration), and more."
      },
      "post": {
        "tags": [
          "Clusters"
        ],
        "summary": "Create Cluster",
        "operationId": "Create_Cluster",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Create_Cluster_Payload",
                "example": {
                  "name": "example-c1",
                  "environment_name": "example-environment",
                  "kubernetes_version": "1.35.1",
                  "master_count": 2,
                  "master_flavor_name": "n1-cpu-small",
                  "node_count": 1,
                  "node_flavor_name": "n1-cpu-small",
                  "keypair_name": "example-keypair"
                },
                "properties": {}
              },
              "example": {
                "environment_name": "example-environment",
                "keypair_name": "example-keypair",
                "kubernetes_version": "1.35.1",
                "master_flavor_name": "n1-cpu-small",
                "name": "example-c1",
                "master_count": 2,
                "node_count": 1,
                "node_flavor_name": "n1-cpu-small"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusterResponse"
                },
                "example": {
                  "status": true,
                  "message": "Cluster created successfully",
                  "cluster": {
                    "id": 2058,
                    "name": "example-c1",
                    "environment_name": "example-environment",
                    "environment_region": "NORWAY-1",
                    "kubernetes_version": "1.35.1",
                    "api_address": null,
                    "kube_config": null,
                    "status": "CREATING",
                    "status_reason": null,
                    "green_status": "GREEN",
                    "master_flavor": {
                      "id": 3287,
                      "name": "n1-cpu-small",
                      "cpu": 4,
                      "ram": 4,
                      "disk": 100,
                      "ephemeral": 0,
                      "gpu": "",
                      "gpu_count": 0,
                      "labels": [],
                      "features": {
                        "network_optimised": false,
                        "no_reboot": false,
                        "no_hibernation": false,
                        "no_snapshot": false,
                        "local_storage_only": false,
                        "api_only": false
                      }
                    },
                    "master_count": 2,
                    "keypair_name": "example-keypair",
                    "created_at": "2026-05-07T11:47:30Z",
                    "image": {
                      "name": "Ubuntu 24.04 LTS Hyperstack Kubernetes v1.35.1"
                    },
                    "node_groups": [
                      {
                        "id": 9876,
                        "cluster_id": 8429,
                        "name": "default",
                        "role": "worker",
                        "flavor": {
                          "id": 4501,
                          "name": "n1-cpu-small",
                          "cpu": 4,
                          "ram": 4,
                          "disk": 100,
                          "ephemeral": 0,
                          "gpu": "",
                          "gpu_count": 0,
                          "labels": [],
                          "features": {
                            "network_optimised": false,
                            "no_reboot": false,
                            "no_hibernation": false,
                            "no_snapshot": false,
                            "local_storage_only": false,
                            "api_only": false
                          }
                        },
                        "count": 1,
                        "min_count": 1,
                        "max_count": 1,
                        "firewall_ids": []
                      }
                    ],
                    "nodes": [
                      {
                        "id": 1129,
                        "node_group_id": null,
                        "node_group_name": null,
                        "instance": {
                          "id": 6190,
                          "name": "example-c1-bastion-0",
                          "status": "CREATING",
                          "fixed_ip": null,
                          "floating_ip": null,
                          "floating_ip_status": "ATTACHING",
                          "contract_id": null,
                          "image_id": 6190
                        },
                        "role": "bastion",
                        "status": "CREATING",
                        "status_reason": "VM is creating",
                        "is_bastion": true,
                        "requires_public_ip": true,
                        "created_at": "2026-05-06T15:18:42Z",
                        "updated_at": "2026-05-06T15:18:42Z"
                      },
                      {
                        "id": 1402,
                        "node_group_id": null,
                        "node_group_name": null,
                        "instance": {
                          "id": 1129,
                          "name": "example-c1-load-balancer-0-2",
                          "status": "CREATING",
                          "fixed_ip": null,
                          "floating_ip": null,
                          "floating_ip_status": "ATTACHING",
                          "contract_id": null,
                          "image_id": 1129
                        },
                        "role": "load-balancer",
                        "status": "CREATING",
                        "status_reason": "VM is creating",
                        "is_bastion": false,
                        "requires_public_ip": true,
                        "created_at": "2026-05-06T16:04:09Z",
                        "updated_at": "2026-05-06T16:04:09Z"
                      },
                      {
                        "id": 9876,
                        "node_group_id": null,
                        "node_group_name": null,
                        "instance": {
                          "id": 1402,
                          "name": "example-c1-master-0-3",
                          "status": "CREATING",
                          "fixed_ip": null,
                          "floating_ip": null,
                          "floating_ip_status": "NO FLOATING IP",
                          "contract_id": null,
                          "image_id": 1402
                        },
                        "role": "master",
                        "status": "CREATING",
                        "status_reason": "VM is creating",
                        "is_bastion": false,
                        "requires_public_ip": false,
                        "created_at": "2026-05-07T09:21:55Z",
                        "updated_at": "2026-05-07T09:21:55Z"
                      }
                    ],
                    "is_reconciling": true
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Cluster created successfully",
                      "cluster": {
                        "id": 2058,
                        "name": "example-c1",
                        "environment_name": "example-environment",
                        "environment_region": "NORWAY-1",
                        "kubernetes_version": "1.35.1",
                        "api_address": null,
                        "kube_config": null,
                        "status": "CREATING",
                        "status_reason": null,
                        "green_status": "GREEN",
                        "master_flavor": {
                          "id": 3287,
                          "name": "n1-cpu-small",
                          "cpu": 4,
                          "ram": 4,
                          "disk": 100,
                          "ephemeral": 0,
                          "gpu": "",
                          "gpu_count": 0,
                          "labels": [],
                          "features": {
                            "network_optimised": false,
                            "no_reboot": false,
                            "no_hibernation": false,
                            "no_snapshot": false,
                            "local_storage_only": false,
                            "api_only": false
                          }
                        },
                        "master_count": 2,
                        "keypair_name": "example-keypair",
                        "created_at": "2026-05-07T11:47:30Z",
                        "image": {
                          "name": "Ubuntu 24.04 LTS Hyperstack Kubernetes v1.35.1"
                        },
                        "node_groups": [
                          {
                            "id": 9876,
                            "cluster_id": 8429,
                            "name": "default",
                            "role": "worker",
                            "flavor": {
                              "id": 4501,
                              "name": "n1-cpu-small",
                              "cpu": 4,
                              "ram": 4,
                              "disk": 100,
                              "ephemeral": 0,
                              "gpu": "",
                              "gpu_count": 0,
                              "labels": [],
                              "features": {
                                "network_optimised": false,
                                "no_reboot": false,
                                "no_hibernation": false,
                                "no_snapshot": false,
                                "local_storage_only": false,
                                "api_only": false
                              }
                            },
                            "count": 1,
                            "min_count": 1,
                            "max_count": 1,
                            "firewall_ids": []
                          }
                        ],
                        "nodes": [
                          {
                            "id": 1129,
                            "node_group_id": null,
                            "node_group_name": null,
                            "instance": {
                              "id": 6190,
                              "name": "example-c1-bastion-0",
                              "status": "CREATING",
                              "fixed_ip": null,
                              "floating_ip": null,
                              "floating_ip_status": "ATTACHING",
                              "contract_id": null,
                              "image_id": 6190
                            },
                            "role": "bastion",
                            "status": "CREATING",
                            "status_reason": "VM is creating",
                            "is_bastion": true,
                            "requires_public_ip": true,
                            "created_at": "2026-05-06T15:18:42Z",
                            "updated_at": "2026-05-06T15:18:42Z"
                          },
                          {
                            "id": 1402,
                            "node_group_id": null,
                            "node_group_name": null,
                            "instance": {
                              "id": 1129,
                              "name": "example-c1-load-balancer-0-2",
                              "status": "CREATING",
                              "fixed_ip": null,
                              "floating_ip": null,
                              "floating_ip_status": "ATTACHING",
                              "contract_id": null,
                              "image_id": 1129
                            },
                            "role": "load-balancer",
                            "status": "CREATING",
                            "status_reason": "VM is creating",
                            "is_bastion": false,
                            "requires_public_ip": true,
                            "created_at": "2026-05-06T16:04:09Z",
                            "updated_at": "2026-05-06T16:04:09Z"
                          },
                          {
                            "id": 9876,
                            "node_group_id": null,
                            "node_group_name": null,
                            "instance": {
                              "id": 1402,
                              "name": "example-c1-master-0-3",
                              "status": "CREATING",
                              "fixed_ip": null,
                              "floating_ip": null,
                              "floating_ip_status": "NO FLOATING IP",
                              "contract_id": null,
                              "image_id": 1402
                            },
                            "role": "master",
                            "status": "CREATING",
                            "status_reason": "VM is creating",
                            "is_bastion": false,
                            "requires_public_ip": false,
                            "created_at": "2026-05-07T09:21:55Z",
                            "updated_at": "2026-05-07T09:21:55Z"
                          }
                        ],
                        "is_reconciling": true
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "Name must not exceed 20 characters",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "Name must not exceed 20 characters",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "422": {
            "description": "Unprocessable entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "description": "Creates a Kubernetes cluster in Hyperstack with the specified custom configuration and features provided in the request body. To create a Kubernetes cluster, specify its configuration details by filling in the required fields in the request payload. These fields include the cluster name, node type, Kubernetes version, hardware configuration, and other relevant parameters. Once the payload is complete, send the request to the `/core/clusters` API using the **POST** method to deploy the cluster with the specified configuration. Creation usually takes around 15 minutes. Larger clusters, and creating several clusters at once, take longer. You can check the status of the cluster by calling the '[**Retrieve Cluster Details**](https://docs.hyperstack.cloud/docs/api-reference/getting-cluster-detail)' API. If your cluster is not in the `ACTIVE` state after 60 minutes, please remove the cluster and try again."
      }
    },
    "/core/clusters/master-flavors": {
      "get": {
        "tags": [
          "Clusters"
        ],
        "summary": "Get cluster master flavors",
        "operationId": "Get_Cluster_Master_Flavors",
        "responses": {
          "200": {
            "description": "Retrieved Flavors.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MasterFlavorsResponse"
                },
                "example": {
                  "status": true,
                  "message": "Flavors retrieved successfully",
                  "flavors": [
                    {
                      "id": 9876,
                      "name": "n1-cpu-small",
                      "display_name": null,
                      "region_name": "NORWAY-1",
                      "cpu": 4,
                      "ram": 4,
                      "disk": 100,
                      "ephemeral": 0,
                      "gpu": "",
                      "gpu_count": 0,
                      "created_at": "2026-05-07T09:21:55Z",
                      "labels": [],
                      "features": {
                        "network_optimised": false,
                        "no_reboot": false,
                        "no_hibernation": false,
                        "no_snapshot": false,
                        "local_storage_only": false,
                        "api_only": false
                      }
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Flavors retrieved successfully",
                      "flavors": [
                        {
                          "id": 9876,
                          "name": "n1-cpu-small",
                          "display_name": null,
                          "region_name": "NORWAY-1",
                          "cpu": 4,
                          "ram": 4,
                          "disk": 100,
                          "ephemeral": 0,
                          "gpu": "",
                          "gpu_count": 0,
                          "created_at": "2026-05-07T09:21:55Z",
                          "labels": [],
                          "features": {
                            "network_optimised": false,
                            "no_reboot": false,
                            "no_hibernation": false,
                            "no_snapshot": false,
                            "local_storage_only": false,
                            "api_only": false
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "description": "Retrieves the list of available [**CPU-only flavors**](https://docs.hyperstack.cloud/docs/hardware/flavors/#cpu-only) supported for use as the master node in Kubernetes clusters. Master nodes host the Kubernetes control plane and must use CPU-only configurations. For guidance on selecting a master flavor for cluster deployment, see [**Select Master Node Flavor**](https://docs.hyperstack.cloud/docs/kubernetes/kubernetes-ui#cluster-node-types) in the [**Kubernetes UI Deployment Guide**](https://docs.hyperstack.cloud/docs/kubernetes/kubernetes-ui)."
      }
    },
    "/core/clusters/name-availability/{name}": {
      "get": {
        "tags": [
          "Clusters"
        ],
        "summary": "Fetch cluster name availability",
        "description": "Specify the cluster name in the path to verify its availability for deployment using the [**Create Cluster API**](https://docs.hyperstack.cloud/docs/api-reference/create-cluster).",
        "operationId": "Fetch_cluster_name_availability",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Cluster name to check for availability."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NameAvailableModel"
                },
                "example": {
                  "name": "example-cluster",
                  "available": false,
                  "message": "Name must not exceed 20 characters"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "name": "example-cluster",
                      "available": false,
                      "message": "Name must not exceed 20 characters"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/clusters/versions": {
      "get": {
        "tags": [
          "Clusters"
        ],
        "summary": "List cluster versions",
        "description": "Retrieve a list of supported Kubernetes versions that can be used in the `kubernetes_version` field of the [**Create Cluster API**](https://docs.hyperstack.cloud/docs/api-reference/create-cluster) when deploying a cluster.",
        "operationId": "Get_Cluster_Versions",
        "parameters": [
          {
            "name": "region",
            "in": "query",
            "description": "Filter versions by region name (optional)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieved Cluster Versions.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusterVersions"
                },
                "example": {
                  "status": true,
                  "message": "Cluster versions retrieved successfully",
                  "versions": [
                    {
                      "id": 3287,
                      "version": "1.35.1",
                      "region": {
                        "id": 3287,
                        "name": "CANADA-1",
                        "country": "CA",
                        "description": null,
                        "green_status": "GREEN",
                        "features": {
                          "floating_ip": true,
                          "volumes": true
                        }
                      },
                      "image": {
                        "id": 8429,
                        "name": "Ubuntu 24.04 LTS Hyperstack Kubernetes v1.35.1",
                        "region_name": "CANADA-1",
                        "type": "Ubuntu",
                        "version": "Server 24.04 LTS Hyperstack Kubernetes v1.35.1",
                        "size": 107374182400,
                        "display_size": "100 GiB",
                        "description": "kubernetes",
                        "snapshot": null,
                        "is_public": true,
                        "created_at": "2026-05-07T09:21:55Z",
                        "labels": [
                          {
                            "id": 5341,
                            "label": "k8s"
                          }
                        ]
                      },
                      "created_at": "2026-05-06T16:04:09Z",
                      "updated_at": null
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Cluster versions retrieved successfully",
                      "versions": [
                        {
                          "id": 3287,
                          "version": "1.35.1",
                          "region": {
                            "id": 3287,
                            "name": "CANADA-1",
                            "country": "CA",
                            "description": null,
                            "green_status": "GREEN",
                            "features": {
                              "floating_ip": true,
                              "volumes": true
                            }
                          },
                          "image": {
                            "id": 8429,
                            "name": "Ubuntu 24.04 LTS Hyperstack Kubernetes v1.35.1",
                            "region_name": "CANADA-1",
                            "type": "Ubuntu",
                            "version": "Server 24.04 LTS Hyperstack Kubernetes v1.35.1",
                            "size": 107374182400,
                            "display_size": "100 GiB",
                            "description": "kubernetes",
                            "snapshot": null,
                            "is_public": true,
                            "created_at": "2026-05-07T09:21:55Z",
                            "labels": [
                              {
                                "id": 5341,
                                "label": "k8s"
                              }
                            ]
                          },
                          "created_at": "2026-05-06T16:04:09Z",
                          "updated_at": null
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/clusters/{cluster_id}/events": {
      "get": {
        "tags": [
          "Clusters"
        ],
        "summary": "Fetch all of a cluster events",
        "operationId": "List_cluster_events",
        "parameters": [
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "ID of the cluster."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusterEvents"
                },
                "example": {
                  "status": true,
                  "message": "Successfully retrived events for Cluster example-c1",
                  "cluster_events": [
                    {
                      "id": 2058,
                      "cluster_id": 4501,
                      "user_id": 7613,
                      "org_id": 3287,
                      "time": "2026-05-07T11:47:30Z",
                      "type": "normal",
                      "reason": "ClusterCreationRequest",
                      "object": "example-c1",
                      "message": "Cluster example-c1 Creation Request Sent."
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Successfully retrived events for Cluster example-c1",
                      "cluster_events": [
                        {
                          "id": 2058,
                          "cluster_id": 4501,
                          "user_id": 7613,
                          "org_id": 3287,
                          "time": "2026-05-07T11:47:30Z",
                          "type": "normal",
                          "reason": "ClusterCreationRequest",
                          "object": "example-c1",
                          "message": "Cluster example-c1 Creation Request Sent."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "description": "Retrieve a list of events for a specified Kubernetes cluster, providing detailed information for each, including the type of event, event ID, timestamp, and a message describing the event."
      }
    },
    "/core/clusters/{cluster_id}/node-groups": {
      "get": {
        "tags": [
          "Clusters"
        ],
        "summary": "List node groups for a cluster",
        "operationId": "List_Node_Groups",
        "parameters": [
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the cluster."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusterNodeGroupsListResponse"
                },
                "example": {
                  "status": true,
                  "message": "Node groups retrieved successfully",
                  "node_groups": [
                    {
                      "id": 3287,
                      "name": "default",
                      "role": "worker",
                      "flavor": {
                        "id": 9876,
                        "name": "n1-cpu-small",
                        "cpu": 4,
                        "ram": 4,
                        "disk": 100,
                        "ephemeral": 0,
                        "gpu": "",
                        "gpu_count": 0,
                        "labels": [],
                        "features": {
                          "network_optimised": false,
                          "no_reboot": false,
                          "no_hibernation": false,
                          "no_snapshot": false,
                          "local_storage_only": false,
                          "api_only": false
                        }
                      },
                      "count": 1,
                      "min_count": 1,
                      "max_count": 1,
                      "firewall_ids": [],
                      "firewalls": [],
                      "created_at": "2026-05-06T16:04:09Z",
                      "updated_at": "2026-05-06T16:04:09Z"
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Node groups retrieved successfully",
                      "node_groups": [
                        {
                          "id": 3287,
                          "name": "default",
                          "role": "worker",
                          "flavor": {
                            "id": 9876,
                            "name": "n1-cpu-small",
                            "cpu": 4,
                            "ram": 4,
                            "disk": 100,
                            "ephemeral": 0,
                            "gpu": "",
                            "gpu_count": 0,
                            "labels": [],
                            "features": {
                              "network_optimised": false,
                              "no_reboot": false,
                              "no_hibernation": false,
                              "no_snapshot": false,
                              "local_storage_only": false,
                              "api_only": false
                            }
                          },
                          "count": 1,
                          "min_count": 1,
                          "max_count": 1,
                          "firewall_ids": [],
                          "firewalls": [],
                          "created_at": "2026-05-06T16:04:09Z",
                          "updated_at": "2026-05-06T16:04:09Z"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "description": "Retrieves a list of all node groups associated with a specified cluster in Hyperstack. Each node group represents a collection of nodes within the cluster with a shared configuration (e.g., instance flavor, role, and count)."
      },
      "post": {
        "tags": [
          "Clusters"
        ],
        "summary": "Create a node group in a cluster",
        "operationId": "Create_Node_Group",
        "parameters": [
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the cluster."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Create_ClusterNodeGroup_payload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusterNodeGroupsCreateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "Cluster 1617 is reconciling",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "Cluster 1617 is reconciling",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "description": "Creates a [**node group**](https://docs.hyperstack.cloud/docs/kubernetes/kubernetes-ui#cluster-node-groups) and adds it to an existing Kubernetes cluster with a specified number of worker nodes of the selected flavor."
      }
    },
    "/core/clusters/{cluster_id}/node-groups/{node_group_id}": {
      "get": {
        "tags": [
          "Clusters"
        ],
        "summary": "Retrieve a node group in a cluster",
        "operationId": "Get_Node_Group",
        "parameters": [
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the cluster."
          },
          {
            "name": "node_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the node group."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusterNodeGroupsGetResponse"
                },
                "example": {
                  "status": true,
                  "message": "Node group 987 retrieved successfully",
                  "node_group": {
                    "id": 8429,
                    "name": "default",
                    "role": "worker",
                    "flavor": {
                      "id": 2058,
                      "name": "n1-cpu-small",
                      "cpu": 4,
                      "ram": 4,
                      "disk": 100,
                      "ephemeral": 0,
                      "gpu": "",
                      "gpu_count": 0,
                      "labels": [],
                      "features": {
                        "network_optimised": false,
                        "no_reboot": false,
                        "no_hibernation": false,
                        "no_snapshot": false,
                        "local_storage_only": false,
                        "api_only": false
                      }
                    },
                    "count": 1,
                    "min_count": 1,
                    "max_count": 1,
                    "firewall_ids": [],
                    "firewalls": [],
                    "created_at": "2026-05-07T09:21:55Z",
                    "updated_at": "2026-05-07T09:21:55Z"
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Node group 987 retrieved successfully",
                      "node_group": {
                        "id": 8429,
                        "name": "default",
                        "role": "worker",
                        "flavor": {
                          "id": 2058,
                          "name": "n1-cpu-small",
                          "cpu": 4,
                          "ram": 4,
                          "disk": 100,
                          "ephemeral": 0,
                          "gpu": "",
                          "gpu_count": 0,
                          "labels": [],
                          "features": {
                            "network_optimised": false,
                            "no_reboot": false,
                            "no_hibernation": false,
                            "no_snapshot": false,
                            "local_storage_only": false,
                            "api_only": false
                          }
                        },
                        "count": 1,
                        "min_count": 1,
                        "max_count": 1,
                        "firewall_ids": [],
                        "firewalls": [],
                        "created_at": "2026-05-07T09:21:55Z",
                        "updated_at": "2026-05-07T09:21:55Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "description": "Retrieves the full configuration and metadata of a specific node group within a given cluster in Hyperstack. Node groups represent groups of worker nodes with shared hardware configurations within a cluster."
      },
      "delete": {
        "tags": [
          "Clusters"
        ],
        "summary": "Delete a node group",
        "operationId": "Delete_Node_Group",
        "parameters": [
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the cluster."
          },
          {
            "name": "node_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the node group."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "description": "Deletes an existing [**node group**](https://docs.hyperstack.cloud/docs/kubernetes/kubernetes-ui#cluster-node-groups) from a Kubernetes cluster in Hyperstack. This operation removes all worker nodes associated with the specified node group. A cluster must always have at least one worker node in at least one node group. You cannot delete the last remaining worker node group in a cluster."
      },
      "patch": {
        "tags": [
          "Clusters"
        ],
        "summary": "Update a node group in a cluster",
        "operationId": "Update_Node_Group",
        "parameters": [
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the cluster."
          },
          {
            "name": "node_group_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the node group."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Update_ClusterNodeGroup_payload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusterNodeGroupsCreateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "description": "Updates the **minimum** and **maximum** worker node limits for an existing [**node group**](https://docs.hyperstack.cloud/docs/kubernetes/kubernetes-ui#cluster-node-groups) in a Kubernetes cluster. These boundaries define the range within which the node group can be scaled. Add firewall rules to all worker nodes within the node group using the `firewall_ids` parameter.\n\nBy default, `min_count` and `max_count` are both set to the number of worker nodes initially deployed in the node group. For example, if a node group is created with 2 worker nodes, both `min_count` and `max_count` default to `2`.\n\n**Manual scaling:** These limits apply only to autoscaling operations. Manual addition or removal of worker nodes beyond `min_count` and `max_count` is not restricted by this API."
      }
    },
    "/core/clusters/{cluster_id}/nodes": {
      "get": {
        "tags": [
          "Clusters"
        ],
        "summary": "Get cluster nodes",
        "operationId": "Get_Cluster_Nodes",
        "parameters": [
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the cluster."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusterNodesListResponse"
                },
                "example": {
                  "status": true,
                  "message": "Cluster nodes retrieved successfully",
                  "nodes": [
                    {
                      "id": 5341,
                      "node_group_id": null,
                      "node_group_name": null,
                      "instance": {
                        "id": 2058,
                        "name": "example-c1-bastion-0",
                        "status": "ACTIVE",
                        "fixed_ip": "203.0.113.205",
                        "floating_ip": "198.51.100.27",
                        "floating_ip_status": "ATTACHED",
                        "contract_id": null,
                        "image_id": 2058
                      },
                      "role": "bastion",
                      "status": "ACTIVE",
                      "status_reason": "Node is reconciled",
                      "is_bastion": true,
                      "requires_public_ip": true,
                      "created_at": "2026-05-06T14:32:11Z",
                      "updated_at": "2026-05-06T14:32:11Z"
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Cluster nodes retrieved successfully",
                      "nodes": [
                        {
                          "id": 5341,
                          "node_group_id": null,
                          "node_group_name": null,
                          "instance": {
                            "id": 2058,
                            "name": "example-c1-bastion-0",
                            "status": "ACTIVE",
                            "fixed_ip": "203.0.113.205",
                            "floating_ip": "198.51.100.27",
                            "floating_ip_status": "ATTACHED",
                            "contract_id": null,
                            "image_id": 2058
                          },
                          "role": "bastion",
                          "status": "ACTIVE",
                          "status_reason": "Node is reconciled",
                          "is_bastion": true,
                          "requires_public_ip": true,
                          "created_at": "2026-05-06T14:32:11Z",
                          "updated_at": "2026-05-06T14:32:11Z"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "description": "Retrieves detailed information about the nodes of a specified Kubernetes cluster. Each node entry includes its ID, role (worker or master), flavor, and current status."
      },
      "post": {
        "tags": [
          "Clusters"
        ],
        "summary": "Create Node",
        "operationId": "Create_Node",
        "parameters": [
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the cluster."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateClusterNodeFields"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusterNodesListResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "errors": {
                        "flavor_name": [
                          "Unknown field."
                        ]
                      }
                    }
                  }
                },
                "example": {
                  "status": false,
                  "errors": {
                    "flavor_name": [
                      "Unknown field."
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "description": "Creates one or more nodes and adds them to an existing Kubernetes cluster. Specify the Kubernetes cluster ID in the path and include the node `count` and `role` in the request body. **Worker** and **master** nodes can be added dynamically to a cluster. Optionally, specify the `node_group` name to add the nodes to a node group other than the `default` one."
      }
    },
    "/core/clusters/{cluster_id}/nodes/delete": {
      "post": {
        "tags": [
          "Clusters"
        ],
        "summary": "Delete multiple cluster nodes",
        "operationId": "Delete_Cluster_Nodes",
        "parameters": [
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the cluster."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteClusterNodesFields"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "description": "Deletes one or more nodes (worker or master) from a specific Kubernetes cluster. Provide the target `cluster_id` in the path and an array of node `ids` in the request body.\n\n**Minimum node requirements:** Each node group must retain at least one worker node, and each cluster must retain at least two master nodes. Deletion requests that would violate either of these minimums are rejected."
      }
    },
    "/core/clusters/{cluster_id}/nodes/{node_id}": {
      "delete": {
        "tags": [
          "Clusters"
        ],
        "summary": "Delete cluster node",
        "operationId": "Delete_Cluster_Node",
        "parameters": [
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the cluster."
          },
          {
            "name": "node_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the node."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "description": "Removes a node from a specified Kubernetes cluster. Provide the **cluster ID** and **node ID** in the path to delete the specified node. You can obtain the `node_id` by calling the [**Get cluster nodes**](https://docs.hyperstack.cloud/docs/api-reference/get-cluster-nodes). Before deleting a node using the Hyperstack API, drain it from Kubernetes (`kubectl drain` then `kubectl delete node`) to prevent orphaned resources. Any data stored on a deleted node is permanently lost."
      }
    },
    "/core/clusters/{cluster_id}/reconcile": {
      "post": {
        "tags": [
          "Clusters"
        ],
        "summary": "Reconcile a cluster",
        "operationId": "Reconcile_cluster",
        "parameters": [
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the cluster."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManualReconciliationModel"
                },
                "example": {
                  "status": true,
                  "message": "Cluster 1617 is being reconciled"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Cluster 1617 is being reconciled"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "description": "Triggers reconciliation manually for a specific Kubernetes cluster. This operation checks and restores the desired state of the cluster, resolving drift between expected and actual configuration. Use this when your cluster is in an `ERROR` state or experiencing issues such as stalled provisioning or unresponsive components.\n\nIf reconciliation does not resolve the issue, [**delete the cluster**](https://docs.hyperstack.cloud/docs/api-reference/delete-cluster) and [**create a new one**](https://docs.hyperstack.cloud/docs/api-reference/create-cluster) rather than retrying. Repeated reconciliation attempts are unlikely to fix underlying infrastructure or configuration problems.\n\n**Cluster status and reconciliation:** Manual reconciliation is disabled while a cluster is already in the `RECONCILING` state. For what each cluster status means, see the [**cluster statuses guide**](https://docs.hyperstack.cloud/docs/kubernetes/kubernetes-ui#cluster-statuses)."
      }
    },
    "/core/clusters/{id}": {
      "get": {
        "tags": [
          "Clusters"
        ],
        "summary": "Get cluster details",
        "operationId": "Getting_Cluster_Detail",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the cluster."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClusterResponse"
                },
                "example": {
                  "status": true,
                  "message": "Getting cluster detail success",
                  "cluster": {
                    "id": 2058,
                    "name": "example-c1",
                    "environment_name": "example-environment",
                    "environment_region": "NORWAY-1",
                    "kubernetes_version": "1.35.1",
                    "api_address": "https://api.example-c1-8a1cf2.example-environment.hyperstackcustomers.cloud:6443",
                    "kube_config": "YXBpVmVyc2lvbjogdjEKY2x1c3RlcnM6Ci0gY2x1c3RlcjoKICAgIGNlcnRpZmljYXRlLWF1dGhvcml0eS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VSQ1ZFTkRRV1V5WjBGM1NVSkJaMGxKU0ZWVmFubzVTbEYwYmtsM1JGRlpTa3R2V2tsb2RtTk9RVkZGVEVKUlFYZEdWRVZVVFVKRlIwRXhWVVVLUVhoTlMyRXpWbWxhV0VwMVdsaFNiR042UVdWR2R6QjVUbXBCTVUxRVkzaE9lbFY1VFZSQ1lVWjNNSHBPYWtFeFRVUlJlRTU2VlROTlZFSmhUVUpWZUFwRmVrRlNRbWRPVmtKQlRWUkRiWFF4V1cxV2VXSnRWakJhV0UxM1oyZEZhVTFCTUVkRFUzRkhVMGxpTTBSUlJVSkJVVlZCUVRSSlFrUjNRWGRuWjBWTENrRnZTVUpCVVVNM1JVdFNlamRsTjNSaUsxTjZWa2RoT1c1R1RrSklXR2hHSzFka2VYQkRiMGd6WjB4blpWQnZRbTlpZUM4d1RsWjZkSHBLYTJJMWJUUUtZbUl6ZGtSbE5VTmtiSFVyYkhWcFMzRllXbWhQV0hwV05taEdWR05aYTNwTGFrUlZjMlZRU0ZaWk5XZG5Na1pDTURsdFkwVk5iMnhzUkhaV1owWldSQXBWTjJ0YVNIaDZUVGwzWjBWeGVqQkRiM2RCYUZGcFJXaFdRVVpJVHpVNU16bEpjRnBtZVdkaFVXVmlZbGx5ZUdadmMyVldZaTlHT1hOdVZ6SXdVRE01Q2pWTVluUXJPR3hNVEdKRFFrTXdNMG93V0dGU1NVUlVRbXRYZURSWlZWbDRTM05QY0dOU01tbENhVkpKYWsxamJrdHdNVTkwV21sQ2EycHdUV3RxYkcwS2EzaDVZbk13ZFRkblFucElObHBZYVZoMVJYUTVSMVJPTHpVMmRrTTNZelZxY0c5TVIyWjFRbmhsV1RoUlltWlVTRUpVYW0xWVpXUk1keXRJTlRrelNRcEllRXAwTW1oSVJqRkJiRVk0UlUxUVMwZGpNR2h6ZEdoSldtdHFRV2ROUWtGQlIycFhWRUpZVFVFMFIwRXhWV1JFZDBWQ0wzZFJSVUYzU1VOd1JFRlFDa0puVGxaSVVrMUNRV1k0UlVKVVFVUkJVVWd2VFVJd1IwRXhWV1JFWjFGWFFrSlVMM0ZKT1doYWRDdFdOMVZXTWtORWEyRk1XRXBWT1VOM1JteEVRVllLUW1kT1ZraFNSVVZFYWtGTloyZHdjbVJYU214amJUVnNaRWRXZWsxQk1FZERVM0ZIVTBsaU0wUlJSVUpEZDFWQlFUUkpRa0ZSUVU1Q1puSTBUa2xYUndwa00xRjZVa04yUzJsd2VIQkxUemRXT1VwMldsUnBSRFZDUVZoUWVHbFpObVp2YUdGSlpFeFZRVGNyWVVGSk9USlpUbnBpTVVWTlFUaDVlbll3Yml0TkNteDBkR2xNYzFaU2VGaFdSVFVyU1dRNFFUSklORXN3ZVhoR2RVNTZNRmd4VlVONE5sRm9WM2xaTlZGamRreHVVbUYzUjB0a1VIVnZXRkpJTkdOWFRGY0tRV1ZuUjFSRk1Fa3hWV3d5ZG1wd1FsQnZWR0ZWY1RScmFqSmpSRGc1S3pkWFpGTlpSRmN5VXpoMWNIaFBaVkpQWjJkQ00wOXRZMVJ6VFROcWRYQjRXUXBhVkVKQlNpdEJVRmswTUU5Q05raFNRVWc1TnpORGIyOW9iSEpZZDFOVFJESlZWbkV4ZG5kTWIwczNhbkJKUm01R1psTXlVVUZNWVd0WmIycGpZVkJNQ2xFM2JYTk5ka1JqZDFWV01HTTBXRXhNYVZSNWFEZHhZa2RzYlU5YVIwY3lhVFp3TjNKTVlUSlJNVzFLSzNkTWRVVlBNVkJLV1VOQk16RXdOMDk1UkZrS2NFRkZVMDg0YzFSa1kwZEVDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsKICAgIHNlcnZlcjogaHR0cHM6Ly9hcGkuYXBpdGVzdC01NTJmODI2YS1jMS04YTFjZjIuYXBpdGVzdC01NTJmODI2YS1lbnYuaHlwZXJzdGFja2N1c3RvbWVycy5jbG91ZDo2NDQzCiAgbmFtZTogYXBpdGVzdC01NTJmODI2YS1jMS04YTFjZjIKY29udGV4dHM6Ci0gY29udGV4dDoKICAgIGNsdXN0ZXI6IGFwaXRlc3QtNTUyZjgyNmEtYzEtOGExY2YyCiAgICB1c2VyOiBrdWJlcm5ldGVzLWFkbWluCiAgbmFtZToga3ViZXJuZXRlcy1hZG1pbkBhcGl0ZXN0LTU1MmY4MjZhLWMxLThhMWNmMgpjdXJyZW50LWNvbnRleHQ6IGt1YmVybmV0ZXMtYWRtaW5AYXBpdGVzdC01NTJmODI2YS1jMS04YTFjZjIKa2luZDogQ29uZmlnCnVzZXJzOgotIG5hbWU6IGt1YmVybmV0ZXMtYWRtaW4KICB1c2VyOgogICAgY2xpZW50LWNlcnRpZmljYXRlLWRhdGE6IExTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVVJMVkVORFFXaEhaMEYzU1VKQlowbEpXV05zY1d4b1dUUlFaR2QzUkZGWlNrdHZXa2xvZG1OT1FWRkZURUpSUVhkR1ZFVlVUVUpGUjBFeFZVVUtRWGhOUzJFelZtbGFXRXAxV2xoU2JHTjZRV1ZHZHpCNVRtcEJNVTFFWTNoT2VsVjVUVlJDWVVaM01IbE9la0V4VFVSamVFNTZWVE5OVkVKaFRVUjNlQXBJZWtGa1FtZE9Wa0pCYjFSR2JYUXhXVzFXYUZwSE1EWlpNbmd4WXpOU2JHTnBNV2hhUnpGd1ltNU5lRWRVUVZoQ1owNVdRa0ZOVkVWSGRERlpiVlo1Q21KdFZqQmFXRTEwV1ZkU2RHRlhOSGRuWjBWcFRVRXdSME5UY1VkVFNXSXpSRkZGUWtGUlZVRkJORWxDUkhkQmQyZG5SVXRCYjBsQ1FWRkRkbWw2YUZVS1ZrMTNSMGx5UzBoTlRHeHJVVkp5S3psNGRIWlVXVWR5TW1WSWJqTTNXRU5MT1V0UlFUTlVTbVUyTUVzeE1VOURNMWR4YW1GblVHOVBkRlJNUzJGbmFncFNVVW9yYURKNVJFTktXbVExYmxKU2JGYzBRMmhIT0dacU1qZFZTMk5CZG0xdFduWklkVGRPVm5SaFQxVXJWM0E1ZEhScVNIQllOMFpwWTFSTVpUSXZDbnBaVHpSRVJYbHdVMDlIYTJkb1QxQjNUM05RY0VGU2MwdFpaVTlXWWxoM1RXVnlVbVZCUTNNM1dqVnJWVE4wV1hJd1kybzVVVkZqYmxGUFUwaE5TSFVLTld4clNtTjFSbmhpZWtwNWVWQllXVTlsTVM5cGNtdFliVmx3VVV0aGJGUlJSMVV6UmpsS05XcFFUR3hTTVhsMVNEZExWVkJWVW1aRVowa3hSRloxZHdwTFVsaGFUak5GYm14Q2NFcHpVR2Q2ZUV0NGJ5c3ZSa0p2TTAxd2FrOXZNRXRHY2tVcmVXSXdiVzQwT0hwS2MyUlhjbTFUU1VNeWVYRkZPRUpOZWxaMENqWkdlVzU2YUZwV01scFZPR3czVlZwQlowMUNRVUZIYWxacVFsVk5RVFJIUVRGVlpFUjNSVUl2ZDFGRlFYZEpSbTlFUVZSQ1owNVdTRk5WUlVSRVFVc0tRbWRuY2tKblJVWkNVV05FUVdwQlRVSm5UbFpJVWsxQ1FXWTRSVUZxUVVGTlFqaEhRVEZWWkVsM1VWbE5RbUZCUmxBcmIyb3lSbTB6TlZoMFVsaFpTUXBQVW05MFkyeFVNRXhCVjFWTlFUQkhRMU54UjFOSllqTkVVVVZDUTNkVlFVRTBTVUpCVVVFMVYyUnRTMVpLVm1SUWVHbHJSMEprVkZFclVXNUxaek0zQ2pSc1NUQjFkV1JrYkRFeWNqRjJPSGh5WldaR1YzRktXRXB2VFd0cU1XZ3hZazE1YjB4c2IzTkdTa2hSWmtSMWJsRnpUR1ExYkV4Skx6WjZORXhoYUdvS2R6ZzBjbGxSTmtwa05IRmFhVmhGWkU1WGNYbHpXRTFWY1hFME5uQlRVazVHV0doT1JEZ3ZZamhRWW04NE5XWTRVbTVuVG5FME0yMVRlR1pNZEdKRVRncElTblE1UlRseFMwSndXV3gwY25SU1VFRnhNMGt6TW5sTGJFUnZVR3hzTWswelNFOXhjRmRUT1V0QlNVZzFWVzAxWm1KRmJWbExNVk50VlhnMWFtOHhDakJKZW1aTGRrRnVabmRrYzB4WVJVY3dLM0o2VFRRelFuVXJUbEE1VlZFNVJVeEliRlZpY1hBeFYwdG5lbXN5ZUZoWU5ubFFhM05HY0d4Q09HMDVNUzhLUWxGSmNVWmlhbEJ0Wm5SQ1ZFWk1UbEpwVlVVM2RHeENjVGx2TTBwRWVEWkJiRkZhZEZOSlYzaDJOWHBTU0hVemQxTXlTMVY0UkZCTmNIcFhDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsKICAgIGNsaWVudC1rZXktZGF0YTogTFMwdExTMUNSVWRKVGlCU1UwRWdVRkpKVmtGVVJTQkxSVmt0TFMwdExRcE5TVWxGY0VGSlFrRkJTME5CVVVWQmNqUnpORlpHVkUxQ2FVdDVhSHBETlZwRlJXRXZkbU5pWWpBeVFuRTVibWcxT1NzeGQybDJVMnRCVGpCNVdIVjBDa04wWkZSbmRERnhiekp2UkRaRWNsVjVlVzF2U1RCVlEyWnZaSE5uZDJsWFdHVmFNRlZhVm5WQmIxSjJTRFE1ZFRGRGJrRk1OWEJ0WW5nM2RYcFdZbGNLYW14UWJIRm1ZbUpaZURaV0szaFpia1Y1TTNSMk9ESkVkVUY0VFhGVmFtaHdTVWxVYWpoRWNrUTJVVVZpUTIxSWFteFhNVGhFU0hFd1dHZEJjazh5WlFwYVJrNDNWMHM1U0VrdlZVVklTakJFYTJoNlFqZDFXbHBEV0V4b1kxYzRlV056YWpFeVJHNTBaalJ4TlVZMWJVdFZRMjF3VlRCQ2JFNTRabE5sV1hwNUNqVlZaR055YUN0NWJFUXhSVmgzTkVOT1VURmljME5yVmpKVVpIaEtOVkZoVTJKRU5FMDRVM05oVUhaNFVXRk9la3RaZW5GT1EyaGhlRkJ6YlRsS2NDc0tVRTE1WWtoV2NUVnJhVUYwYzNGb1VFRlVUVEZpWldoamNEZzBWMVprYlZaUVNtVXhSMUZKUkVGUlFVSkJiMGxDUVVGbmNtRkpSekJQU2t0SmFIUndNd293UVdvd1duSmpOamxPU0c1UU5FOXdOMnBQUjFjNFZXWnRVSE5QZW1nMllWaFBSa2RUUTB0ekx6QjBMMjlhVEhKUFowRkRabXR4TVRaWWJrNHZObFJTQ21Zek16ZFFZWEZYVlRkd1YxRXpNbkZvVkZCdGFGbFZlRzlHWWtocU9FZExjWGN5VVhCbU1sVXJXSHBTWWxwV2VqUkliWEZDTkdsSWJtWjFkM2gwYVZNS1FtSTFUVTR6UkZoUU5XeEpkblJRZURCMFkzazRabUYwZGtGdWJtZG5WbUkzV1ZkRU4wRnJSM00zVEZKb2F6aE5WRk53VFhBNGVWTlhWRzV4UjJ0M2JncEtkR3BITTJkT1dqZDRRMDlrTW5aUFNWVXlaalpYV0dkSWFuQjRTVmd2WkhOSVJrTTBNR3RCTUhZclpXY3lNVUpwUWpBNVQyVjFPQ3RwUVcxNVlsSk1DalpXUjBWcFlsTkZUMVpXWWxNemExbGxOVlpETWs5emEwTlJNbkphTkVzeUsxQk5RbTlxZGxkYWR6WktOV0V5Tm5wME5HVjJabk5LTkVVeGMydEpTV1FLTHpNM1RXWjNSVU5uV1VWQmR6bFNRV1l6WkZOdk1VNTBVVmMzYmxkSGJWRTVla2h3YW5OalQyTjRaMEZQWW5FMlUwaDRiV1pTYlVWSFltWlJabVpTYVFwV1NFSTRjQ3MyTmtWUk5VczJlR3R0UjBsMVRrRjVOM2hNWjBoWE0wTlhkelJKTnprNFFuQkVTelo2VG5ZMFlsY3ZkbTVXV1dOdVlXTllUazFIYms1bkNrSmlUbnBFU1ZKU1dHNXhRMVJsWlZkclkzQmtablZoTjNweWNESmlWVXR0WmpJM2VqRlBNME5TWWpoNVJXRTJibHBGYjFFeVUydERaMWxGUVRWWWRGa0tZMDlTT1VkelF6QnVZWE15TTNrdmFqWlBaWFpoYURCWFdFMVhkM1kzUzA5Wk1WcDBMMUZJWTNaUGFYSlRkVlExVmpObVZYUkdkbGRFYzJoVldWQTVlQXBGVTI1NFFqSnpTRkJKVkZnNU1pdENVbkUzV1ZGM2VGZHJVRU1yU2s1NlpVNVpkMmxtYkVoeFlWTnBjV3ROVjBwMFUyMTJVVkpFTUhKd1pXNVFOWFpWQ25nNWNESjFiVkJyVm5kdWVHeE9TM05WVFVOamRFSTBaMGRtTUhaUWNUSjZWVXAxVTFOdVJVTm5XVUppZWpkc2JHbFpXQ3NyVUVGNVV6RkxMMmx6TjJrS1pHczBkMGRJWkZnd2NISlpaR2RyT0ZSellXMVNSRFZCTmtsTmFHRnRRbTVuYXpKUVZtdGtOa1UxT1dkV1pYZGpaV1ZFYXpaNU9EaERURk0xYUdod1JncFVaMVZWWlhSMVprMUhaRTlOYlU4clN6RmxNV1o2VDJoSFVrNUlSeko1WW1ZMlUyazJOalZUWnpGR2QxRlFTRUUzU1Zkc1NqTjRTakJtV1ZGQ056SlVDalZYYzBGSE0wTkllbkp2YTNaRFVGTjVlamRYT0ZGTFFtZFJRMGw1Tmxac04zQTJlRUYxZW05RVJHTjVhR3czU3paTmJVWmlVRGt5YjBKWlJIZENTRzRLU0RRclJGRmpablpEU21WTWJITkZXVXBuVDNrelFXWllWMmMwUzI5R2MzSlRlVUV5VG5SUWFXWkxTWFJEZEdjMldsZElabGhuZVVGaVJFazRNRlJxV2dwSVRXTXpSeXRsY21ScFZuWkdXVXBKWW5sbVkyeHdiakZPWTNaeFVFSTVNRmd3VG14VGMxUkZTMlJhVEhrcldWTlpVemxKYnpacGNFNVhZMnBoZGtrMENtVXZVMUl3VVV0Q1oxRkRRWFkxVlRBMldVb3hUazEyS3paVlkzQkVZVGhhVURjdlVubE5ZblZKWTB4S1pWZDRRVkV6VG05TE1saFZPWFpWVkVRdk5ta0thWFpKYVVrd2IwZFVjRmtySzJ0WWIxSndiMU0yUm1OQmRIZEdOSEJFZWxCSWIwRlBiMjlwVFZaaE5uUTBaVTgxWjJrdlpqUkJkVlZyWldoSlJWQkthQW94TlRaNVJHZFlObVJhT0U0eFJFUk9SR3AwVFd0b2JIZDRTbEprY2pSNFMyaE9SbGNyT1dKdlRsaEdXVTV3VjFJM2NFaGtVbmM5UFFvdExTMHRMVVZPUkNCU1UwRWdVRkpKVmtGVVJTQkxSVmt0TFMwdExRbz0K",
                    "status": "DELETING",
                    "status_reason": "K8s is ready",
                    "green_status": "GREEN",
                    "master_flavor": {
                      "id": 3287,
                      "name": "n1-cpu-small",
                      "cpu": 4,
                      "ram": 4,
                      "disk": 100,
                      "ephemeral": 0,
                      "gpu": "",
                      "gpu_count": 0,
                      "labels": [],
                      "features": {
                        "network_optimised": false,
                        "no_reboot": false,
                        "no_hibernation": false,
                        "no_snapshot": false,
                        "local_storage_only": false,
                        "api_only": false
                      }
                    },
                    "master_count": 0,
                    "keypair_name": "example-keypair",
                    "created_at": "2026-05-07T11:47:30Z",
                    "image": {
                      "name": "Ubuntu 24.04 LTS Hyperstack Kubernetes v1.35.1"
                    },
                    "node_groups": [
                      {
                        "id": 9876,
                        "cluster_id": 8429,
                        "name": "default",
                        "role": "worker",
                        "flavor": {
                          "id": 4501,
                          "name": "n1-cpu-small",
                          "cpu": 4,
                          "ram": 4,
                          "disk": 100,
                          "ephemeral": 0,
                          "gpu": "",
                          "gpu_count": 0,
                          "labels": [],
                          "features": {
                            "network_optimised": false,
                            "no_reboot": false,
                            "no_hibernation": false,
                            "no_snapshot": false,
                            "local_storage_only": false,
                            "api_only": false
                          }
                        },
                        "count": 0,
                        "min_count": 1,
                        "max_count": 1,
                        "firewall_ids": []
                      }
                    ],
                    "nodes": [],
                    "is_reconciling": true
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting cluster detail success",
                      "cluster": {
                        "id": 2058,
                        "name": "example-c1",
                        "environment_name": "example-environment",
                        "environment_region": "NORWAY-1",
                        "kubernetes_version": "1.35.1",
                        "api_address": "https://api.example-c1-8a1cf2.example-environment.hyperstackcustomers.cloud:6443",
                        "kube_config": "YXBpVmVyc2lvbjogdjEKY2x1c3RlcnM6Ci0gY2x1c3RlcjoKICAgIGNlcnRpZmljYXRlLWF1dGhvcml0eS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VSQ1ZFTkRRV1V5WjBGM1NVSkJaMGxKU0ZWVmFubzVTbEYwYmtsM1JGRlpTa3R2V2tsb2RtTk9RVkZGVEVKUlFYZEdWRVZVVFVKRlIwRXhWVVVLUVhoTlMyRXpWbWxhV0VwMVdsaFNiR042UVdWR2R6QjVUbXBCTVUxRVkzaE9lbFY1VFZSQ1lVWjNNSHBPYWtFeFRVUlJlRTU2VlROTlZFSmhUVUpWZUFwRmVrRlNRbWRPVmtKQlRWUkRiWFF4V1cxV2VXSnRWakJhV0UxM1oyZEZhVTFCTUVkRFUzRkhVMGxpTTBSUlJVSkJVVlZCUVRSSlFrUjNRWGRuWjBWTENrRnZTVUpCVVVNM1JVdFNlamRsTjNSaUsxTjZWa2RoT1c1R1RrSklXR2hHSzFka2VYQkRiMGd6WjB4blpWQnZRbTlpZUM4d1RsWjZkSHBLYTJJMWJUUUtZbUl6ZGtSbE5VTmtiSFVyYkhWcFMzRllXbWhQV0hwV05taEdWR05aYTNwTGFrUlZjMlZRU0ZaWk5XZG5Na1pDTURsdFkwVk5iMnhzUkhaV1owWldSQXBWTjJ0YVNIaDZUVGwzWjBWeGVqQkRiM2RCYUZGcFJXaFdRVVpJVHpVNU16bEpjRnBtZVdkaFVXVmlZbGx5ZUdadmMyVldZaTlHT1hOdVZ6SXdVRE01Q2pWTVluUXJPR3hNVEdKRFFrTXdNMG93V0dGU1NVUlVRbXRYZURSWlZWbDRTM05QY0dOU01tbENhVkpKYWsxamJrdHdNVTkwV21sQ2EycHdUV3RxYkcwS2EzaDVZbk13ZFRkblFucElObHBZYVZoMVJYUTVSMVJPTHpVMmRrTTNZelZxY0c5TVIyWjFRbmhsV1RoUlltWlVTRUpVYW0xWVpXUk1keXRJTlRrelNRcEllRXAwTW1oSVJqRkJiRVk0UlUxUVMwZGpNR2h6ZEdoSldtdHFRV2ROUWtGQlIycFhWRUpZVFVFMFIwRXhWV1JFZDBWQ0wzZFJSVUYzU1VOd1JFRlFDa0puVGxaSVVrMUNRV1k0UlVKVVFVUkJVVWd2VFVJd1IwRXhWV1JFWjFGWFFrSlVMM0ZKT1doYWRDdFdOMVZXTWtORWEyRk1XRXBWT1VOM1JteEVRVllLUW1kT1ZraFNSVVZFYWtGTloyZHdjbVJYU214amJUVnNaRWRXZWsxQk1FZERVM0ZIVTBsaU0wUlJSVUpEZDFWQlFUUkpRa0ZSUVU1Q1puSTBUa2xYUndwa00xRjZVa04yUzJsd2VIQkxUemRXT1VwMldsUnBSRFZDUVZoUWVHbFpObVp2YUdGSlpFeFZRVGNyWVVGSk9USlpUbnBpTVVWTlFUaDVlbll3Yml0TkNteDBkR2xNYzFaU2VGaFdSVFVyU1dRNFFUSklORXN3ZVhoR2RVNTZNRmd4VlVONE5sRm9WM2xaTlZGamRreHVVbUYzUjB0a1VIVnZXRkpJTkdOWFRGY0tRV1ZuUjFSRk1Fa3hWV3d5ZG1wd1FsQnZWR0ZWY1RScmFqSmpSRGc1S3pkWFpGTlpSRmN5VXpoMWNIaFBaVkpQWjJkQ00wOXRZMVJ6VFROcWRYQjRXUXBhVkVKQlNpdEJVRmswTUU5Q05raFNRVWc1TnpORGIyOW9iSEpZZDFOVFJESlZWbkV4ZG5kTWIwczNhbkJKUm01R1psTXlVVUZNWVd0WmIycGpZVkJNQ2xFM2JYTk5ka1JqZDFWV01HTTBXRXhNYVZSNWFEZHhZa2RzYlU5YVIwY3lhVFp3TjNKTVlUSlJNVzFLSzNkTWRVVlBNVkJLV1VOQk16RXdOMDk1UkZrS2NFRkZVMDg0YzFSa1kwZEVDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsKICAgIHNlcnZlcjogaHR0cHM6Ly9hcGkuYXBpdGVzdC01NTJmODI2YS1jMS04YTFjZjIuYXBpdGVzdC01NTJmODI2YS1lbnYuaHlwZXJzdGFja2N1c3RvbWVycy5jbG91ZDo2NDQzCiAgbmFtZTogYXBpdGVzdC01NTJmODI2YS1jMS04YTFjZjIKY29udGV4dHM6Ci0gY29udGV4dDoKICAgIGNsdXN0ZXI6IGFwaXRlc3QtNTUyZjgyNmEtYzEtOGExY2YyCiAgICB1c2VyOiBrdWJlcm5ldGVzLWFkbWluCiAgbmFtZToga3ViZXJuZXRlcy1hZG1pbkBhcGl0ZXN0LTU1MmY4MjZhLWMxLThhMWNmMgpjdXJyZW50LWNvbnRleHQ6IGt1YmVybmV0ZXMtYWRtaW5AYXBpdGVzdC01NTJmODI2YS1jMS04YTFjZjIKa2luZDogQ29uZmlnCnVzZXJzOgotIG5hbWU6IGt1YmVybmV0ZXMtYWRtaW4KICB1c2VyOgogICAgY2xpZW50LWNlcnRpZmljYXRlLWRhdGE6IExTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVVJMVkVORFFXaEhaMEYzU1VKQlowbEpXV05zY1d4b1dUUlFaR2QzUkZGWlNrdHZXa2xvZG1OT1FWRkZURUpSUVhkR1ZFVlVUVUpGUjBFeFZVVUtRWGhOUzJFelZtbGFXRXAxV2xoU2JHTjZRV1ZHZHpCNVRtcEJNVTFFWTNoT2VsVjVUVlJDWVVaM01IbE9la0V4VFVSamVFNTZWVE5OVkVKaFRVUjNlQXBJZWtGa1FtZE9Wa0pCYjFSR2JYUXhXVzFXYUZwSE1EWlpNbmd4WXpOU2JHTnBNV2hhUnpGd1ltNU5lRWRVUVZoQ1owNVdRa0ZOVkVWSGRERlpiVlo1Q21KdFZqQmFXRTEwV1ZkU2RHRlhOSGRuWjBWcFRVRXdSME5UY1VkVFNXSXpSRkZGUWtGUlZVRkJORWxDUkhkQmQyZG5SVXRCYjBsQ1FWRkRkbWw2YUZVS1ZrMTNSMGx5UzBoTlRHeHJVVkp5S3psNGRIWlVXVWR5TW1WSWJqTTNXRU5MT1V0UlFUTlVTbVUyTUVzeE1VOURNMWR4YW1GblVHOVBkRlJNUzJGbmFncFNVVW9yYURKNVJFTktXbVExYmxKU2JGYzBRMmhIT0dacU1qZFZTMk5CZG0xdFduWklkVGRPVm5SaFQxVXJWM0E1ZEhScVNIQllOMFpwWTFSTVpUSXZDbnBaVHpSRVJYbHdVMDlIYTJkb1QxQjNUM05RY0VGU2MwdFpaVTlXWWxoM1RXVnlVbVZCUTNNM1dqVnJWVE4wV1hJd1kybzVVVkZqYmxGUFUwaE5TSFVLTld4clNtTjFSbmhpZWtwNWVWQllXVTlsTVM5cGNtdFliVmx3VVV0aGJGUlJSMVV6UmpsS05XcFFUR3hTTVhsMVNEZExWVkJWVW1aRVowa3hSRloxZHdwTFVsaGFUak5GYm14Q2NFcHpVR2Q2ZUV0NGJ5c3ZSa0p2TTAxd2FrOXZNRXRHY2tVcmVXSXdiVzQwT0hwS2MyUlhjbTFUU1VNeWVYRkZPRUpOZWxaMENqWkdlVzU2YUZwV01scFZPR3czVlZwQlowMUNRVUZIYWxacVFsVk5RVFJIUVRGVlpFUjNSVUl2ZDFGRlFYZEpSbTlFUVZSQ1owNVdTRk5WUlVSRVFVc0tRbWRuY2tKblJVWkNVV05FUVdwQlRVSm5UbFpJVWsxQ1FXWTRSVUZxUVVGTlFqaEhRVEZWWkVsM1VWbE5RbUZCUmxBcmIyb3lSbTB6TlZoMFVsaFpTUXBQVW05MFkyeFVNRXhCVjFWTlFUQkhRMU54UjFOSllqTkVVVVZDUTNkVlFVRTBTVUpCVVVFMVYyUnRTMVpLVm1SUWVHbHJSMEprVkZFclVXNUxaek0zQ2pSc1NUQjFkV1JrYkRFeWNqRjJPSGh5WldaR1YzRktXRXB2VFd0cU1XZ3hZazE1YjB4c2IzTkdTa2hSWmtSMWJsRnpUR1ExYkV4Skx6WjZORXhoYUdvS2R6ZzBjbGxSTmtwa05IRmFhVmhGWkU1WGNYbHpXRTFWY1hFME5uQlRVazVHV0doT1JEZ3ZZamhRWW04NE5XWTRVbTVuVG5FME0yMVRlR1pNZEdKRVRncElTblE1UlRseFMwSndXV3gwY25SU1VFRnhNMGt6TW5sTGJFUnZVR3hzTWswelNFOXhjRmRUT1V0QlNVZzFWVzAxWm1KRmJWbExNVk50VlhnMWFtOHhDakJKZW1aTGRrRnVabmRrYzB4WVJVY3dLM0o2VFRRelFuVXJUbEE1VlZFNVJVeEliRlZpY1hBeFYwdG5lbXN5ZUZoWU5ubFFhM05HY0d4Q09HMDVNUzhLUWxGSmNVWmlhbEJ0Wm5SQ1ZFWk1UbEpwVlVVM2RHeENjVGx2TTBwRWVEWkJiRkZhZEZOSlYzaDJOWHBTU0hVemQxTXlTMVY0UkZCTmNIcFhDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsKICAgIGNsaWVudC1rZXktZGF0YTogTFMwdExTMUNSVWRKVGlCU1UwRWdVRkpKVmtGVVJTQkxSVmt0TFMwdExRcE5TVWxGY0VGSlFrRkJTME5CVVVWQmNqUnpORlpHVkUxQ2FVdDVhSHBETlZwRlJXRXZkbU5pWWpBeVFuRTVibWcxT1NzeGQybDJVMnRCVGpCNVdIVjBDa04wWkZSbmRERnhiekp2UkRaRWNsVjVlVzF2U1RCVlEyWnZaSE5uZDJsWFdHVmFNRlZhVm5WQmIxSjJTRFE1ZFRGRGJrRk1OWEJ0WW5nM2RYcFdZbGNLYW14UWJIRm1ZbUpaZURaV0szaFpia1Y1TTNSMk9ESkVkVUY0VFhGVmFtaHdTVWxVYWpoRWNrUTJVVVZpUTIxSWFteFhNVGhFU0hFd1dHZEJjazh5WlFwYVJrNDNWMHM1U0VrdlZVVklTakJFYTJoNlFqZDFXbHBEV0V4b1kxYzRlV056YWpFeVJHNTBaalJ4TlVZMWJVdFZRMjF3VlRCQ2JFNTRabE5sV1hwNUNqVlZaR055YUN0NWJFUXhSVmgzTkVOT1VURmljME5yVmpKVVpIaEtOVkZoVTJKRU5FMDRVM05oVUhaNFVXRk9la3RaZW5GT1EyaGhlRkJ6YlRsS2NDc0tVRTE1WWtoV2NUVnJhVUYwYzNGb1VFRlVUVEZpWldoamNEZzBWMVprYlZaUVNtVXhSMUZKUkVGUlFVSkJiMGxDUVVGbmNtRkpSekJQU2t0SmFIUndNd293UVdvd1duSmpOamxPU0c1UU5FOXdOMnBQUjFjNFZXWnRVSE5QZW1nMllWaFBSa2RUUTB0ekx6QjBMMjlhVEhKUFowRkRabXR4TVRaWWJrNHZObFJTQ21Zek16ZFFZWEZYVlRkd1YxRXpNbkZvVkZCdGFGbFZlRzlHWWtocU9FZExjWGN5VVhCbU1sVXJXSHBTWWxwV2VqUkliWEZDTkdsSWJtWjFkM2gwYVZNS1FtSTFUVTR6UkZoUU5XeEpkblJRZURCMFkzazRabUYwZGtGdWJtZG5WbUkzV1ZkRU4wRnJSM00zVEZKb2F6aE5WRk53VFhBNGVWTlhWRzV4UjJ0M2JncEtkR3BITTJkT1dqZDRRMDlrTW5aUFNWVXlaalpYV0dkSWFuQjRTVmd2WkhOSVJrTTBNR3RCTUhZclpXY3lNVUpwUWpBNVQyVjFPQ3RwUVcxNVlsSk1DalpXUjBWcFlsTkZUMVpXWWxNemExbGxOVlpETWs5emEwTlJNbkphTkVzeUsxQk5RbTlxZGxkYWR6WktOV0V5Tm5wME5HVjJabk5LTkVVeGMydEpTV1FLTHpNM1RXWjNSVU5uV1VWQmR6bFNRV1l6WkZOdk1VNTBVVmMzYmxkSGJWRTVla2h3YW5OalQyTjRaMEZQWW5FMlUwaDRiV1pTYlVWSFltWlJabVpTYVFwV1NFSTRjQ3MyTmtWUk5VczJlR3R0UjBsMVRrRjVOM2hNWjBoWE0wTlhkelJKTnprNFFuQkVTelo2VG5ZMFlsY3ZkbTVXV1dOdVlXTllUazFIYms1bkNrSmlUbnBFU1ZKU1dHNXhRMVJsWlZkclkzQmtablZoTjNweWNESmlWVXR0WmpJM2VqRlBNME5TWWpoNVJXRTJibHBGYjFFeVUydERaMWxGUVRWWWRGa0tZMDlTT1VkelF6QnVZWE15TTNrdmFqWlBaWFpoYURCWFdFMVhkM1kzUzA5Wk1WcDBMMUZJWTNaUGFYSlRkVlExVmpObVZYUkdkbGRFYzJoVldWQTVlQXBGVTI1NFFqSnpTRkJKVkZnNU1pdENVbkUzV1ZGM2VGZHJVRU1yU2s1NlpVNVpkMmxtYkVoeFlWTnBjV3ROVjBwMFUyMTJVVkpFTUhKd1pXNVFOWFpWQ25nNWNESjFiVkJyVm5kdWVHeE9TM05WVFVOamRFSTBaMGRtTUhaUWNUSjZWVXAxVTFOdVJVTm5XVUppZWpkc2JHbFpXQ3NyVUVGNVV6RkxMMmx6TjJrS1pHczBkMGRJWkZnd2NISlpaR2RyT0ZSellXMVNSRFZCTmtsTmFHRnRRbTVuYXpKUVZtdGtOa1UxT1dkV1pYZGpaV1ZFYXpaNU9EaERURk0xYUdod1JncFVaMVZWWlhSMVprMUhaRTlOYlU4clN6RmxNV1o2VDJoSFVrNUlSeko1WW1ZMlUyazJOalZUWnpGR2QxRlFTRUUzU1Zkc1NqTjRTakJtV1ZGQ056SlVDalZYYzBGSE0wTkllbkp2YTNaRFVGTjVlamRYT0ZGTFFtZFJRMGw1Tmxac04zQTJlRUYxZW05RVJHTjVhR3czU3paTmJVWmlVRGt5YjBKWlJIZENTRzRLU0RRclJGRmpablpEU21WTWJITkZXVXBuVDNrelFXWllWMmMwUzI5R2MzSlRlVUV5VG5SUWFXWkxTWFJEZEdjMldsZElabGhuZVVGaVJFazRNRlJxV2dwSVRXTXpSeXRsY21ScFZuWkdXVXBKWW5sbVkyeHdiakZPWTNaeFVFSTVNRmd3VG14VGMxUkZTMlJhVEhrcldWTlpVemxKYnpacGNFNVhZMnBoZGtrMENtVXZVMUl3VVV0Q1oxRkRRWFkxVlRBMldVb3hUazEyS3paVlkzQkVZVGhhVURjdlVubE5ZblZKWTB4S1pWZDRRVkV6VG05TE1saFZPWFpWVkVRdk5ta0thWFpKYVVrd2IwZFVjRmtySzJ0WWIxSndiMU0yUm1OQmRIZEdOSEJFZWxCSWIwRlBiMjlwVFZaaE5uUTBaVTgxWjJrdlpqUkJkVlZyWldoSlJWQkthQW94TlRaNVJHZFlObVJhT0U0eFJFUk9SR3AwVFd0b2JIZDRTbEprY2pSNFMyaE9SbGNyT1dKdlRsaEdXVTV3VjFJM2NFaGtVbmM5UFFvdExTMHRMVVZPUkNCU1UwRWdVRkpKVmtGVVJTQkxSVmt0TFMwdExRbz0K",
                        "status": "DELETING",
                        "status_reason": "K8s is ready",
                        "green_status": "GREEN",
                        "master_flavor": {
                          "id": 3287,
                          "name": "n1-cpu-small",
                          "cpu": 4,
                          "ram": 4,
                          "disk": 100,
                          "ephemeral": 0,
                          "gpu": "",
                          "gpu_count": 0,
                          "labels": [],
                          "features": {
                            "network_optimised": false,
                            "no_reboot": false,
                            "no_hibernation": false,
                            "no_snapshot": false,
                            "local_storage_only": false,
                            "api_only": false
                          }
                        },
                        "master_count": 0,
                        "keypair_name": "example-keypair",
                        "created_at": "2026-05-07T11:47:30Z",
                        "image": {
                          "name": "Ubuntu 24.04 LTS Hyperstack Kubernetes v1.35.1"
                        },
                        "node_groups": [
                          {
                            "id": 9876,
                            "cluster_id": 8429,
                            "name": "default",
                            "role": "worker",
                            "flavor": {
                              "id": 4501,
                              "name": "n1-cpu-small",
                              "cpu": 4,
                              "ram": 4,
                              "disk": 100,
                              "ephemeral": 0,
                              "gpu": "",
                              "gpu_count": 0,
                              "labels": [],
                              "features": {
                                "network_optimised": false,
                                "no_reboot": false,
                                "no_hibernation": false,
                                "no_snapshot": false,
                                "local_storage_only": false,
                                "api_only": false
                              }
                            },
                            "count": 0,
                            "min_count": 1,
                            "max_count": 1,
                            "firewall_ids": []
                          }
                        ],
                        "nodes": [],
                        "is_reconciling": true
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found\n\nCommon cause: `error_reason: not_found`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Not Found",
                    "value": {
                      "status": false,
                      "message": "Cluster 1617 does not exist.",
                      "error_reason": "not_found"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "Cluster 1617 does not exist.",
                  "error_reason": "not_found"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "description": "Retrieves detailed information about a Kubernetes cluster in Hyperstack, including its name, environment, configuration, and operational status. Provide the cluster ID in the path to fetch its details. To obtain the cluster ID, use the [**List Clusters API**](https://docs.hyperstack.cloud/docs/api-reference/list-clusters)."
      },
      "delete": {
        "tags": [
          "Clusters"
        ],
        "summary": "Delete a cluster",
        "operationId": "Delete_cluster",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the cluster."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Cluster example-c1 is being deleted"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Cluster example-c1 is being deleted"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "description": "Permanently deletes a Kubernetes cluster. Supply the cluster ID in the path to delete the specified cluster."
      }
    },
    "/core/dashboard": {
      "get": {
        "tags": [
          "Dashboard"
        ],
        "summary": "Retrieve Dashboard",
        "description": "Returns an overview of hardware and pricing information for your active resources, including virtual machines and volumes. For additional information on the Dashboard feature, see [Dashboard](https://docs.hyperstack.cloud/docs/resource-management/dashboard).",
        "operationId": "Get_Dashboard",
        "responses": {
          "200": {
            "description": "Getting dashboard info success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Dashboard_Info_Response"
                },
                "example": {
                  "status": true,
                  "message": "Getting dashboard info success",
                  "overview": {
                    "instance": {
                      "count": 2,
                      "vcpus": 8,
                      "gpus": 0,
                      "ram": 8,
                      "cost_per_hour": 0.6
                    },
                    "volume": {
                      "count": 2,
                      "using": 20,
                      "cost_per_hour": 0.002
                    }
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting dashboard info success",
                      "overview": {
                        "instance": {
                          "count": 2,
                          "vcpus": 8,
                          "gpus": 0,
                          "ram": 8,
                          "cost_per_hour": 0.6
                        },
                        "volume": {
                          "count": 2,
                          "using": 20,
                          "cost_per_hour": 0.002
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/environments": {
      "get": {
        "tags": [
          "Environment"
        ],
        "summary": "List environments",
        "description": "Returns a list of your existing environments, providing the following details for each; environment ID, name, [**region**](https://docs.hyperstack.cloud/docs/api-reference/environment), and the date and time of creation. For more information on environments, see [Environment](https://docs.hyperstack.cloud/docs/api-reference/environment).",
        "operationId": "List_environments",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Data Per Page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search By ID or Name or Region",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful retrieval of environments list.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Environments"
                },
                "example": {
                  "status": true,
                  "message": "Getting environments successful",
                  "environments": [
                    {
                      "id": 8429,
                      "name": "testing-debian",
                      "region": "CANADA-1",
                      "created_at": "2026-05-07T09:21:55Z",
                      "features": {
                        "network_optimised": true,
                        "green_status": "GREEN"
                      }
                    }
                  ],
                  "page": null,
                  "page_size": null,
                  "count": 5
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting environments successful",
                      "environments": [
                        {
                          "id": 8429,
                          "name": "testing-debian",
                          "region": "CANADA-1",
                          "created_at": "2026-05-07T09:21:55Z",
                          "features": {
                            "network_optimised": true,
                            "green_status": "GREEN"
                          }
                        }
                      ],
                      "page": null,
                      "page_size": null,
                      "count": 5
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "Environment"
        ],
        "summary": "Create environment",
        "description": "Creates an [**environment**](https://docs.hyperstack.cloud/docs/resource-management/environments), a container that organizes related resources such as SSH key pairs, virtual machines, and volumes. To create an environment, provide an environment `name` and a `region` in the request body. Environment names must be unique within your organization, even across different regions.",
        "operationId": "Create_environment",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Create_Environment",
                "example": {
                  "name": "example-environment",
                  "region": "NORWAY-1"
                },
                "properties": {}
              },
              "example": {
                "name": "example-environment",
                "region": "NORWAY-1"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Environment has been created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Environment"
                },
                "example": {
                  "status": true,
                  "message": "Environment example-environment is created successfully",
                  "environment": {
                    "id": 4501,
                    "name": "example-environment",
                    "region": "NORWAY-1",
                    "created_at": "2026-05-07T11:47:30Z",
                    "features": {
                      "network_optimised": false,
                      "green_status": "GREEN"
                    }
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Environment example-environment is created successfully",
                      "environment": {
                        "id": 4501,
                        "name": "example-environment",
                        "region": "NORWAY-1",
                        "created_at": "2026-05-07T11:47:30Z",
                        "features": {
                          "network_optimised": false,
                          "green_status": "GREEN"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/environments/name-availability/{name}": {
      "get": {
        "tags": [
          "Environment"
        ],
        "summary": "Fetch environment name availability",
        "description": "Check if a Environment name is available.",
        "operationId": "Fetch_environment_name_availability",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Name of the environment."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NameAvailableModel"
                },
                "example": {
                  "name": "example-availability-check",
                  "available": true,
                  "message": "This name is available"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "name": "example-availability-check",
                      "available": true,
                      "message": "This name is available"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/environments/{id}": {
      "get": {
        "tags": [
          "Environment"
        ],
        "summary": "Retrieve environment",
        "description": "Retrieves details on a specified environment. Supply the environment ID in the path, and Hyperstack will return the corresponding `environment` object containing details on the environment.",
        "operationId": "Get_environment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the environment."
          }
        ],
        "responses": {
          "200": {
            "description": "Environment details retrieved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Environment"
                },
                "example": {
                  "status": true,
                  "message": "Getting detail successful",
                  "environment": {
                    "id": 4501,
                    "name": "example-environment",
                    "region": "NORWAY-1",
                    "created_at": "2026-05-07T11:47:30Z",
                    "features": {
                      "network_optimised": false,
                      "green_status": "GREEN"
                    }
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting detail successful",
                      "environment": {
                        "id": 4501,
                        "name": "example-environment",
                        "region": "NORWAY-1",
                        "created_at": "2026-05-07T11:47:30Z",
                        "features": {
                          "network_optimised": false,
                          "green_status": "GREEN"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "put": {
        "tags": [
          "Environment"
        ],
        "summary": "Update environment",
        "description": "Updates the name of an existing environment. Provide the environment ID in the path and the new environment `name` in the request body to modify the specified environment.",
        "operationId": "Update_environment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the environment."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Update_Environment",
                "example": {
                  "name": "example-environment"
                },
                "properties": {}
              },
              "example": {
                "name": "example-environment"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Environment name successfully updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Environment"
                },
                "example": {
                  "status": true,
                  "message": "Successfully updated Environment 83991",
                  "environment": {
                    "id": 4501,
                    "name": "example-environment",
                    "region": "NORWAY-1",
                    "created_at": "2026-05-07T11:47:30Z",
                    "features": {
                      "network_optimised": false,
                      "green_status": "GREEN"
                    }
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Successfully updated Environment 83991",
                      "environment": {
                        "id": 4501,
                        "name": "example-environment",
                        "region": "NORWAY-1",
                        "created_at": "2026-05-07T11:47:30Z",
                        "features": {
                          "network_optimised": false,
                          "green_status": "GREEN"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Environment"
        ],
        "summary": "Delete environment",
        "description": "Deletes an environment permanently. Provide the environment ID in the path to remove the specified environment.\n\n> **State requirement:** This operation requires the environment to have no attached child resources. Delete or move VMs, volumes, keypairs, firewalls, snapshots, and any other environment-scoped resources first.",
        "operationId": "Delete_environment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the environment."
          }
        ],
        "responses": {
          "200": {
            "description": "The environment has been successfully deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Environment 83992 is deleted successfully"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Environment 83992 is deleted successfully"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "405": {
            "description": "The HTTP method isn't supported for this path. Check the method and try again.\n\nCommon cause: `error_reason: not_allowed`.",
            "content": {
              "application/json": {
                "examples": {
                  "default": {
                    "summary": "The HTTP method isn't supported for this path. Check the method and try again.",
                    "value": {
                      "status": false,
                      "message": "Sorry but this request cannot be fulfilled because the environment contains 1 virtual-machines, 0 volumes, 1 firewalls & 1 key pairs in it. Please delete these before deleting the environment",
                      "error_reason": "not_allowed"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "Sorry but this request cannot be fulfilled because the environment contains 1 virtual-machines, 0 volumes, 1 firewalls & 1 key pairs in it. Please delete these before deleting the environment",
                  "error_reason": "not_allowed"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/environments/{id}/vm-quota": {
      "get": {
        "tags": [
          "Environment"
        ],
        "summary": "Get environment VM quota",
        "description": "Retrieves VM quota information for a specific environment, including current VM count, maximum VMs allowed, available VMs, and percentage used in an environment before reaching the subnet IP limit.",
        "operationId": "Get_environment_VM_quota",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the environment."
          }
        ],
        "responses": {
          "200": {
            "description": "VM quota information retrieved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VM_Quota"
                },
                "example": {
                  "current_vms": 1,
                  "max_vms": 250,
                  "available_vms": 249,
                  "percentage_used": 0.4,
                  "cidr": "10.0.5.0/24"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "current_vms": 1,
                      "max_vms": 250,
                      "available_vms": 249,
                      "percentage_used": 0.4,
                      "cidr": "10.0.5.0/24"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/fip-detachment-exclusions/org/{org_id}": {
      "get": {
        "tags": [
          "FIP Exclusions"
        ],
        "description": "Checks whether a specific organization is excluded from public IP detachment when a VM is hibernated. By default, for on-demand (pre-paid) users, any attached public IP address is released when the VM is hibernated; see [**Default Behavior for Public IPs During Hibernation**](https://docs.hyperstack.cloud/docs/virtual-machines/hibernation/#default-behavior-for-public-ips-during-hibernation) for details.\n\nUsers who are not excluded but want to retain their public IP during hibernation can set the `retain_ip` field to `true` when calling the [**Hibernate virtual machine**](https://docs.hyperstack.cloud/docs/api-reference/hibernate-vm) endpoint.",
        "operationId": "Check_if_Org_is_Excluded_from_Floating_IP_Detachment",
        "parameters": [
          {
            "name": "org_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the organization."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Not Found",
                    "value": {
                      "status": true,
                      "message": "Org is not excluded from floating IP detachment"
                    }
                  }
                },
                "example": {
                  "status": true,
                  "message": "Org is not excluded from floating IP detachment"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "Check floating-IP detachment exclusion for an organization"
      }
    },
    "/core/firewalls": {
      "get": {
        "tags": [
          "Firewalls"
        ],
        "summary": "List firewalls",
        "description": "Retrieves a list of existing firewalls and their details, including the security rules they contain and information about the virtual machines to which they are attached. For more information about the firewalls features offered by Hyperstack, see [Security groups](https://docs.hyperstack.cloud/docs/network/firewalls).",
        "operationId": "List_existing_firewalls",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "Page number to retrieve."
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "Number of items to return per page."
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Filter results by case-insensitive substring match against the resource name."
          },
          {
            "name": "environment",
            "in": "query",
            "description": "Filter Environment ID or Name",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FirewallsListResponse"
                },
                "example": {
                  "status": true,
                  "message": "Getting firewalls success",
                  "page": null,
                  "page_size": null,
                  "count": 2,
                  "firewalls": [
                    {
                      "id": 3287,
                      "name": "example-firewall",
                      "description": "Example firewall",
                      "environment": {
                        "id": 8429,
                        "name": "example-environment",
                        "region": "NORWAY-1",
                        "features": {
                          "network_optimised": false,
                          "green_status": "GREEN"
                        }
                      },
                      "status": "SUCCESS",
                      "created_at": "2026-05-06T16:04:09Z",
                      "rules": [
                        {
                          "id": 1402,
                          "direction": "egress",
                          "protocol": "any",
                          "port_range_min": 1,
                          "port_range_max": 65535,
                          "ethertype": "IPv6",
                          "remote_ip_prefix": "0.0.0.0/0",
                          "status": "SUCCESS",
                          "created_at": "2026-05-06T16:04:09Z"
                        },
                        {
                          "id": 9876,
                          "direction": "egress",
                          "protocol": "any",
                          "port_range_min": 1,
                          "port_range_max": 65535,
                          "ethertype": "IPv4",
                          "remote_ip_prefix": "0.0.0.0/0",
                          "status": "SUCCESS",
                          "created_at": "2026-05-07T09:21:55Z"
                        },
                        {
                          "id": 2058,
                          "direction": "ingress",
                          "protocol": "tcp",
                          "port_range_min": 80,
                          "port_range_max": 80,
                          "ethertype": "IPv4",
                          "remote_ip_prefix": "0.0.0.0/0",
                          "status": "SUCCESS",
                          "created_at": "2026-05-07T11:47:30Z"
                        }
                      ],
                      "attachments": []
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting firewalls success",
                      "page": null,
                      "page_size": null,
                      "count": 2,
                      "firewalls": [
                        {
                          "id": 3287,
                          "name": "example-firewall",
                          "description": "Example firewall",
                          "environment": {
                            "id": 8429,
                            "name": "example-environment",
                            "region": "NORWAY-1",
                            "features": {
                              "network_optimised": false,
                              "green_status": "GREEN"
                            }
                          },
                          "status": "SUCCESS",
                          "created_at": "2026-05-06T16:04:09Z",
                          "rules": [
                            {
                              "id": 1402,
                              "direction": "egress",
                              "protocol": "any",
                              "port_range_min": 1,
                              "port_range_max": 65535,
                              "ethertype": "IPv6",
                              "remote_ip_prefix": "0.0.0.0/0",
                              "status": "SUCCESS",
                              "created_at": "2026-05-06T16:04:09Z"
                            },
                            {
                              "id": 9876,
                              "direction": "egress",
                              "protocol": "any",
                              "port_range_min": 1,
                              "port_range_max": 65535,
                              "ethertype": "IPv4",
                              "remote_ip_prefix": "0.0.0.0/0",
                              "status": "SUCCESS",
                              "created_at": "2026-05-07T09:21:55Z"
                            },
                            {
                              "id": 2058,
                              "direction": "ingress",
                              "protocol": "tcp",
                              "port_range_min": 80,
                              "port_range_max": 80,
                              "ethertype": "IPv4",
                              "remote_ip_prefix": "0.0.0.0/0",
                              "status": "SUCCESS",
                              "created_at": "2026-05-07T11:47:30Z"
                            }
                          ],
                          "attachments": []
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "Firewalls"
        ],
        "summary": "Create firewall",
        "description": "Creates a firewall to which firewall rules can be added. A firewall containing rules can be attached to one or more virtual machines to control inbound and outbound traffic. In the request body, include the firewall `name`, the ID of the `environment` it belongs to, and an optional `description`. Retrieve the ID of an environment by calling the [**list environments**](https://docs.hyperstack.cloud/docs/api-reference/list-environments) endpoint.",
        "operationId": "Create_firewall",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFirewallPayload",
                "example": {
                  "name": "example-firewall",
                  "description": "Example firewall",
                  "environment_id": 8429
                },
                "properties": {}
              },
              "example": {
                "environment_id": 8429,
                "name": "example-firewall",
                "description": "Example firewall"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FirewallResponse"
                },
                "example": {
                  "status": true,
                  "message": "Firewall is scheduled for creation.",
                  "firewall": {
                    "id": 8429,
                    "name": "example-firewall",
                    "description": "Example firewall",
                    "environment": {
                      "id": 4501,
                      "name": "example-environment",
                      "region": "NORWAY-1",
                      "features": {
                        "network_optimised": false,
                        "green_status": "GREEN"
                      }
                    },
                    "status": "CREATING",
                    "created_at": "2026-05-07T09:21:55Z"
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Firewall is scheduled for creation.",
                      "firewall": {
                        "id": 8429,
                        "name": "example-firewall",
                        "description": "Example firewall",
                        "environment": {
                          "id": 4501,
                          "name": "example-environment",
                          "region": "NORWAY-1",
                          "features": {
                            "network_optimised": false,
                            "green_status": "GREEN"
                          }
                        },
                        "status": "CREATING",
                        "created_at": "2026-05-07T09:21:55Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/firewalls/{firewall_id}/firewall-rules": {
      "post": {
        "tags": [
          "Firewalls"
        ],
        "summary": "Add firewall rule to firewall",
        "description": "Creates a [**firewall rule**](https://docs.hyperstack.cloud/docs/network/firewalls) and adds it to an existing firewall. Include the firewall ID in the path, and provide the firewall rule configuration in the request body.",
        "operationId": "Add_rule_to_firewall",
        "parameters": [
          {
            "name": "firewall_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the firewall."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Create_Firewall_Rule_Payload",
                "example": {
                  "direction": "ingress",
                  "protocol": "tcp",
                  "ethertype": "IPv4",
                  "remote_ip_prefix": "0.0.0.0/0",
                  "port_range_min": 80,
                  "port_range_max": 80
                },
                "properties": {}
              },
              "example": {
                "direction": "ingress",
                "ethertype": "IPv4",
                "protocol": "tcp",
                "remote_ip_prefix": "0.0.0.0/0",
                "port_range_min": 80,
                "port_range_max": 80
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Firewall_Rule"
                },
                "example": {
                  "status": true,
                  "message": "Firewall Rule created successfully",
                  "firewall_rule": {
                    "id": 9876,
                    "direction": "ingress",
                    "protocol": "tcp",
                    "port_range_min": 80,
                    "port_range_max": 80,
                    "ethertype": "IPv4",
                    "remote_ip_prefix": "0.0.0.0/0",
                    "status": "pending",
                    "created_at": "2026-05-07T09:21:55Z"
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Firewall Rule created successfully",
                      "firewall_rule": {
                        "id": 9876,
                        "direction": "ingress",
                        "protocol": "tcp",
                        "port_range_min": 80,
                        "port_range_max": 80,
                        "ethertype": "IPv4",
                        "remote_ip_prefix": "0.0.0.0/0",
                        "status": "pending",
                        "created_at": "2026-05-07T09:21:55Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/firewalls/{firewall_id}/firewall-rules/{firewall_rule_id}": {
      "delete": {
        "tags": [
          "Firewalls"
        ],
        "summary": "Delete firewall rules from firewall",
        "description": "Removes a firewall rule from a firewall. Provide the firewall ID and the firewall rule ID in the path.",
        "operationId": "Delete_rule_from_firewall",
        "parameters": [
          {
            "name": "firewall_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the firewall."
          },
          {
            "name": "firewall_rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the firewall rule."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Exists",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/firewalls/{firewall_id}/update-attachments": {
      "post": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "Attach firewalls to VMs",
        "description": "Attaches an existing firewall to one or more virtual machines. Include the firewall ID in the path, and the IDs of the virtual machines to which it is  being added in the request body, as detailed below.",
        "operationId": "Attach_firewall_to_Vms",
        "parameters": [
          {
            "name": "firewall_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the firewall."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachFirewallWithVM",
                "example": {
                  "vms": [
                    793869
                  ]
                },
                "properties": {}
              },
              "example": {
                "vms": [
                  793869
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Firewall attachments with VMs are scheduled."
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Firewall attachments with VMs are scheduled."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/firewalls/{id}": {
      "get": {
        "tags": [
          "Firewalls"
        ],
        "summary": "Retrieve firewall details",
        "description": "Retrieves details on an existing firewall, including the firewall rules it contains and information about the virtual machines to which it is attached.",
        "operationId": "Get_firewall",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the firewall."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FirewallDetailResponse"
                },
                "example": {
                  "status": true,
                  "message": "Getting Firewall Details Successful.",
                  "firewall": {
                    "id": 8429,
                    "name": "example-firewall",
                    "description": "Example firewall",
                    "environment": {
                      "id": 4501,
                      "name": "example-environment",
                      "region": "NORWAY-1",
                      "features": {
                        "network_optimised": false,
                        "green_status": "GREEN"
                      }
                    },
                    "status": "SUCCESS",
                    "created_at": "2026-05-07T09:21:55Z",
                    "rules": [
                      {
                        "id": 9876,
                        "direction": "egress",
                        "protocol": "any",
                        "port_range_min": 1,
                        "port_range_max": 65535,
                        "ethertype": "IPv4",
                        "remote_ip_prefix": "0.0.0.0/0",
                        "status": "SUCCESS",
                        "created_at": "2026-05-07T09:21:55Z"
                      },
                      {
                        "id": 2058,
                        "direction": "egress",
                        "protocol": "any",
                        "port_range_min": 1,
                        "port_range_max": 65535,
                        "ethertype": "IPv6",
                        "remote_ip_prefix": "0.0.0.0/0",
                        "status": "SUCCESS",
                        "created_at": "2026-05-07T11:47:30Z"
                      }
                    ],
                    "attachments": []
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting Firewall Details Successful.",
                      "firewall": {
                        "id": 8429,
                        "name": "example-firewall",
                        "description": "Example firewall",
                        "environment": {
                          "id": 4501,
                          "name": "example-environment",
                          "region": "NORWAY-1",
                          "features": {
                            "network_optimised": false,
                            "green_status": "GREEN"
                          }
                        },
                        "status": "SUCCESS",
                        "created_at": "2026-05-07T09:21:55Z",
                        "rules": [
                          {
                            "id": 9876,
                            "direction": "egress",
                            "protocol": "any",
                            "port_range_min": 1,
                            "port_range_max": 65535,
                            "ethertype": "IPv4",
                            "remote_ip_prefix": "0.0.0.0/0",
                            "status": "SUCCESS",
                            "created_at": "2026-05-07T09:21:55Z"
                          },
                          {
                            "id": 2058,
                            "direction": "egress",
                            "protocol": "any",
                            "port_range_min": 1,
                            "port_range_max": 65535,
                            "ethertype": "IPv6",
                            "remote_ip_prefix": "0.0.0.0/0",
                            "status": "SUCCESS",
                            "created_at": "2026-05-07T11:47:30Z"
                          }
                        ],
                        "attachments": []
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Firewalls"
        ],
        "summary": "Delete firewall",
        "description": "Deletes a firewall. Include the ID of the firewall to be deleted in the request path.",
        "operationId": "Delete_existing_firewall",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the firewall."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Firewall is scheduled for deletion."
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Firewall is scheduled for deletion."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "Unable to delete Firewall example-firewall.",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "Unable to delete Firewall example-firewall.",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/flavors": {
      "get": {
        "tags": [
          "Flavor"
        ],
        "summary": "List Flavors",
        "description": "Returns a list of available GPU/CPU virtual machine hardware configurations, comprising combinations of GPUs, CPUs, RAM, and system disk. These virtual machine configurations are referred to as [**flavors**](https://docs.hyperstack.cloud/docs/hardware/flavors). Optionally, include a `region` query parameter to return only the flavors available in the specified region; by default a list of flavors in all regions will be returned.\n\nIn addition to the flavors visible in the UI, Hyperstack offers [**Large Root Disk Flavors**](https://docs.hyperstack.cloud/docs/hardware/large-root-disk-flavors) with a larger persistent root disk instead of ephemeral storage. These API-only flavors do not support snapshotting or hibernation and are ideal for high-I/O, containerized, or short-lived workloads.",
        "operationId": "List_Flavors",
        "parameters": [
          {
            "name": "region",
            "in": "query",
            "description": "Filter results to the specified region.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful retrieval of flavors list.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Flavor_List_Response"
                },
                "example": {
                  "status": true,
                  "message": "Getting flavors successful",
                  "data": [
                    {
                      "gpu": "",
                      "region_name": "NORWAY-1",
                      "flavors": [
                        {
                          "id": 9876,
                          "name": "n1-cpu-small",
                          "display_name": null,
                          "region_name": "NORWAY-1",
                          "cpu": 4,
                          "ram": 4,
                          "disk": 100,
                          "ephemeral": 0,
                          "gpu": "",
                          "gpu_count": 0,
                          "stock_available": true,
                          "created_at": "2026-05-07T09:21:55Z",
                          "labels": [],
                          "features": {
                            "network_optimised": false,
                            "no_reboot": false,
                            "no_hibernation": false,
                            "no_snapshot": false,
                            "local_storage_only": false,
                            "api_only": false
                          }
                        },
                        {
                          "id": 2058,
                          "name": "n1-cpu-medium",
                          "display_name": "n1-cpu-medium",
                          "region_name": "NORWAY-1",
                          "cpu": 8,
                          "ram": 8,
                          "disk": 100,
                          "ephemeral": null,
                          "gpu": "",
                          "gpu_count": 0,
                          "stock_available": true,
                          "created_at": "2026-05-07T11:47:30Z",
                          "labels": [],
                          "features": {
                            "network_optimised": false,
                            "no_reboot": false,
                            "no_hibernation": false,
                            "no_snapshot": false,
                            "local_storage_only": false,
                            "api_only": false
                          }
                        },
                        {
                          "id": 5341,
                          "name": "n1-cpu-large",
                          "display_name": "n1-cpu-large",
                          "region_name": "NORWAY-1",
                          "cpu": 16,
                          "ram": 16,
                          "disk": 100,
                          "ephemeral": 0,
                          "gpu": "",
                          "gpu_count": 0,
                          "stock_available": true,
                          "created_at": "2026-05-06T14:32:11Z",
                          "labels": [],
                          "features": {
                            "network_optimised": false,
                            "no_reboot": false,
                            "no_hibernation": false,
                            "no_snapshot": false,
                            "local_storage_only": false,
                            "api_only": false
                          }
                        }
                      ]
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting flavors successful",
                      "data": [
                        {
                          "gpu": "",
                          "region_name": "NORWAY-1",
                          "flavors": [
                            {
                              "id": 9876,
                              "name": "n1-cpu-small",
                              "display_name": null,
                              "region_name": "NORWAY-1",
                              "cpu": 4,
                              "ram": 4,
                              "disk": 100,
                              "ephemeral": 0,
                              "gpu": "",
                              "gpu_count": 0,
                              "stock_available": true,
                              "created_at": "2026-05-07T09:21:55Z",
                              "labels": [],
                              "features": {
                                "network_optimised": false,
                                "no_reboot": false,
                                "no_hibernation": false,
                                "no_snapshot": false,
                                "local_storage_only": false,
                                "api_only": false
                              }
                            },
                            {
                              "id": 2058,
                              "name": "n1-cpu-medium",
                              "display_name": "n1-cpu-medium",
                              "region_name": "NORWAY-1",
                              "cpu": 8,
                              "ram": 8,
                              "disk": 100,
                              "ephemeral": null,
                              "gpu": "",
                              "gpu_count": 0,
                              "stock_available": true,
                              "created_at": "2026-05-07T11:47:30Z",
                              "labels": [],
                              "features": {
                                "network_optimised": false,
                                "no_reboot": false,
                                "no_hibernation": false,
                                "no_snapshot": false,
                                "local_storage_only": false,
                                "api_only": false
                              }
                            },
                            {
                              "id": 5341,
                              "name": "n1-cpu-large",
                              "display_name": "n1-cpu-large",
                              "region_name": "NORWAY-1",
                              "cpu": 16,
                              "ram": 16,
                              "disk": 100,
                              "ephemeral": 0,
                              "gpu": "",
                              "gpu_count": 0,
                              "stock_available": true,
                              "created_at": "2026-05-06T14:32:11Z",
                              "labels": [],
                              "features": {
                                "network_optimised": false,
                                "no_reboot": false,
                                "no_hibernation": false,
                                "no_snapshot": false,
                                "local_storage_only": false,
                                "api_only": false
                              }
                            }
                          ]
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/gpus": {
      "get": {
        "tags": [
          "GPU"
        ],
        "summary": "List GPUs",
        "description": "Returns a list of all available GPUs that can be utilized in the creation of custom virtual machine configurations.",
        "operationId": "List_Gpus",
        "responses": {
          "200": {
            "description": "Retrieval of GPUs list successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GPU_List"
                },
                "example": {
                  "status": true,
                  "message": "Getting GPU list successful",
                  "gpu_list": [
                    {
                      "id": 4501,
                      "name": "RTX-A4000",
                      "regions": [
                        {
                          "id": 8429,
                          "name": "NORWAY-1"
                        }
                      ],
                      "example_metadata": "{\"pci_passthrough:alias\": \"RTX-A4000:4\"}",
                      "created_at": "2026-05-07T11:47:30Z",
                      "updated_at": null
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting GPU list successful",
                      "gpu_list": [
                        {
                          "id": 4501,
                          "name": "RTX-A4000",
                          "regions": [
                            {
                              "id": 8429,
                              "name": "NORWAY-1"
                            }
                          ],
                          "example_metadata": "{\"pci_passthrough:alias\": \"RTX-A4000:4\"}",
                          "created_at": "2026-05-07T11:47:30Z",
                          "updated_at": null
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/image/name-availability/{name}": {
      "get": {
        "tags": [
          "Image"
        ],
        "summary": "Fetch name availability for Images",
        "description": "Check if an Image name is available.",
        "operationId": "Fetch_Image_name_availability",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Name of the image."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NameAvailableModel"
                },
                "example": {
                  "name": "example-availability-check",
                  "available": true,
                  "message": "This name is available"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "name": "example-availability-check",
                      "available": true,
                      "message": "This name is available"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/images": {
      "get": {
        "tags": [
          "Image"
        ],
        "summary": "List Images",
        "description": "Retrieves a grouped list of all available operating system (OS) images across regions and types. The results include system-defined images as well as [**custom images**](https://docs.hyperstack.cloud/docs/virtual-machines/custom-images) created from snapshots. Image metadata such as type, version, region, and storage size is returned. Optional parameters allow you to filter by region, paginate results, or search by image name or ID. For an overview of available images in Hyperstack, see [**Images**](https://docs.hyperstack.cloud/docs/virtual-machines/images).",
        "operationId": "List_Images",
        "parameters": [
          {
            "name": "region",
            "in": "query",
            "description": "Filter results to the specified region.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "include_public",
            "in": "query",
            "description": "When `true`, public images are included in the response alongside organization images.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search query to filter images by name",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number for pagination",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Number of Images per page",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieval of images list successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Images"
                },
                "example": {
                  "status": true,
                  "message": "Getting images successful",
                  "images": [
                    {
                      "region_name": "US-1",
                      "green_status": "NOT_GREEN",
                      "type": "Ubuntu",
                      "logo": "https://api.nexgencloud.com:8080/hyperstack-os-logos/ubuntu.svg",
                      "images": [
                        {
                          "id": 8429,
                          "name": "Ubuntu Server 22.04 LTS R535 CUDA 12.2 with Docker",
                          "region_name": "US-1",
                          "type": "Ubuntu",
                          "version": "Server 22.04 LTS R535 CUDA 12.2 with Docker",
                          "size": 107374182400,
                          "display_size": "100 GiB",
                          "description": "",
                          "snapshot": null,
                          "is_public": true,
                          "created_at": "2026-05-07T09:21:55Z",
                          "labels": [],
                          "flavor_restrictions": {
                            "has_flavor_restrictions": false,
                            "restriction_type": null,
                            "compatible_flavors": []
                          }
                        },
                        {
                          "id": 4501,
                          "name": "Ubuntu Server 24.04 LTS R570 CUDA 12.8 with Docker",
                          "region_name": "US-1",
                          "type": "Ubuntu",
                          "version": "Server 24.04 LTS R570 CUDA 12.8 with Docker",
                          "size": 107374182400,
                          "display_size": "100 GiB",
                          "description": "",
                          "snapshot": null,
                          "is_public": true,
                          "created_at": "2026-05-07T11:47:30Z",
                          "labels": [],
                          "flavor_restrictions": {
                            "has_flavor_restrictions": false,
                            "restriction_type": null,
                            "compatible_flavors": []
                          }
                        },
                        {
                          "id": 6190,
                          "name": "Ubuntu Server 24.04 LTS R570 CUDA 12.8",
                          "region_name": "US-1",
                          "type": "Ubuntu",
                          "version": "Server 24.04 LTS R570 CUDA 12.8",
                          "size": 107374182400,
                          "display_size": "100 GiB",
                          "description": "",
                          "snapshot": null,
                          "is_public": true,
                          "created_at": "2026-05-06T14:32:11Z",
                          "labels": [],
                          "flavor_restrictions": {
                            "has_flavor_restrictions": false,
                            "restriction_type": null,
                            "compatible_flavors": []
                          }
                        }
                      ]
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting images successful",
                      "images": [
                        {
                          "region_name": "US-1",
                          "green_status": "NOT_GREEN",
                          "type": "Ubuntu",
                          "logo": "https://api.nexgencloud.com:8080/hyperstack-os-logos/ubuntu.svg",
                          "images": [
                            {
                              "id": 8429,
                              "name": "Ubuntu Server 22.04 LTS R535 CUDA 12.2 with Docker",
                              "region_name": "US-1",
                              "type": "Ubuntu",
                              "version": "Server 22.04 LTS R535 CUDA 12.2 with Docker",
                              "size": 107374182400,
                              "display_size": "100 GiB",
                              "description": "",
                              "snapshot": null,
                              "is_public": true,
                              "created_at": "2026-05-07T09:21:55Z",
                              "labels": [],
                              "flavor_restrictions": {
                                "has_flavor_restrictions": false,
                                "restriction_type": null,
                                "compatible_flavors": []
                              }
                            },
                            {
                              "id": 4501,
                              "name": "Ubuntu Server 24.04 LTS R570 CUDA 12.8 with Docker",
                              "region_name": "US-1",
                              "type": "Ubuntu",
                              "version": "Server 24.04 LTS R570 CUDA 12.8 with Docker",
                              "size": 107374182400,
                              "display_size": "100 GiB",
                              "description": "",
                              "snapshot": null,
                              "is_public": true,
                              "created_at": "2026-05-07T11:47:30Z",
                              "labels": [],
                              "flavor_restrictions": {
                                "has_flavor_restrictions": false,
                                "restriction_type": null,
                                "compatible_flavors": []
                              }
                            },
                            {
                              "id": 6190,
                              "name": "Ubuntu Server 24.04 LTS R570 CUDA 12.8",
                              "region_name": "US-1",
                              "type": "Ubuntu",
                              "version": "Server 24.04 LTS R570 CUDA 12.8",
                              "size": 107374182400,
                              "display_size": "100 GiB",
                              "description": "",
                              "snapshot": null,
                              "is_public": true,
                              "created_at": "2026-05-06T14:32:11Z",
                              "labels": [],
                              "flavor_restrictions": {
                                "has_flavor_restrictions": false,
                                "restriction_type": null,
                                "compatible_flavors": []
                              }
                            }
                          ]
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "406": {
            "description": "Not Acceptable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/images/{id}": {
      "get": {
        "tags": [
          "Image"
        ],
        "summary": "Get private image details",
        "description": "Retrieves detailed information about a specific image by its unique ID. To obtain the image ID, use the [**List Images API**](https://docs.hyperstack.cloud/docs/api-reference/list-images).",
        "operationId": "Get_Image",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the image."
          },
          {
            "name": "include_related_vms",
            "in": "query",
            "schema": {
              "type": "boolean"
            },
            "description": "When `true`, include the list of virtual machines currently using this image in the response."
          }
        ],
        "responses": {
          "200": {
            "description": "Image details retrieved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Image"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found\n\nCommon cause: `error_reason: not_found`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Not Found",
                    "value": {
                      "status": false,
                      "message": "Image with ID 300 not found.",
                      "error_reason": "not_found"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "Image with ID 300 not found.",
                  "error_reason": "not_found"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Image"
        ],
        "summary": "Delete an image",
        "description": "Permanently deletes a custom image. Supply the image ID in the path to delete the specified image.",
        "operationId": "Delete_image",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the image."
          }
        ],
        "responses": {
          "200": {
            "description": "Image successfully deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/keypair/{id}": {
      "put": {
        "tags": [
          "Keypair"
        ],
        "summary": "Update key pair name",
        "description": "Updates the name of a specified key pair. Include the key pair ID in the request path and the new `name` of the key pair in the request body.",
        "operationId": "Update_key_pair_name",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the key pair."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Update_Keypair_Name",
                "example": {
                  "name": "example-keypair"
                },
                "properties": {}
              },
              "example": {
                "name": "example-keypair"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Keypair name updated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Update_Keypair_name_response"
                },
                "example": {
                  "status": true,
                  "message": "Keypair name updated successfully to example-keypair",
                  "keypair": {
                    "id": 1129,
                    "name": "example-keypair",
                    "environment": {
                      "id": 1402,
                      "name": "example-environment",
                      "features": {
                        "network_optimised": false,
                        "green_status": "GREEN"
                      }
                    },
                    "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJz0qO97NM7sZzUGT0z+eddAXg8BTYr1dz5LD8QyCmg1 user@example.com",
                    "fingerprint": "ea:85:b4:6e:a8:75:a1:17:10:51:f5:a2:65:7e:1f:c0",
                    "created_at": "2026-05-06T15:18:42Z"
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Keypair name updated successfully to example-keypair",
                      "keypair": {
                        "id": 1129,
                        "name": "example-keypair",
                        "environment": {
                          "id": 1402,
                          "name": "example-environment",
                          "features": {
                            "network_optimised": false,
                            "green_status": "GREEN"
                          }
                        },
                        "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJz0qO97NM7sZzUGT0z+eddAXg8BTYr1dz5LD8QyCmg1 user@example.com",
                        "fingerprint": "ea:85:b4:6e:a8:75:a1:17:10:51:f5:a2:65:7e:1f:c0",
                        "created_at": "2026-05-06T15:18:42Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Keypair"
        ],
        "summary": "Delete key pair",
        "description": "Permanently deletes a specified key pair. Include the key pair ID in the request path to remove the key pair.",
        "operationId": "Delete_key_pair",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the key pair."
          }
        ],
        "responses": {
          "200": {
            "description": "Keypair successfully deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Key was successfully deleted. You can still access your existing instances that use this key."
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Key was successfully deleted. You can still access your existing instances that use this key."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/keypairs": {
      "get": {
        "tags": [
          "Keypair"
        ],
        "summary": "List key pairs",
        "description": "Retrieves a list of your existing SSH key pairs, providing details for each. See [SSH keys](https://docs.hyperstack.cloud/docs/network/ssh) for additional information.",
        "operationId": "List_key_pairs",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Data Per Page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Filter results by case-insensitive substring match against the resource name."
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieval of key pairs list successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Keypairs"
                },
                "example": {
                  "status": true,
                  "message": "Getting user keypairs successful",
                  "keypairs": [
                    {
                      "id": 6190,
                      "name": "example-key",
                      "environment": {
                        "id": 1129,
                        "name": "testing-debian",
                        "features": {
                          "network_optimised": true,
                          "green_status": "GREEN"
                        }
                      },
                      "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDXQKy9WJQS8/xOahGhjd3xpkURCqjReo5b44HOqg0rNFPt1JXVYuRgq5hpwd8wm08WpTrnw/w2X4MSScbmKpWE0tqYqxV/SE9WtB3S2J/FZ+he0oghskFbmcs8xX9fBQWDS/+SSQJHmM1voAT5Xo9tW3wWzVy4XQADUKDkd7eDg3avVzvp84+sw5ungQRgrK3zRBBeq4ttuaxRm5Ow6QjQ6a/u6CD+uQtZyCaXFwL0RYssA3rDIqrQsPk4Dfa4UFPFgYbwkmZ53jEBwcX2/QB88eu3KZld/tku7OKdqAwa6aE8woB7TrQUMeBS9f4kBl+L8I0J833H97sG5RvyinL5 ",
                      "fingerprint": "cc:c3:a1:a6:46:98:3f:5c:5d:40:30:0b:bf:7b:e2:78",
                      "created_at": "2026-05-06T14:32:11Z"
                    }
                  ],
                  "page": null,
                  "page_size": null,
                  "count": 1
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting user keypairs successful",
                      "keypairs": [
                        {
                          "id": 6190,
                          "name": "example-key",
                          "environment": {
                            "id": 1129,
                            "name": "testing-debian",
                            "features": {
                              "network_optimised": true,
                              "green_status": "GREEN"
                            }
                          },
                          "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDXQKy9WJQS8/xOahGhjd3xpkURCqjReo5b44HOqg0rNFPt1JXVYuRgq5hpwd8wm08WpTrnw/w2X4MSScbmKpWE0tqYqxV/SE9WtB3S2J/FZ+he0oghskFbmcs8xX9fBQWDS/+SSQJHmM1voAT5Xo9tW3wWzVy4XQADUKDkd7eDg3avVzvp84+sw5ungQRgrK3zRBBeq4ttuaxRm5Ow6QjQ6a/u6CD+uQtZyCaXFwL0RYssA3rDIqrQsPk4Dfa4UFPFgYbwkmZ53jEBwcX2/QB88eu3KZld/tku7OKdqAwa6aE8woB7TrQUMeBS9f4kBl+L8I0J833H97sG5RvyinL5 ",
                          "fingerprint": "cc:c3:a1:a6:46:98:3f:5c:5d:40:30:0b:bf:7b:e2:78",
                          "created_at": "2026-05-06T14:32:11Z"
                        }
                      ],
                      "page": null,
                      "page_size": null,
                      "count": 1
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "Keypair"
        ],
        "summary": "Import key pair",
        "description": "Imports a new key pair for secure shell (SSH) access to your resources. To import a new key pair, include the key name, environment name, and [**public key**](https://docs.hyperstack.cloud/docs/api-reference/quickstart) in the request body. For additional information on importing SSH key pairs, see [Quickstart](https://docs.hyperstack.cloud/docs/api-reference/quickstart). If you haven't created a key pair yet, you can generate one by clicking [Quickstart](https://docs.hyperstack.cloud/docs/api-reference/quickstart).",
        "operationId": "Import_key_pair",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Import_Keypair_Payload",
                "example": {
                  "name": "example-keypair",
                  "environment_name": "example-environment",
                  "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEIaiQg7+LfKOMWo9Mt9DNI4cKzocn9ISXme9FqCamKA user@example.com"
                },
                "properties": {}
              },
              "example": {
                "environment_name": "example-environment",
                "name": "example-keypair",
                "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEIaiQg7+LfKOMWo9Mt9DNI4cKzocn9ISXme9FqCamKA user@example.com"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Keypair is imported successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Import_Keypair_Response"
                },
                "example": {
                  "status": true,
                  "message": "Keypair is imported successfully",
                  "keypair": {
                    "id": 1129,
                    "name": "example-keypair",
                    "environment": {
                      "id": 1402,
                      "name": "example-environment",
                      "features": {
                        "network_optimised": false,
                        "green_status": "GREEN"
                      }
                    },
                    "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEIaiQg7+LfKOMWo9Mt9DNI4cKzocn9ISXme9FqCamKA user@example.com",
                    "fingerprint": "26:3d:b0:8a:ef:b1:65:22:d1:94:c6:e4:00:6d:a7:e5",
                    "created_at": "2026-05-06T15:18:42Z"
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Keypair is imported successfully",
                      "keypair": {
                        "id": 1129,
                        "name": "example-keypair",
                        "environment": {
                          "id": 1402,
                          "name": "example-environment",
                          "features": {
                            "network_optimised": false,
                            "green_status": "GREEN"
                          }
                        },
                        "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEIaiQg7+LfKOMWo9Mt9DNI4cKzocn9ISXme9FqCamKA user@example.com",
                        "fingerprint": "26:3d:b0:8a:ef:b1:65:22:d1:94:c6:e4:00:6d:a7:e5",
                        "created_at": "2026-05-06T15:18:42Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/supported-keypairs": {
      "get": {
        "tags": [
          "Keypair"
        ],
        "summary": "List supported key pair types",
        "description": "Retrieves the SSH public key types accepted when you import a key pair. Importing a public key of any other type is rejected. See [**SSH keys**](https://docs.hyperstack.cloud/docs/network/ssh#supported-ssh-key-types) for additional information.",
        "operationId": "List_supported_key_pair_types",
        "responses": {
          "200": {
            "description": "Retrieval of supported key pair types successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Supported_Keypair_Public_Key_Types_Response"
                },
                "example": {
                  "status": true,
                  "message": "Getting supported keypair public key types successful",
                  "supported_key_types": [
                    "ssh-rsa",
                    "ssh-ed25519",
                    "ecdsa-sha2-nistp256",
                    "ecdsa-sha2-nistp384",
                    "ecdsa-sha2-nistp521"
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting supported keypair public key types successful",
                      "supported_key_types": [
                        "ssh-rsa",
                        "ssh-ed25519",
                        "ecdsa-sha2-nistp256",
                        "ecdsa-sha2-nistp384",
                        "ecdsa-sha2-nistp521"
                      ]
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        }
      }
    },
    "/core/profiles": {
      "get": {
        "tags": [
          "Profile"
        ],
        "summary": "List profiles",
        "description": "Returns a list of your existing provisioning profiles, providing virtual machine configuration details for each. For additional information about profiles, see [Load a provisioning profile](https://docs.hyperstack.cloud/docs/virtual-machines/provisioning-profiles#load-a-provisioning-profile).",
        "operationId": "List_profiles",
        "responses": {
          "200": {
            "description": "Getting profiles success.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Profile_List_Response"
                },
                "example": {
                  "status": true,
                  "message": "Getting profiles success.",
                  "profiles": [
                    {
                      "id": 7613,
                      "name": "new-profile",
                      "description": "",
                      "data": "{\"name\": \"focused-tesla\", \"environment_name\": \"default-NORWAY-1\", \"image_name\": \"Ubuntu Server 22.04 LTS R535 CUDA 12.2\", \"volume_name\": \"\", \"flavor_name\": \"n1-cpu-large\", \"assign_floating_ip\": false, \"security_rules\": [], \"key_name\": \"example-key\", \"user_data\": \"\", \"labels\": [], \"count\": 1}",
                      "created_at": "2026-05-06T15:18:42Z"
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting profiles success.",
                      "profiles": [
                        {
                          "id": 7613,
                          "name": "new-profile",
                          "description": "",
                          "data": "{\"name\": \"focused-tesla\", \"environment_name\": \"default-NORWAY-1\", \"image_name\": \"Ubuntu Server 22.04 LTS R535 CUDA 12.2\", \"volume_name\": \"\", \"flavor_name\": \"n1-cpu-large\", \"assign_floating_ip\": false, \"security_rules\": [], \"key_name\": \"example-key\", \"user_data\": \"\", \"labels\": [], \"count\": 1}",
                          "created_at": "2026-05-06T15:18:42Z"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "Profile"
        ],
        "summary": "Create profile",
        "description": "Creates a [**provisioning profile**](https://docs.hyperstack.cloud/docs/virtual-machines/provisioning-profiles) by saving the configuration of a virtual machine for future use. Provide a `name`, optional `description`, and the virtual machine configuration in the `data` object. For the full set of virtual machine configuration fields, see the [**Create virtual machines**](https://docs.hyperstack.cloud/docs/api-reference/create-vms) endpoint.",
        "operationId": "Create_profile",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Create_Profile_Payload",
                "example": {
                  "name": "example-profile",
                  "description": "Example profile",
                  "data": {
                    "environment_name": "canada-1",
                    "flavor_name": "n2-cpu-medium",
                    "key_name": "example-keypair",
                    "name": "example-vm",
                    "count": "1",
                    "image_name": "Ubuntu Server 24.04 LTS (Noble Numbat)",
                    "assign_floating_ip": "false"
                  }
                },
                "properties": {}
              },
              "example": {
                "data": {
                  "environment_name": "canada-1",
                  "flavor_name": "n2-cpu-medium",
                  "key_name": "example-keypair",
                  "name": "example-vm",
                  "count": "1",
                  "image_name": "Ubuntu Server 24.04 LTS (Noble Numbat)",
                  "assign_floating_ip": "false"
                },
                "name": "example-profile",
                "description": "Example profile"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Profile created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Create_Profile_Response"
                },
                "example": {
                  "status": true,
                  "message": "Profile created successfully",
                  "profile": {
                    "id": 3287,
                    "name": "example-profile",
                    "description": "Example profile",
                    "data": "{\"environment_name\": \"canada-1\",\"flavor_name\": \"n2-cpu-medium\",\"key_name\": \"example-keypair\",\"name\": \"example-vm\",\"count\": \"1\",\"image_name\": \"Ubuntu Server 24.04 LTS (Noble Numbat)\",\"assign_floating_ip\": \"false\"}",
                    "created_at": "2026-05-06T16:04:09Z"
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Profile created successfully",
                      "profile": {
                        "id": 3287,
                        "name": "example-profile",
                        "description": "Example profile",
                        "data": "{\"environment_name\": \"canada-1\",\"flavor_name\": \"n2-cpu-medium\",\"key_name\": \"example-keypair\",\"name\": \"example-vm\",\"count\": \"1\",\"image_name\": \"Ubuntu Server 24.04 LTS (Noble Numbat)\",\"assign_floating_ip\": \"false\"}",
                        "created_at": "2026-05-06T16:04:09Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/profiles/{id}": {
      "get": {
        "tags": [
          "Profile"
        ],
        "summary": "Retrieve profile details",
        "description": "Retrieves the details of an existing [**provisioning profile**](https://docs.hyperstack.cloud/docs/virtual-machines/provisioning-profiles) containing the saved configuration of a virtual machine, ready for deployment. Include the profile ID in the path to retrieve the details.",
        "operationId": "Get_profile",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the profiles."
          }
        ],
        "responses": {
          "200": {
            "description": "Profile details retrieved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Create_Profile_Response"
                },
                "example": {
                  "status": true,
                  "message": "Getting profile detail success.",
                  "profile": {
                    "id": 3287,
                    "name": "example-profile",
                    "description": "Example profile",
                    "data": "{\"environment_name\": \"canada-1\",\"flavor_name\": \"n2-cpu-medium\",\"key_name\": \"example-keypair\",\"name\": \"example-vm\",\"count\": \"1\",\"image_name\": \"Ubuntu Server 24.04 LTS (Noble Numbat)\",\"assign_floating_ip\": \"false\"}",
                    "created_at": "2026-05-06T16:04:09Z"
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting profile detail success.",
                      "profile": {
                        "id": 3287,
                        "name": "example-profile",
                        "description": "Example profile",
                        "data": "{\"environment_name\": \"canada-1\",\"flavor_name\": \"n2-cpu-medium\",\"key_name\": \"example-keypair\",\"name\": \"example-vm\",\"count\": \"1\",\"image_name\": \"Ubuntu Server 24.04 LTS (Noble Numbat)\",\"assign_floating_ip\": \"false\"}",
                        "created_at": "2026-05-06T16:04:09Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Profile"
        ],
        "summary": "Delete profile",
        "description": "Deletes an existing [**provisioning profile**](https://docs.hyperstack.cloud/docs/virtual-machines/provisioning-profiles) containing the saved configuration of a virtual machine. Include the profile ID in the path to delete the specified profile.",
        "operationId": "Delete_profile",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the profiles."
          }
        ],
        "responses": {
          "200": {
            "description": "Profile deleted successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Profile example-profile deleted."
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Profile example-profile deleted."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/regions": {
      "get": {
        "tags": [
          "Region"
        ],
        "summary": "List Regions",
        "description": "Lists the currently available regions, each representing a distinct geographic location housing a data center. See [Regions](https://docs.hyperstack.cloud/docs/resource-management/regions) for additional information.",
        "operationId": "List_Regions",
        "responses": {
          "200": {
            "description": "Successful retrieval of regions list.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Regions"
                },
                "example": {
                  "status": true,
                  "message": "Getting regions successful.",
                  "regions": [
                    {
                      "id": 3287,
                      "name": "NORWAY-1",
                      "country": "NO",
                      "description": null,
                      "green_status": "GREEN",
                      "features": {
                        "floating_ip": true,
                        "volumes": true
                      }
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting regions successful.",
                      "regions": [
                        {
                          "id": 3287,
                          "name": "NORWAY-1",
                          "country": "NO",
                          "description": null,
                          "green_status": "GREEN",
                          "features": {
                            "floating_ip": true,
                            "volumes": true
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/sg-rules-protocols": {
      "get": {
        "tags": [
          "Firewalls"
        ],
        "summary": "List firewall rule protocols",
        "description": "Returns a list of all available protocols that can be used in the creation of firewall rules for your virtual machines.",
        "operationId": "List_firewall_rule_protocols",
        "responses": {
          "200": {
            "description": "Protocols list successfully retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Security_Rules_Protocol_Fields"
                },
                "example": {
                  "status": true,
                  "message": "Getting security rule protocols successful",
                  "protocols": [
                    "any",
                    "ah",
                    "dccp"
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting security rule protocols successful",
                      "protocols": [
                        "any",
                        "ah",
                        "dccp"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/snapshots": {
      "get": {
        "tags": [
          "Snapshots"
        ],
        "summary": "Retrieve list of snapshots with pagination",
        "description": "Retrieves a list of your current snapshots. See [Snapshots](https://docs.hyperstack.cloud/docs/api-reference/snapshots) for more information.",
        "operationId": "List_snapshots",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Data Per Page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search By Snapshot ID or Name",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Snapshots"
                },
                "example": {
                  "status": true,
                  "message": "Successfully retrieved Snapshots",
                  "page": null,
                  "page_size": null,
                  "count": 3,
                  "snapshots": [
                    {
                      "id": 9876,
                      "name": "example-snapshot",
                      "description": "Example snapshot",
                      "vm_id": 5341,
                      "region_id": 1402,
                      "status": "SUCCESS",
                      "is_image": true,
                      "size": 4,
                      "has_floating_ip": false,
                      "labels": [],
                      "created_at": "2026-05-07T09:21:55Z",
                      "updated_at": "2026-05-07T09:21:55Z",
                      "region": "NORWAY-1",
                      "vm_name": "example-vm",
                      "vm_status": "DELETED",
                      "vm_environment": {
                        "id": 7613,
                        "name": "example-environment",
                        "region": "NORWAY-1",
                        "created_at": "2026-05-06T15:18:42Z",
                        "features": {
                          "network_optimised": false,
                          "green_status": "GREEN"
                        }
                      },
                      "vm_flavor": {
                        "id": 1129,
                        "name": "n1-cpu-small",
                        "display_name": null,
                        "region_name": "NORWAY-1",
                        "cpu": 4,
                        "ram": 4,
                        "disk": 100,
                        "ephemeral": 0,
                        "gpu": "",
                        "gpu_count": 0,
                        "created_at": "2026-05-06T15:18:42Z",
                        "labels": [],
                        "features": {
                          "network_optimised": false,
                          "no_reboot": false,
                          "no_hibernation": false,
                          "no_snapshot": false,
                          "local_storage_only": false,
                          "api_only": false
                        }
                      },
                      "vm_image": {
                        "id": 7613,
                        "name": "Ubuntu Server 24.04 LTS (Noble Numbat)",
                        "region_name": "NORWAY-1",
                        "type": "Ubuntu",
                        "version": "Server 24.04 LTS (Noble Numbat)",
                        "size": 26843545600,
                        "display_size": "25 GiB",
                        "description": "",
                        "snapshot": null,
                        "is_public": true,
                        "created_at": "2026-05-06T15:18:42Z",
                        "labels": []
                      },
                      "vm_keypair": {
                        "id": 8429,
                        "name": "example-keypair",
                        "environment": {
                          "id": 4501,
                          "name": "example-environment",
                          "features": {
                            "network_optimised": false,
                            "green_status": "GREEN"
                          }
                        },
                        "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMnm2XM9Vs1RA6mV20c7wGO3/H5eMR+3ReROywj7iyg+ user@example.com",
                        "fingerprint": "72:0a:c4:28:24:f8:3e:ab:c4:a5:a6:93:15:15:a9:e8",
                        "created_at": "2026-05-07T09:21:55Z"
                      },
                      "volume_id": null,
                      "volume_name": null,
                      "custom_image": {
                        "id": 7613,
                        "name": "example-img-1786",
                        "region_name": "NORWAY-1",
                        "type": "Snapshot",
                        "version": "example-snapshot",
                        "size": 4294967296,
                        "description": null,
                        "is_public": false,
                        "created_at": "2026-05-06T15:18:42Z",
                        "labels": []
                      }
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Successfully retrieved Snapshots",
                      "page": null,
                      "page_size": null,
                      "count": 3,
                      "snapshots": [
                        {
                          "id": 9876,
                          "name": "example-snapshot",
                          "description": "Example snapshot",
                          "vm_id": 5341,
                          "region_id": 1402,
                          "status": "SUCCESS",
                          "is_image": true,
                          "size": 4,
                          "has_floating_ip": false,
                          "labels": [],
                          "created_at": "2026-05-07T09:21:55Z",
                          "updated_at": "2026-05-07T09:21:55Z",
                          "region": "NORWAY-1",
                          "vm_name": "example-vm",
                          "vm_status": "DELETED",
                          "vm_environment": {
                            "id": 7613,
                            "name": "example-environment",
                            "region": "NORWAY-1",
                            "created_at": "2026-05-06T15:18:42Z",
                            "features": {
                              "network_optimised": false,
                              "green_status": "GREEN"
                            }
                          },
                          "vm_flavor": {
                            "id": 1129,
                            "name": "n1-cpu-small",
                            "display_name": null,
                            "region_name": "NORWAY-1",
                            "cpu": 4,
                            "ram": 4,
                            "disk": 100,
                            "ephemeral": 0,
                            "gpu": "",
                            "gpu_count": 0,
                            "created_at": "2026-05-06T15:18:42Z",
                            "labels": [],
                            "features": {
                              "network_optimised": false,
                              "no_reboot": false,
                              "no_hibernation": false,
                              "no_snapshot": false,
                              "local_storage_only": false,
                              "api_only": false
                            }
                          },
                          "vm_image": {
                            "id": 7613,
                            "name": "Ubuntu Server 24.04 LTS (Noble Numbat)",
                            "region_name": "NORWAY-1",
                            "type": "Ubuntu",
                            "version": "Server 24.04 LTS (Noble Numbat)",
                            "size": 26843545600,
                            "display_size": "25 GiB",
                            "description": "",
                            "snapshot": null,
                            "is_public": true,
                            "created_at": "2026-05-06T15:18:42Z",
                            "labels": []
                          },
                          "vm_keypair": {
                            "id": 8429,
                            "name": "example-keypair",
                            "environment": {
                              "id": 4501,
                              "name": "example-environment",
                              "features": {
                                "network_optimised": false,
                                "green_status": "GREEN"
                              }
                            },
                            "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMnm2XM9Vs1RA6mV20c7wGO3/H5eMR+3ReROywj7iyg+ user@example.com",
                            "fingerprint": "72:0a:c4:28:24:f8:3e:ab:c4:a5:a6:93:15:15:a9:e8",
                            "created_at": "2026-05-07T09:21:55Z"
                          },
                          "volume_id": null,
                          "volume_name": null,
                          "custom_image": {
                            "id": 7613,
                            "name": "example-img-1786",
                            "region_name": "NORWAY-1",
                            "type": "Snapshot",
                            "version": "example-snapshot",
                            "size": 4294967296,
                            "description": null,
                            "is_public": false,
                            "created_at": "2026-05-06T15:18:42Z",
                            "labels": []
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/snapshots/name-availability/{name}": {
      "get": {
        "tags": [
          "Snapshots"
        ],
        "summary": "Fetch snapshot name availability",
        "description": "Check if a Snapshot name is available.",
        "operationId": "Fetch_snapshot_name_availability",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Name of the snapshot."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NameAvailableModel"
                },
                "example": {
                  "name": "example-availability-check",
                  "available": true,
                  "message": "This name is available"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "name": "example-availability-check",
                      "available": true,
                      "message": "This name is available"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/snapshots/{id}": {
      "get": {
        "tags": [
          "Snapshots"
        ],
        "summary": "Retrieve a snapshot",
        "description": "Retrieve details of a snapshot. See [Snapshots](https://docs.hyperstack.cloud/docs/api-reference/snapshots) for more information.",
        "operationId": "Get_snapshot",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the snapshot."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SnapshotRetrieve"
                },
                "example": {
                  "status": 200,
                  "message": "Retrieved snapshot 1789",
                  "snapshot": {
                    "id": 2058,
                    "name": "example-snapshot",
                    "description": "Example snapshot",
                    "vm_id": 7613,
                    "region_id": 9876,
                    "status": "SUCCESS",
                    "is_image": true,
                    "size": 4,
                    "has_floating_ip": false,
                    "labels": [],
                    "created_at": "2026-05-07T11:47:30Z",
                    "updated_at": "2026-05-07T11:47:30Z",
                    "region": "NORWAY-1",
                    "vm_name": "example-vm",
                    "vm_status": "SHUTOFF",
                    "vm_environment": {
                      "id": 3287,
                      "name": "example-environment",
                      "region": "NORWAY-1",
                      "created_at": "2026-05-06T16:04:09Z",
                      "features": {
                        "network_optimised": false,
                        "green_status": "GREEN"
                      }
                    },
                    "vm_flavor": {
                      "id": 1402,
                      "name": "n1-cpu-small",
                      "display_name": null,
                      "region_name": "NORWAY-1",
                      "cpu": 4,
                      "ram": 4,
                      "disk": 100,
                      "ephemeral": 0,
                      "gpu": "",
                      "gpu_count": 0,
                      "created_at": "2026-05-06T16:04:09Z",
                      "labels": [],
                      "features": {
                        "network_optimised": false,
                        "no_reboot": false,
                        "no_hibernation": false,
                        "no_snapshot": false,
                        "local_storage_only": false,
                        "api_only": false
                      }
                    },
                    "vm_image": {
                      "id": 3287,
                      "name": "Ubuntu Server 24.04 LTS (Noble Numbat)",
                      "region_name": "NORWAY-1",
                      "type": "Ubuntu",
                      "version": "Server 24.04 LTS (Noble Numbat)",
                      "size": 26843545600,
                      "display_size": "25 GiB",
                      "description": "",
                      "snapshot": null,
                      "is_public": true,
                      "created_at": "2026-05-06T16:04:09Z",
                      "labels": []
                    },
                    "vm_keypair": {
                      "id": 4501,
                      "name": "example-keypair",
                      "environment": {
                        "id": 6190,
                        "name": "example-environment",
                        "features": {
                          "network_optimised": false,
                          "green_status": "GREEN"
                        }
                      },
                      "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJz0qO97NM7sZzUGT0z+eddAXg8BTYr1dz5LD8QyCmg1 user@example.com",
                      "fingerprint": "ea:85:b4:6e:a8:75:a1:17:10:51:f5:a2:65:7e:1f:c0",
                      "created_at": "2026-05-07T11:47:30Z"
                    },
                    "volume_id": null,
                    "volume_name": null,
                    "custom_image": {
                      "id": 3287,
                      "name": "example-img-1789",
                      "region_name": "NORWAY-1",
                      "type": "Snapshot",
                      "version": "example-snapshot",
                      "size": 4294967296,
                      "description": null,
                      "is_public": false,
                      "created_at": "2026-05-06T16:04:09Z",
                      "labels": []
                    }
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": 200,
                      "message": "Retrieved snapshot 1789",
                      "snapshot": {
                        "id": 2058,
                        "name": "example-snapshot",
                        "description": "Example snapshot",
                        "vm_id": 7613,
                        "region_id": 9876,
                        "status": "SUCCESS",
                        "is_image": true,
                        "size": 4,
                        "has_floating_ip": false,
                        "labels": [],
                        "created_at": "2026-05-07T11:47:30Z",
                        "updated_at": "2026-05-07T11:47:30Z",
                        "region": "NORWAY-1",
                        "vm_name": "example-vm",
                        "vm_status": "SHUTOFF",
                        "vm_environment": {
                          "id": 3287,
                          "name": "example-environment",
                          "region": "NORWAY-1",
                          "created_at": "2026-05-06T16:04:09Z",
                          "features": {
                            "network_optimised": false,
                            "green_status": "GREEN"
                          }
                        },
                        "vm_flavor": {
                          "id": 1402,
                          "name": "n1-cpu-small",
                          "display_name": null,
                          "region_name": "NORWAY-1",
                          "cpu": 4,
                          "ram": 4,
                          "disk": 100,
                          "ephemeral": 0,
                          "gpu": "",
                          "gpu_count": 0,
                          "created_at": "2026-05-06T16:04:09Z",
                          "labels": [],
                          "features": {
                            "network_optimised": false,
                            "no_reboot": false,
                            "no_hibernation": false,
                            "no_snapshot": false,
                            "local_storage_only": false,
                            "api_only": false
                          }
                        },
                        "vm_image": {
                          "id": 3287,
                          "name": "Ubuntu Server 24.04 LTS (Noble Numbat)",
                          "region_name": "NORWAY-1",
                          "type": "Ubuntu",
                          "version": "Server 24.04 LTS (Noble Numbat)",
                          "size": 26843545600,
                          "display_size": "25 GiB",
                          "description": "",
                          "snapshot": null,
                          "is_public": true,
                          "created_at": "2026-05-06T16:04:09Z",
                          "labels": []
                        },
                        "vm_keypair": {
                          "id": 4501,
                          "name": "example-keypair",
                          "environment": {
                            "id": 6190,
                            "name": "example-environment",
                            "features": {
                              "network_optimised": false,
                              "green_status": "GREEN"
                            }
                          },
                          "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJz0qO97NM7sZzUGT0z+eddAXg8BTYr1dz5LD8QyCmg1 user@example.com",
                          "fingerprint": "ea:85:b4:6e:a8:75:a1:17:10:51:f5:a2:65:7e:1f:c0",
                          "created_at": "2026-05-07T11:47:30Z"
                        },
                        "volume_id": null,
                        "volume_name": null,
                        "custom_image": {
                          "id": 3287,
                          "name": "example-img-1789",
                          "region_name": "NORWAY-1",
                          "type": "Snapshot",
                          "version": "example-snapshot",
                          "size": 4294967296,
                          "description": null,
                          "is_public": false,
                          "created_at": "2026-05-06T16:04:09Z",
                          "labels": []
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Snapshots"
        ],
        "summary": "Delete snapshot",
        "description": "Delete a snapshot. Provide the snapshot ID in the path to delete the specified snapshot. If the snapshot is connected with an image, that image will also be deleted and the deleted image ID will be returned in the success message response.",
        "operationId": "Delete_snapshot",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the snapshot."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Snapshot 1789 is being deleted"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Snapshot 1789 is being deleted"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/snapshots/{id}/restore": {
      "post": {
        "tags": [
          "Snapshots"
        ],
        "summary": "Restore a snapshot",
        "description": "Restore a snapshot to a new virtual machine. Supply the snapshot ID in the path to restore the specified snapshot.\n\n> **State requirement:** This operation requires the snapshot to be in the `COMPLETE` state.",
        "operationId": "Restore_snapshot",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the snapshot."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SnapshotRestoreRequest",
                "example": {
                  "new_vm_name": "example-restored-1789"
                },
                "properties": {}
              },
              "example": {
                "new_vm_name": "example-restored-1789"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Instance"
                },
                "example": {
                  "status": true,
                  "message": "VM is scheduled for creation.",
                  "instances": [
                    {
                      "id": 7613,
                      "name": "example-restored-1789",
                      "status": "CREATING",
                      "environment": {
                        "id": 3287,
                        "name": "example-environment",
                        "org_id": 6190,
                        "region": "NORWAY-1",
                        "features": {
                          "network_optimised": false,
                          "green_status": "GREEN"
                        }
                      },
                      "image": null,
                      "flavor": {
                        "id": 1402,
                        "name": "n1-cpu-small",
                        "cpu": 4,
                        "ram": 4,
                        "disk": 100,
                        "ephemeral": 0,
                        "gpu": "",
                        "gpu_count": 0,
                        "labels": [],
                        "features": {
                          "network_optimised": false,
                          "no_reboot": false,
                          "no_hibernation": false,
                          "no_snapshot": false,
                          "local_storage_only": false,
                          "api_only": false
                        }
                      },
                      "os": "Ubuntu Server 24.04 LTS (Noble Numbat)",
                      "keypair": {
                        "name": "example-keypair"
                      },
                      "volume_attachments": [],
                      "power_state": null,
                      "vm_state": null,
                      "fixed_ip": null,
                      "floating_ip": null,
                      "floating_ip_status": "NO FLOATING IP",
                      "security_rules": [],
                      "callback_url": null,
                      "locked": false,
                      "contract_id": null,
                      "labels": [],
                      "created_at": "2026-05-06T15:18:42Z",
                      "features": {
                        "network_optimised": false,
                        "green_status": "GREEN"
                      },
                      "is_snapshotting": false,
                      "cluster_id": null,
                      "port_randomization": true,
                      "port_randomization_status": "NO_FLOATING_IP",
                      "requires_public_ip": false
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "VM is scheduled for creation.",
                      "instances": [
                        {
                          "id": 7613,
                          "name": "example-restored-1789",
                          "status": "CREATING",
                          "environment": {
                            "id": 3287,
                            "name": "example-environment",
                            "org_id": 6190,
                            "region": "NORWAY-1",
                            "features": {
                              "network_optimised": false,
                              "green_status": "GREEN"
                            }
                          },
                          "image": null,
                          "flavor": {
                            "id": 1402,
                            "name": "n1-cpu-small",
                            "cpu": 4,
                            "ram": 4,
                            "disk": 100,
                            "ephemeral": 0,
                            "gpu": "",
                            "gpu_count": 0,
                            "labels": [],
                            "features": {
                              "network_optimised": false,
                              "no_reboot": false,
                              "no_hibernation": false,
                              "no_snapshot": false,
                              "local_storage_only": false,
                              "api_only": false
                            }
                          },
                          "os": "Ubuntu Server 24.04 LTS (Noble Numbat)",
                          "keypair": {
                            "name": "example-keypair"
                          },
                          "volume_attachments": [],
                          "power_state": null,
                          "vm_state": null,
                          "fixed_ip": null,
                          "floating_ip": null,
                          "floating_ip_status": "NO FLOATING IP",
                          "security_rules": [],
                          "callback_url": null,
                          "locked": false,
                          "contract_id": null,
                          "labels": [],
                          "created_at": "2026-05-06T15:18:42Z",
                          "features": {
                            "network_optimised": false,
                            "green_status": "GREEN"
                          },
                          "is_snapshotting": false,
                          "cluster_id": null,
                          "port_randomization": true,
                          "port_randomization_status": "NO_FLOATING_IP",
                          "requires_public_ip": false
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "Snapshot 1785 is not ready to be restored",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "Snapshot 1785 is not ready to be restored",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/snapshots/{snapshot_id}/events": {
      "get": {
        "tags": [
          "Snapshots"
        ],
        "summary": "Fetch all events for a snapshot",
        "description": "Retrieves a list of all events for a Snapshot's history, which records actions performed on the specific snapshot. Requires the snapshot ID in the path.",
        "operationId": "List_Snapshot_Events",
        "parameters": [
          {
            "name": "snapshot_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the snapshot."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "status": true,
                  "message": "Successfully retrieved events for Snapshot example-snapshot",
                  "snapshot_events": [
                    {
                      "id": 2058,
                      "snapshot_id": 4501,
                      "user_id": 7613,
                      "org_id": 3287,
                      "time": "2026-05-07T11:47:30Z",
                      "type": "normal",
                      "reason": "SnapshotCreateRequest",
                      "object": "example-snapshot",
                      "message": "Snapshot example-snapshot Creation Request from Instance example-vm Sent."
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Successfully retrieved events for Snapshot example-snapshot",
                      "snapshot_events": [
                        {
                          "id": 2058,
                          "snapshot_id": 4501,
                          "user_id": 7613,
                          "org_id": 3287,
                          "time": "2026-05-07T11:47:30Z",
                          "type": "normal",
                          "reason": "SnapshotCreateRequest",
                          "object": "example-snapshot",
                          "message": "Snapshot example-snapshot Creation Request from Instance example-vm Sent."
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/snapshots/{snapshot_id}/image": {
      "post": {
        "tags": [
          "Snapshots"
        ],
        "summary": "Create an image from a snapshot",
        "description": "Creates a image from a specified snapshot. For more information about images, see [Image](https://docs.hyperstack.cloud/docs/api-reference/image). For more information about snapshots, see [Snapshot](https://docs.hyperstack.cloud/docs/api-reference/snapshots).",
        "operationId": "Create_custom_image",
        "parameters": [
          {
            "name": "snapshot_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the snapshot."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateImagePayload",
                "example": {
                  "name": "example-img-1789"
                },
                "properties": {}
              },
              "example": {
                "name": "example-img-1789"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Creation of image successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Create_Image"
                },
                "example": {
                  "status": true,
                  "message": "Image added successfully.",
                  "image": {
                    "id": 4501,
                    "name": "example-img-1789",
                    "openstack_id": "f3a91c44-7b2e-49d7-a16d-5c3e8d9a0b21",
                    "region_id": 8429,
                    "region_name": "NORWAY-1",
                    "type": "Snapshot",
                    "version": "example-snapshot",
                    "size": 4294967296,
                    "display_size": "4 GiB",
                    "is_public": false,
                    "org_ids": [
                      3971
                    ],
                    "description": null,
                    "labels": [],
                    "created_at": "2026-05-07T11:47:30Z",
                    "deleted": false,
                    "snapshot_id": 2058,
                    "unlisted": false,
                    "organizations": [
                      3971
                    ]
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Image added successfully.",
                      "image": {
                        "id": 4501,
                        "name": "example-img-1789",
                        "openstack_id": "f3a91c44-7b2e-49d7-a16d-5c3e8d9a0b21",
                        "region_id": 8429,
                        "region_name": "NORWAY-1",
                        "type": "Snapshot",
                        "version": "example-snapshot",
                        "size": 4294967296,
                        "display_size": "4 GiB",
                        "is_public": false,
                        "org_ids": [
                          3971
                        ],
                        "description": null,
                        "labels": [],
                        "created_at": "2026-05-07T11:47:30Z",
                        "deleted": false,
                        "snapshot_id": 2058,
                        "unlisted": false,
                        "organizations": [
                          3971
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "406": {
            "description": "Not Acceptable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/stocks": {
      "get": {
        "tags": [
          "Stock"
        ],
        "summary": "Retrieve GPU stocks",
        "description": "Returns information on current and upcoming GPU availability, organized by [**region**](https://docs.hyperstack.cloud/docs/resource-management/regions) and GPU model. For additional information on GPU stocks, see [Gpu stock information](https://docs.hyperstack.cloud/docs/hardware/gpu-stock-information).",
        "operationId": "Get_GPU_stock",
        "responses": {
          "200": {
            "description": "GPU stocks retrieved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/New_Stock_Retrive_Response"
                },
                "example": {
                  "stocks": [
                    {
                      "region": "CANADA-1",
                      "stock-type": "GPU",
                      "models": [
                        {
                          "model": "H100-80G-PCIe-NVLink",
                          "available": "0",
                          "planned_7_days": null,
                          "planned_30_days": null,
                          "planned_100_days": null,
                          "configurations": {
                            "1x": 0,
                            "2x": 0,
                            "4x": 0,
                            "8x": 0,
                            "10x": 0
                          }
                        },
                        {
                          "model": "H100-80G-PCIe",
                          "available": "10+",
                          "planned_7_days": "0",
                          "planned_30_days": "0",
                          "planned_100_days": "0",
                          "configurations": {
                            "1x": 36,
                            "2x": 12,
                            "4x": 2,
                            "8x": 0,
                            "10x": 0
                          }
                        },
                        {
                          "model": "A100-80G-PCIe",
                          "available": "2",
                          "planned_7_days": null,
                          "planned_30_days": null,
                          "planned_100_days": null,
                          "configurations": {
                            "1x": 2,
                            "2x": 1,
                            "4x": 0,
                            "8x": 0,
                            "10x": 0
                          }
                        }
                      ]
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "stocks": [
                        {
                          "region": "CANADA-1",
                          "stock-type": "GPU",
                          "models": [
                            {
                              "model": "H100-80G-PCIe-NVLink",
                              "available": "0",
                              "planned_7_days": null,
                              "planned_30_days": null,
                              "planned_100_days": null,
                              "configurations": {
                                "1x": 0,
                                "2x": 0,
                                "4x": 0,
                                "8x": 0,
                                "10x": 0
                              }
                            },
                            {
                              "model": "H100-80G-PCIe",
                              "available": "10+",
                              "planned_7_days": "0",
                              "planned_30_days": "0",
                              "planned_100_days": "0",
                              "configurations": {
                                "1x": 36,
                                "2x": 12,
                                "4x": 2,
                                "8x": 0,
                                "10x": 0
                              }
                            },
                            {
                              "model": "A100-80G-PCIe",
                              "available": "2",
                              "planned_7_days": null,
                              "planned_30_days": null,
                              "planned_100_days": null,
                              "configurations": {
                                "1x": 2,
                                "2x": 1,
                                "4x": 0,
                                "8x": 0,
                                "10x": 0
                              }
                            }
                          ]
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Stocks Not Found",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/user/resources/defaults": {
      "get": {
        "tags": [
          "User Detail Choice"
        ],
        "summary": "Retrieve default flavors and images",
        "description": "Retrieves the default options for virtual machine deployment, including the default region, flavor, and image.",
        "operationId": "List_Default_Flavors_and_Images",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDefaultChoicesForUserResponse"
                },
                "example": {
                  "status": true,
                  "message": "Getting user default choices success",
                  "user_default_choices": [
                    {
                      "region_id": 4501,
                      "flavor_id": 5341,
                      "image_id": 6190
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting user default choices success",
                      "user_default_choices": [
                        {
                          "region_id": 4501,
                          "flavor_id": 5341,
                          "image_id": 6190
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "405": {
            "description": "Method Not Allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines": {
      "get": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "List virtual machines",
        "description": "Returns a list of your existing virtual machines, providing configuration details for each. The list is sorted by creation date, with the oldest virtual machines displayed first.",
        "operationId": "List_Vms",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "Page number to retrieve."
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "Number of items to return per page."
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Filter results by case-insensitive substring match against the resource name."
          },
          {
            "name": "environment",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Filter results to a specific environment by name."
          },
          {
            "name": "exclude_firewalls",
            "in": "query",
            "description": "Comma-separated list of Security Group IDs to ignore instances attached",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer"
              }
            }
          },
          {
            "name": "exact_environment_match",
            "in": "query",
            "description": "Flag to filter environment by exact match instead of partial match",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Instances"
                },
                "example": {
                  "status": true,
                  "message": "Getting VMs successful",
                  "page": null,
                  "page_size": null,
                  "count": 3,
                  "instances": [
                    {
                      "id": 7613,
                      "name": "example-restored-1787",
                      "status": "ACTIVE",
                      "environment": {
                        "id": 3287,
                        "name": "example-environment",
                        "org_id": 6190,
                        "region": "NORWAY-1",
                        "features": {
                          "network_optimised": false,
                          "green_status": "GREEN"
                        }
                      },
                      "image": null,
                      "flavor": {
                        "id": 1402,
                        "name": "n1-cpu-small",
                        "cpu": 4,
                        "ram": 4,
                        "disk": 100,
                        "ephemeral": 0,
                        "gpu": "",
                        "gpu_count": 0,
                        "labels": [],
                        "features": {
                          "network_optimised": false,
                          "no_reboot": false,
                          "no_hibernation": false,
                          "no_snapshot": false,
                          "local_storage_only": false,
                          "api_only": false
                        }
                      },
                      "os": "Ubuntu Server 24.04 LTS (Noble Numbat)",
                      "keypair": {
                        "name": "example-keypair"
                      },
                      "volume_attachments": [],
                      "power_state": "RUNNING",
                      "vm_state": "active",
                      "fixed_ip": "192.0.2.42",
                      "floating_ip": null,
                      "floating_ip_status": "NO FLOATING IP",
                      "security_rules": [
                        {
                          "id": 2058,
                          "direction": "egress",
                          "protocol": "any",
                          "port_range_min": 1,
                          "port_range_max": 65535,
                          "ethertype": "IPv6",
                          "remote_ip_prefix": "0.0.0.0/0",
                          "status": "SUCCESS",
                          "created_at": "2026-05-07T11:47:30Z"
                        },
                        {
                          "id": 5341,
                          "direction": "egress",
                          "protocol": "any",
                          "port_range_min": 1,
                          "port_range_max": 65535,
                          "ethertype": "IPv4",
                          "remote_ip_prefix": "0.0.0.0/0",
                          "status": "SUCCESS",
                          "created_at": "2026-05-06T14:32:11Z"
                        }
                      ],
                      "callback_url": null,
                      "locked": false,
                      "contract_id": null,
                      "labels": [],
                      "created_at": "2026-05-06T15:18:42Z",
                      "features": {
                        "network_optimised": false,
                        "green_status": "GREEN"
                      },
                      "is_snapshotting": false,
                      "cluster_id": null,
                      "port_randomization": true,
                      "port_randomization_status": "NO_FLOATING_IP",
                      "requires_public_ip": false
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting VMs successful",
                      "page": null,
                      "page_size": null,
                      "count": 3,
                      "instances": [
                        {
                          "id": 7613,
                          "name": "example-restored-1787",
                          "status": "ACTIVE",
                          "environment": {
                            "id": 3287,
                            "name": "example-environment",
                            "org_id": 6190,
                            "region": "NORWAY-1",
                            "features": {
                              "network_optimised": false,
                              "green_status": "GREEN"
                            }
                          },
                          "image": null,
                          "flavor": {
                            "id": 1402,
                            "name": "n1-cpu-small",
                            "cpu": 4,
                            "ram": 4,
                            "disk": 100,
                            "ephemeral": 0,
                            "gpu": "",
                            "gpu_count": 0,
                            "labels": [],
                            "features": {
                              "network_optimised": false,
                              "no_reboot": false,
                              "no_hibernation": false,
                              "no_snapshot": false,
                              "local_storage_only": false,
                              "api_only": false
                            }
                          },
                          "os": "Ubuntu Server 24.04 LTS (Noble Numbat)",
                          "keypair": {
                            "name": "example-keypair"
                          },
                          "volume_attachments": [],
                          "power_state": "RUNNING",
                          "vm_state": "active",
                          "fixed_ip": "192.0.2.42",
                          "floating_ip": null,
                          "floating_ip_status": "NO FLOATING IP",
                          "security_rules": [
                            {
                              "id": 2058,
                              "direction": "egress",
                              "protocol": "any",
                              "port_range_min": 1,
                              "port_range_max": 65535,
                              "ethertype": "IPv6",
                              "remote_ip_prefix": "0.0.0.0/0",
                              "status": "SUCCESS",
                              "created_at": "2026-05-07T11:47:30Z"
                            },
                            {
                              "id": 5341,
                              "direction": "egress",
                              "protocol": "any",
                              "port_range_min": 1,
                              "port_range_max": 65535,
                              "ethertype": "IPv4",
                              "remote_ip_prefix": "0.0.0.0/0",
                              "status": "SUCCESS",
                              "created_at": "2026-05-06T14:32:11Z"
                            }
                          ],
                          "callback_url": null,
                          "locked": false,
                          "contract_id": null,
                          "labels": [],
                          "created_at": "2026-05-06T15:18:42Z",
                          "features": {
                            "network_optimised": false,
                            "green_status": "GREEN"
                          },
                          "is_snapshotting": false,
                          "cluster_id": null,
                          "port_randomization": true,
                          "port_randomization_status": "NO_FLOATING_IP",
                          "requires_public_ip": false
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "Create virtual machines",
        "description": "Creates one or more virtual machines with the specified custom configuration and features provided in the request body. For more information about the virtual machine features offered by Hyperstack, see [Custom VM features](https://docs.hyperstack.cloud/docs/virtual-machines/virtual-machine-features).",
        "operationId": "Create_Vms",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Create_Instances_Payload",
                "example": {
                  "name": "example-vm",
                  "environment_name": "example-environment",
                  "image_name": "Ubuntu Server 24.04 LTS (Noble Numbat)",
                  "flavor_name": "n1-cpu-small",
                  "key_name": "example-keypair",
                  "count": 1,
                  "assign_floating_ip": false
                },
                "properties": {}
              },
              "example": {
                "count": 1,
                "environment_name": "example-environment",
                "flavor_name": "n1-cpu-small",
                "key_name": "example-keypair",
                "name": "example-vm",
                "image_name": "Ubuntu Server 24.04 LTS (Noble Numbat)",
                "assign_floating_ip": false
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Virtual machine(s) created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateInstancesResponse"
                },
                "example": {
                  "status": true,
                  "message": "VM is scheduled for creation.",
                  "instances": [
                    {
                      "id": 7613,
                      "name": "example-vm",
                      "status": "CREATING",
                      "environment": {
                        "id": 3287,
                        "name": "example-environment",
                        "org_id": 6190,
                        "region": "NORWAY-1",
                        "features": {
                          "network_optimised": false,
                          "green_status": "GREEN"
                        }
                      },
                      "image": {
                        "name": "Ubuntu Server 24.04 LTS (Noble Numbat)"
                      },
                      "flavor": {
                        "id": 1402,
                        "name": "n1-cpu-small",
                        "cpu": 4,
                        "ram": 4,
                        "disk": 100,
                        "ephemeral": 0,
                        "gpu": "",
                        "gpu_count": 0,
                        "labels": [],
                        "features": {
                          "network_optimised": false,
                          "no_reboot": false,
                          "no_hibernation": false,
                          "no_snapshot": false,
                          "local_storage_only": false,
                          "api_only": false
                        }
                      },
                      "os": "Ubuntu Server 24.04 LTS (Noble Numbat)",
                      "keypair": {
                        "name": "example-keypair"
                      },
                      "volume_attachments": [],
                      "power_state": null,
                      "vm_state": null,
                      "fixed_ip": null,
                      "floating_ip": null,
                      "floating_ip_status": "NO FLOATING IP",
                      "security_rules": [],
                      "callback_url": null,
                      "locked": false,
                      "contract_id": null,
                      "labels": [],
                      "created_at": "2026-05-06T15:18:42Z",
                      "features": {
                        "network_optimised": false,
                        "green_status": "GREEN"
                      },
                      "is_snapshotting": false,
                      "cluster_id": null,
                      "port_randomization": true,
                      "port_randomization_status": "NO_FLOATING_IP",
                      "requires_public_ip": false
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "VM is scheduled for creation.",
                      "instances": [
                        {
                          "id": 7613,
                          "name": "example-vm",
                          "status": "CREATING",
                          "environment": {
                            "id": 3287,
                            "name": "example-environment",
                            "org_id": 6190,
                            "region": "NORWAY-1",
                            "features": {
                              "network_optimised": false,
                              "green_status": "GREEN"
                            }
                          },
                          "image": {
                            "name": "Ubuntu Server 24.04 LTS (Noble Numbat)"
                          },
                          "flavor": {
                            "id": 1402,
                            "name": "n1-cpu-small",
                            "cpu": 4,
                            "ram": 4,
                            "disk": 100,
                            "ephemeral": 0,
                            "gpu": "",
                            "gpu_count": 0,
                            "labels": [],
                            "features": {
                              "network_optimised": false,
                              "no_reboot": false,
                              "no_hibernation": false,
                              "no_snapshot": false,
                              "local_storage_only": false,
                              "api_only": false
                            }
                          },
                          "os": "Ubuntu Server 24.04 LTS (Noble Numbat)",
                          "keypair": {
                            "name": "example-keypair"
                          },
                          "volume_attachments": [],
                          "power_state": null,
                          "vm_state": null,
                          "fixed_ip": null,
                          "floating_ip": null,
                          "floating_ip_status": "NO FLOATING IP",
                          "security_rules": [],
                          "callback_url": null,
                          "locked": false,
                          "contract_id": null,
                          "labels": [],
                          "created_at": "2026-05-06T15:18:42Z",
                          "features": {
                            "network_optimised": false,
                            "green_status": "GREEN"
                          },
                          "is_snapshotting": false,
                          "cluster_id": null,
                          "port_randomization": true,
                          "port_randomization_status": "NO_FLOATING_IP",
                          "requires_public_ip": false
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "boolean",
                      "default": false,
                      "description": "Whether the request succeeded."
                    },
                    "message": {
                      "type": "string",
                      "description": "Human-readable description of the result."
                    },
                    "error_reason": {
                      "type": "string",
                      "description": "Short machine-readable reason code when the request fails."
                    },
                    "compatibility_status": {
                      "type": "string",
                      "description": "Set to `BLOCKED` when the request was rejected because the selected image and flavor are not compatible. Returned only when `error_reason` is `compatibility_blocked`."
                    },
                    "suggested_flavors": {
                      "type": "array",
                      "description": "The flavors the selected image is approved for. Returned only when `error_reason` is `compatibility_blocked`.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "flavor_id": {
                            "type": "integer",
                            "description": "Identifier of the compatible [**flavor**](https://docs.hyperstack.cloud/docs/hardware/flavors)."
                          },
                          "flavor_name": {
                            "type": "string",
                            "description": "Name of the compatible flavor."
                          },
                          "link_type": {
                            "type": "string",
                            "description": "Type of compatibility link. `hard` blocks deployment; `soft` allows deployment with a performance warning."
                          },
                          "constraints": {
                            "type": "object",
                            "properties": {},
                            "description": "JSON constraints object"
                          },
                          "reason": {
                            "type": "string",
                            "description": "Human-readable reason the operation was rejected."
                          }
                        },
                        "title": "CompatibleFlavor"
                      }
                    },
                    "suggested_images": {
                      "type": "array",
                      "description": "The images the selected flavor is approved for. Returned only when `error_reason` is `compatibility_blocked`.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "image_id": {
                            "type": "integer",
                            "description": "Identifier of the compatible [**image**](https://docs.hyperstack.cloud/docs/virtual-machines/images)."
                          },
                          "image_name": {
                            "type": "string",
                            "description": "Name of the compatible image."
                          },
                          "link_type": {
                            "type": "string",
                            "description": "Type of compatibility link. `hard` blocks deployment; `soft` allows deployment with a performance warning."
                          },
                          "constraints": {
                            "type": "object",
                            "properties": {},
                            "description": "JSON constraints object"
                          },
                          "reason": {
                            "type": "string",
                            "description": "Human-readable reason the operation was rejected."
                          }
                        },
                        "title": "CompatibleImage"
                      }
                    }
                  },
                  "title": "ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "405": {
            "description": "Method Not Allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/contract/{contract_id}/virtual-machines": {
      "get": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "Retrieve virtual machines associated with a contract",
        "description": "Retrieves a list of virtual machines associated with a contract, providing details such as virtual machine name, timestamp, flavor name, and other relevant information. Please provide the ID of the relevant contract in the path.",
        "operationId": "Get_contract_Vms",
        "parameters": [
          {
            "name": "contract_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the customer contract."
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Data Per Page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search By Instance ID or Name",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContractInstancesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/name-availability/{name}": {
      "get": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "Fetch virtual machine name availability",
        "description": "Check if a Virtual Machine name is available.",
        "operationId": "Check_VM_name_availability",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Virtual machine name to check for availability."
          },
          {
            "name": "count",
            "in": "query",
            "description": "Number of instances to check availability for.",
            "schema": {
              "type": "integer",
              "default": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NameAvailableModel"
                },
                "example": {
                  "name": "example-availability-check",
                  "available": true,
                  "message": "This name is available"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "name": "example-availability-check",
                      "available": true,
                      "message": "This name is available"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}": {
      "get": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "Retrieve virtual machine details",
        "description": "Retrieves the details of an existing virtual machine. Provide the virtual machine ID in the path, and Hyperstack will return information about the corresponding VM.",
        "operationId": "Get_VM",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          }
        ],
        "responses": {
          "200": {
            "description": "Virtual machine details retrieved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Instance"
                },
                "example": {
                  "status": true,
                  "message": "Getting VM detail successful",
                  "instance": {
                    "id": 3287,
                    "name": "example-vm",
                    "status": "DELETING",
                    "environment": {
                      "id": 8429,
                      "name": "example-environment",
                      "org_id": 1129,
                      "region": "NORWAY-1",
                      "features": {
                        "network_optimised": false,
                        "green_status": "GREEN"
                      }
                    },
                    "image": {
                      "name": "Ubuntu Server 24.04 LTS (Noble Numbat)"
                    },
                    "flavor": {
                      "id": 9876,
                      "name": "n1-cpu-small",
                      "cpu": 4,
                      "ram": 4,
                      "disk": 100,
                      "ephemeral": 0,
                      "gpu": "",
                      "gpu_count": 0,
                      "labels": [],
                      "features": {
                        "network_optimised": false,
                        "no_reboot": false,
                        "no_hibernation": false,
                        "no_snapshot": false,
                        "local_storage_only": false,
                        "api_only": false
                      }
                    },
                    "os": "Ubuntu Server 24.04 LTS (Noble Numbat)",
                    "keypair": {
                      "name": "example-keypair"
                    },
                    "volume_attachments": [],
                    "power_state": "RUNNING",
                    "vm_state": "active",
                    "fixed_ip": "192.0.2.118",
                    "floating_ip": "",
                    "floating_ip_status": "NO FLOATING IP",
                    "security_rules": [
                      {
                        "id": 5341,
                        "direction": "egress",
                        "protocol": "any",
                        "port_range_min": 1,
                        "port_range_max": 65535,
                        "ethertype": "IPv6",
                        "remote_ip_prefix": "0.0.0.0/0",
                        "status": "SUCCESS",
                        "created_at": "2026-05-06T14:32:11Z"
                      },
                      {
                        "id": 7613,
                        "direction": "egress",
                        "protocol": "any",
                        "port_range_min": 1,
                        "port_range_max": 65535,
                        "ethertype": "IPv4",
                        "remote_ip_prefix": "0.0.0.0/0",
                        "status": "SUCCESS",
                        "created_at": "2026-05-06T15:18:42Z"
                      },
                      {
                        "id": 3287,
                        "direction": "ingress",
                        "protocol": "tcp",
                        "port_range_min": 22,
                        "port_range_max": 22,
                        "ethertype": "IPv4",
                        "remote_ip_prefix": "0.0.0.0/0",
                        "status": "SUCCESS",
                        "created_at": "2026-05-06T16:04:09Z"
                      }
                    ],
                    "callback_url": null,
                    "locked": false,
                    "contract_id": null,
                    "labels": [
                      "example-label"
                    ],
                    "created_at": "2026-05-06T16:04:09Z",
                    "features": {
                      "network_optimised": false,
                      "green_status": "GREEN"
                    },
                    "excluded_billing": false,
                    "is_snapshotting": false,
                    "cluster_id": null,
                    "port_randomization": true,
                    "port_randomization_status": "NO_FLOATING_IP",
                    "requires_public_ip": false
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting VM detail successful",
                      "instance": {
                        "id": 3287,
                        "name": "example-vm",
                        "status": "DELETING",
                        "environment": {
                          "id": 8429,
                          "name": "example-environment",
                          "org_id": 1129,
                          "region": "NORWAY-1",
                          "features": {
                            "network_optimised": false,
                            "green_status": "GREEN"
                          }
                        },
                        "image": {
                          "name": "Ubuntu Server 24.04 LTS (Noble Numbat)"
                        },
                        "flavor": {
                          "id": 9876,
                          "name": "n1-cpu-small",
                          "cpu": 4,
                          "ram": 4,
                          "disk": 100,
                          "ephemeral": 0,
                          "gpu": "",
                          "gpu_count": 0,
                          "labels": [],
                          "features": {
                            "network_optimised": false,
                            "no_reboot": false,
                            "no_hibernation": false,
                            "no_snapshot": false,
                            "local_storage_only": false,
                            "api_only": false
                          }
                        },
                        "os": "Ubuntu Server 24.04 LTS (Noble Numbat)",
                        "keypair": {
                          "name": "example-keypair"
                        },
                        "volume_attachments": [],
                        "power_state": "RUNNING",
                        "vm_state": "active",
                        "fixed_ip": "192.0.2.118",
                        "floating_ip": "",
                        "floating_ip_status": "NO FLOATING IP",
                        "security_rules": [
                          {
                            "id": 5341,
                            "direction": "egress",
                            "protocol": "any",
                            "port_range_min": 1,
                            "port_range_max": 65535,
                            "ethertype": "IPv6",
                            "remote_ip_prefix": "0.0.0.0/0",
                            "status": "SUCCESS",
                            "created_at": "2026-05-06T14:32:11Z"
                          },
                          {
                            "id": 7613,
                            "direction": "egress",
                            "protocol": "any",
                            "port_range_min": 1,
                            "port_range_max": 65535,
                            "ethertype": "IPv4",
                            "remote_ip_prefix": "0.0.0.0/0",
                            "status": "SUCCESS",
                            "created_at": "2026-05-06T15:18:42Z"
                          },
                          {
                            "id": 3287,
                            "direction": "ingress",
                            "protocol": "tcp",
                            "port_range_min": 22,
                            "port_range_max": 22,
                            "ethertype": "IPv4",
                            "remote_ip_prefix": "0.0.0.0/0",
                            "status": "SUCCESS",
                            "created_at": "2026-05-06T16:04:09Z"
                          }
                        ],
                        "callback_url": null,
                        "locked": false,
                        "contract_id": null,
                        "labels": [
                          "example-label"
                        ],
                        "created_at": "2026-05-06T16:04:09Z",
                        "features": {
                          "network_optimised": false,
                          "green_status": "GREEN"
                        },
                        "excluded_billing": false,
                        "is_snapshotting": false,
                        "cluster_id": null,
                        "port_randomization": true,
                        "port_randomization_status": "NO_FLOATING_IP",
                        "requires_public_ip": false
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found\n\nCommon cause: `error_reason: not_found`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Not Found",
                    "value": {
                      "status": false,
                      "message": "VM 793869 does not exists.",
                      "error_reason": "not_found"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "VM 793869 does not exists.",
                  "error_reason": "not_found"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "Delete virtual machine",
        "description": "Permanently deletes a virtual machine. Supply the virtual machine ID in the path to delete the specified virtual machine.",
        "operationId": "Delete_VM",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          }
        ],
        "responses": {
          "200": {
            "description": "Virtual machine deleted successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Instance is being deleted."
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Instance is being deleted."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "VM example-restored-1789 is currently being created and cannot be deleted yet. Please wait until the creation process is finished before attempting deletion.",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "VM example-restored-1789 is currently being created and cannot be deleted yet. Please wait until the creation process is finished before attempting deletion.",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/attach-callback": {
      "post": {
        "tags": [
          "Callbacks"
        ],
        "summary": "Attach callback to virtual machine",
        "description": "Creates a callback URL for a specified virtual machine, enabling the posting of action events executed on the virtual machine to the specified URL. Provide the callback URL in the request body and the ID of the virtual machine to which it is being attached in the path. For more details on virtual machine callback URLs,.",
        "operationId": "Attach_callback_to_VM",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Attach_Callback_Payload",
                "example": {
                  "url": "https://example.com/example-webhook"
                },
                "properties": {}
              },
              "example": {
                "url": "https://example.com/example-webhook"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Callback URL successfully attached to your virtual machine. Any action events on your virtual machine will be posted to the provided URL",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Attach_Callback_Response"
                },
                "example": {
                  "status": true,
                  "message": "Callback URL successfully attached to VM 'example-vm'. Any action events on your instance will be posted to the provided URL.",
                  "url": "https://example.com/example-webhook"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Callback URL successfully attached to VM 'example-vm'. Any action events on your instance will be posted to the provided URL.",
                      "url": "https://example.com/example-webhook"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/attach-firewalls": {
      "post": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "Attach firewalls to a virtual machine",
        "description": "Attach firewalls to a virtual machine by providing the virtual machine ID in the path and the IDs of the firewalls in the request body; any firewalls not included will be detached.\n\n> **State requirement:** This operation requires the VM to be in the `ACTIVE` or `SHUTOFF` state.",
        "operationId": "Attach_firewalls_to_VM",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachFirewallsToVMPayload",
                "example": {
                  "firewalls": [
                    1785
                  ]
                },
                "properties": {}
              },
              "example": {
                "firewalls": [
                  1785
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Firewall attachments with VM are scheduled."
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Firewall attachments with VM are scheduled."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "VM 793295 is currently being used to create a snapshot and no operation can be performed.",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "VM 793295 is currently being used to create a snapshot and no operation can be performed.",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/attach-floatingip": {
      "post": {
        "tags": [
          "Floating IP"
        ],
        "summary": "Attach public IP to virtual machine",
        "description": "Initiates the creation of a public IP address and attaches it to an existing virtual machine, making it accessible through the internet. Include the virtual machine ID in the path to attach a public IP to the specified VM. For more information on public IP addresses, see [Public IPs](https://docs.hyperstack.cloud/docs/network/public-ip).\n\n> **State requirement:** This operation requires the VM to be in the `ACTIVE` or `SHUTOFF` state.",
        "operationId": "Attach_public_IP_to_VM",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          }
        ],
        "responses": {
          "200": {
            "description": "Public IP successfully attached to VM.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "A Public IP will be assigned to VM example-vm."
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "A Public IP will be assigned to VM example-vm."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "402": {
            "description": "Insufficient balance to create the resource",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/attach-volumes": {
      "post": {
        "tags": [
          "Volume Attachment"
        ],
        "summary": "Attach volumes to virtual machine",
        "description": "Attaches one or more volumes to an existing virtual machine, expanding its storage capacity. Include the virtual machine ID in the path and the volume IDs in the request body to attach the specified volumes to the designated virtual machine. For additional details on volumes, see [Shared storage volumes](https://docs.hyperstack.cloud/docs/storage/volumes/shared-storage-volumes). **Attachment limit:** each virtual machine can have a maximum of **10 volumes** attached at any given time.\n\n> **State requirement:** This operation requires the VM to be in the `ACTIVE` or `SHUTOFF` state. Volumes referenced in the request body must themselves be in the `available` state.",
        "operationId": "Attach_volumes_to_VM",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Attach_Volumes_Payload",
                "example": {
                  "volume_ids": [
                    38192
                  ]
                },
                "properties": {}
              },
              "example": {
                "volume_ids": [
                  38192
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Volumes have been successfully attached to the virtual machine.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Attach_Volumes"
                },
                "example": {
                  "status": true,
                  "message": "Volumes attaching now.",
                  "volume_attachments": [
                    {
                      "id": 3287,
                      "instance_id": 5341,
                      "volume_id": 7613,
                      "device": "/dev/disk/by-id/virtio-2e2fb02e-68e0-4ae7-8",
                      "status": "ATTACHING",
                      "protected": false,
                      "created_at": "2026-05-06T16:04:09Z"
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Volumes attaching now.",
                      "volume_attachments": [
                        {
                          "id": 3287,
                          "instance_id": 5341,
                          "volume_id": 7613,
                          "device": "/dev/disk/by-id/virtio-2e2fb02e-68e0-4ae7-8",
                          "status": "ATTACHING",
                          "protected": false,
                          "created_at": "2026-05-06T16:04:09Z"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "There are already attached Volumes",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "There are already attached Volumes",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "405": {
            "description": "Method Not Allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/console/{job_id}": {
      "get": {
        "tags": [
          "VNC URL"
        ],
        "summary": "Get VNC console link",
        "description": "Retrieves the URL to access the VNC console for a specified virtual machine. Include the ID of the virtual machine for which to retrieve the VNC console and the job ID returned from [**GET** `/core/virtual-machines/{id}/request-console`](https://docs.hyperstack.cloud/docs/api-reference/request-vm-console).",
        "operationId": "Get_VNC_URL",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          },
          {
            "name": "job_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the job."
          }
        ],
        "responses": {
          "200": {
            "description": "Get VNC Console Link Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VNC_URL"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/delete-callback": {
      "delete": {
        "tags": [
          "Callbacks"
        ],
        "summary": "Delete virtual machine callback",
        "description": "Permanently deletes the callback URL associated with a specified virtual machine by providing the virtual machine ID in the request path. See [Callbacks](https://docs.hyperstack.cloud/docs/resource-management/callbacks) for additional information.",
        "operationId": "Delete_VM_callback",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          }
        ],
        "responses": {
          "200": {
            "description": "Virtual machine callback URL successfully deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Callback URL deleted successfully in VM example-vm."
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Callback URL deleted successfully in VM example-vm."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/detach-floatingip": {
      "post": {
        "tags": [
          "Floating IP"
        ],
        "summary": "Detach public IP from virtual machine",
        "description": "Removes a public IP address from an existing virtual machine, disabling internet accessibility to the VM. Include the virtual machine ID in the path to detach the public IP from the specified VM. For more information on public IP addresses, see [Public IPs](https://docs.hyperstack.cloud/docs/network/public-ip).\n\n> **State requirement:** This operation requires the VM to be in the `ACTIVE` or `SHUTOFF` state.",
        "operationId": "Detach_public_IP_from_VM",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Public IP will be detached from the VM example-vm."
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Public IP will be detached from the VM example-vm."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/detach-volumes": {
      "post": {
        "tags": [
          "Volume Attachment"
        ],
        "summary": "Detach volumes from virtual machine",
        "description": "Detaches one or more volumes currently attached to a virtual machine. Include the virtual machine ID in the path and the volume IDs in the request body to detach the specified volumes from the designated virtual machine.\n\n> **State requirement:** This operation requires the VM to be in the `ACTIVE` or `SHUTOFF` state.",
        "operationId": "Detach_volumes_from_VM",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Detach_Volumes_Payload",
                "example": {
                  "volume_ids": [
                    38192
                  ]
                },
                "properties": {}
              },
              "example": {
                "volume_ids": [
                  38192
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Volumes have been successfully detached from the virtual machine.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Detach_Volumes"
                },
                "example": {
                  "status": true,
                  "message": "Volumes detaching now.",
                  "volume_attachments": [
                    {
                      "id": 3287,
                      "instance_id": 5341,
                      "volume_id": 7613,
                      "device": "/dev/disk/by-id/virtio-2e2fb02e-68e0-4ae7-8",
                      "status": "DETACHING",
                      "protected": false,
                      "created_at": "2026-05-06T16:04:09Z"
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Volumes detaching now.",
                      "volume_attachments": [
                        {
                          "id": 3287,
                          "instance_id": 5341,
                          "volume_id": 7613,
                          "device": "/dev/disk/by-id/virtio-2e2fb02e-68e0-4ae7-8",
                          "status": "DETACHING",
                          "protected": false,
                          "created_at": "2026-05-06T16:04:09Z"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "Some volumes are not attached with the given VM.",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "Some volumes are not attached with the given VM.",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "405": {
            "description": "Method Not Allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/events": {
      "get": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "List virtual machine events",
        "description": "Retrieves a list of all events in a virtual machine's history, which records actions performed on the specified virtual machine. Include the virtual machine ID in the path to retrieve the history of events. For more details on virtual machine events history, see [Events history](https://docs.hyperstack.cloud/docs/virtual-machines/vm-performance-metrics-and-events-history#events-log).",
        "operationId": "List_VM_events",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          }
        ],
        "responses": {
          "200": {
            "description": "Virtual machines event list successfully retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstanceEvents"
                },
                "example": {
                  "status": true,
                  "message": "Getting VM events success",
                  "instance_events": [
                    {
                      "instance_id": 5341,
                      "user_id": 4501,
                      "org_id": 6190,
                      "time": "2026-05-06T16:04:09Z",
                      "type": "normal",
                      "reason": "InstanceCreationRequest",
                      "object": "example-vm",
                      "message": "Instance example-vm Creation Request Sent."
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting VM events success",
                      "instance_events": [
                        {
                          "instance_id": 5341,
                          "user_id": 4501,
                          "org_id": 6190,
                          "time": "2026-05-06T16:04:09Z",
                          "type": "normal",
                          "reason": "InstanceCreationRequest",
                          "object": "example-vm",
                          "message": "Instance example-vm Creation Request Sent."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/hard-reboot": {
      "get": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "Hard reboot virtual machine",
        "description": "Initiates a hard reboot for a virtual machine, simulating the process of unplugging and rebooting a physical machine. Provide the virtual machine ID in the path to execute a hard reboot for the specified virtual machine.\n\n> **State requirement:** This operation requires the VM to be in the `ACTIVE` or `ERROR` state.",
        "operationId": "Hard_reboot_VM",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          }
        ],
        "responses": {
          "200": {
            "description": "Hard reboot process has been successfully initiated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "VM example-vm is scheduled to reboot."
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "VM example-vm is scheduled to reboot."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/hibernate": {
      "get": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "Hibernate virtual machine",
        "description": "Initiates the hibernation process for a virtual machine. It saves the current state of the VM to disk, deallocates its resources, and powers it off. Specify the target virtual machine using its ID in the path. Optionally, you can use the `retain_ip` query parameter to preserve the VM's public IP address during hibernation. For more information about VM hibernation, see [Hibernation](https://docs.hyperstack.cloud/docs/virtual-machines/hibernation).\n\n> **State requirement:** This operation requires the VM to be in the `ACTIVE` state and the flavor to support hibernation. Some flavors (for example, `n1-cpu-small`) do not.",
        "operationId": "Hibernate_VM",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          },
          {
            "name": "retain_ip",
            "in": "query",
            "description": "When `true`, the VM's public IP address is kept attached during hibernation. When `false`, the IP is released and a new one is assigned on restoration.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Hibernation request for the virtual machine was successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "VM example-vm is scheduled to hibernate."
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "VM example-vm is scheduled to hibernate."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/hibernate-restore": {
      "get": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "Restore virtual machine from hibernation",
        "description": "Resumes a virtual machine from a hibernated state, bringing it back to an active state, and restoring its resource configuration. Provide the virtual machine ID in the path to specify the virtual machine to be restored from hibernation.\n\n> **State requirement:** This operation requires the VM to be in the `HIBERNATED` state (not `HIBERNATING`).",
        "operationId": "Restore_VM_from_hibernation",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          }
        ],
        "responses": {
          "200": {
            "description": "The request to restore the virtual machine from hibernation was successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "VM example-vm is scheduled to restore."
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "VM example-vm is scheduled to restore."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "The VM hibernation process is still going on. Please try later.",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "The VM hibernation process is still going on. Please try later.",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/label": {
      "put": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "Edit virtual machine labels",
        "description": "Adds one or more labels to an existing virtual machine. Provide the virtual machine ID in the path to add labels to the specified VM. For multiple labels, add a space between each label in the request body.",
        "operationId": "Add_VM_Label",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Edit_label_of_an_existing_VM_Payload",
                "example": {
                  "labels": [
                    "example-label"
                  ]
                },
                "properties": {}
              },
              "example": {
                "labels": [
                  "example-label"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Labels edited successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "labels for VM: example-vm is set to: ['example-label']"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "labels for VM: example-vm is set to: ['example-label']"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/logs": {
      "get": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "Get virtual machine logs",
        "description": "Retrieves the [**console logs**](https://docs.hyperstack.cloud/docs/virtual-machines/console-logs) for a specific virtual machine (VM) in Hyperstack. A virtual machine must be in the `ACTIVE` state to retrieve logs. To use this endpoint, include the VM's unique identifier (`vm_id`) in the path and the `request_id` obtained from the [**Request Virtual Machine Logs**](https://docs.hyperstack.cloud/docs/api-reference/request-vm-logs) API as a query parameter.",
        "operationId": "Get_VM_Logs",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          },
          {
            "name": "request_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "example": "2300170",
            "description": "Filter logs to a specific request ID, useful for tracing a single API call's execution end-to-end."
          }
        ],
        "responses": {
          "200": {
            "description": "Logs were successfully retrieved",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetInstanceLogsResponse"
                },
                "example": {
                  "status": false,
                  "message": "Request 2300170 is still processing",
                  "logs": null
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": false,
                      "message": "Request 2300170 is still processing",
                      "logs": null
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "405": {
            "description": "Method Not Allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "Request virtual machine logs",
        "description": "Requests the [**console logs**](https://docs.hyperstack.cloud/docs/virtual-machines/console-logs) for a specific virtual machine (VM) in Hyperstack. This endpoint initiates the process of fetching logs, and returns a request identifier that can be used to retrieve the logs. The `request_id` obtained from this request is then used in the [**Retrieve Virtual Machine Logs**](https://docs.hyperstack.cloud/docs/api-reference/get-vm-logs) API to view the requested logs. A virtual machine must be in the `ACTIVE` state to request logs.\n\n> **Async operation:** This endpoint returns `202 Accepted` for long-running operations. The response body includes a `request_id` that you can pass to the corresponding GET endpoint to poll for completion.",
        "operationId": "Request_VM_Logs",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestInstanceLogsPayload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Logs were successfully requested",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequestInstanceLogsResponse"
                },
                "example": {
                  "status": true,
                  "message": "VM example-vm console logs requested successfully",
                  "request_id": 6190
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "VM example-vm console logs requested successfully",
                      "request_id": 6190
                    }
                  }
                }
              }
            }
          },
          "202": {
            "description": "Request succeeded."
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "405": {
            "description": "Method Not Allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/metrics": {
      "get": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "Retrieve virtual machine performance metrics",
        "description": "Retrieves performance metrics data for a virtual machine. Provide the virtual machine ID in the path to retrieve the following data for the specified virtual machine: CPU usage, memory usage (RAM), `network.in`, `network.out`, `disk.read`, and `disk.write`. The optional `duration` parameter can be used to specify the period for retrieving performance metrics; the default value will retrieve all available data. To learn more about virtual machine performance metrics, see [Performance metrics](https://docs.hyperstack.cloud/docs/virtual-machines/vm-performance-metrics-and-events-history#performance-metrics).",
        "operationId": "Get_VM_metrics",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          },
          {
            "name": "duration",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "1h",
                "2h",
                "4h",
                "6h",
                "12h",
                "1d",
                "3d",
                "7d",
                "15d",
                "30d"
              ]
            },
            "description": "Time window for the metrics query. Accepts values like `1h`, `6h`, `24h`, `7d`."
          }
        ],
        "responses": {
          "200": {
            "description": "Virtual machine performance metrics have been successfully retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetricsFields"
                },
                "example": {
                  "cpu": {
                    "unit": "ns",
                    "columns": [
                      "time",
                      "granularity",
                      "value"
                    ],
                    "data": []
                  },
                  "memory.usages": {
                    "unit": "MB",
                    "columns": [
                      "time",
                      "granularity",
                      "value"
                    ],
                    "data": []
                  },
                  "network.in": {
                    "unit": "B",
                    "columns": [
                      "time",
                      "granularity",
                      "value"
                    ],
                    "data": []
                  },
                  "network.out": {
                    "unit": "B",
                    "columns": [
                      "time",
                      "granularity",
                      "value"
                    ],
                    "data": []
                  },
                  "disk.read": {
                    "unit": "B",
                    "columns": [
                      "time",
                      "granularity",
                      "value"
                    ],
                    "data": []
                  },
                  "disk.write": {
                    "unit": "B",
                    "columns": [
                      "time",
                      "granularity",
                      "value"
                    ],
                    "data": []
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "cpu": {
                        "unit": "ns",
                        "columns": [
                          "time",
                          "granularity",
                          "value"
                        ],
                        "data": []
                      },
                      "memory.usages": {
                        "unit": "MB",
                        "columns": [
                          "time",
                          "granularity",
                          "value"
                        ],
                        "data": []
                      },
                      "network.in": {
                        "unit": "B",
                        "columns": [
                          "time",
                          "granularity",
                          "value"
                        ],
                        "data": []
                      },
                      "network.out": {
                        "unit": "B",
                        "columns": [
                          "time",
                          "granularity",
                          "value"
                        ],
                        "data": []
                      },
                      "disk.read": {
                        "unit": "B",
                        "columns": [
                          "time",
                          "granularity",
                          "value"
                        ],
                        "data": []
                      },
                      "disk.write": {
                        "unit": "B",
                        "columns": [
                          "time",
                          "granularity",
                          "value"
                        ],
                        "data": []
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "406": {
            "description": "Not Acceptable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/request-console": {
      "get": {
        "tags": [
          "VNC URL"
        ],
        "summary": "Request instance console",
        "description": "Retrieves the path of the VNC console for the given virtual machine ID by providing the virtual machine ID in the path.\n\n> **State requirement:** This operation requires the VM to be in the `ACTIVE` or `PRE_ACTIVE` state.",
        "operationId": "Request_VM_Console",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          }
        ],
        "responses": {
          "200": {
            "description": "Please wait a few seconds and visit the below link to access your VNC console URL",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Request_Console"
                },
                "example": {
                  "status": true,
                  "message": "Please wait a few seconds and visit the below link to access your VNC console URL",
                  "url": "/core/virtual-machines/793869/console/2300169"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Please wait a few seconds and visit the below link to access your VNC console URL",
                      "url": "/core/virtual-machines/793869/console/2300169"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/resize": {
      "post": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "Resize virtual machine",
        "description": "Updates the hardware configuration for an existing virtual machine. Include the virtual machine ID in the path and provide the new configuration, referred to as a `flavor`, in the body of the request. For additional information on resizing, see [Flavors](https://docs.hyperstack.cloud/docs/hardware/flavors).\n\n> **Note:** Currently disabled by feature flag; the API responds 400 \"This feature is currently disabled\".",
        "operationId": "Resize_VM",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InstanceResizePayload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The resizing of the virtual machine configuration was successful.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "This feature is currently disabled",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "This feature is currently disabled",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "405": {
            "description": "Method Not Allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/sg-rules": {
      "post": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "Add firewall rule to virtual machine",
        "description": "Creates a [**firewall rule**](https://docs.hyperstack.cloud/docs/network/firewalls) and applies it to a virtual machine. Include the virtual machine ID in the path and the firewall rule configuration in the request body.",
        "operationId": "Create_firewall_rule_for_VM",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Create_Security_Rule_Payload",
                "example": {
                  "direction": "ingress",
                  "protocol": "tcp",
                  "ethertype": "IPv4",
                  "remote_ip_prefix": "0.0.0.0/0",
                  "port_range_min": 22,
                  "port_range_max": 22
                },
                "properties": {}
              },
              "example": {
                "direction": "ingress",
                "ethertype": "IPv4",
                "protocol": "tcp",
                "remote_ip_prefix": "0.0.0.0/0",
                "port_range_min": 22,
                "port_range_max": 22
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The firewall rule has been successfully added to the virtual machine.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Security_Group_Rule"
                },
                "example": {
                  "status": true,
                  "message": "Security Rule created successfully",
                  "security_rule": {
                    "id": 3287,
                    "direction": "ingress",
                    "protocol": "tcp",
                    "port_range_min": 22,
                    "port_range_max": 22,
                    "ethertype": "IPv4",
                    "remote_ip_prefix": "0.0.0.0/0",
                    "status": "pending",
                    "created_at": "2026-05-06T16:04:09Z"
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Security Rule created successfully",
                      "security_rule": {
                        "id": 3287,
                        "direction": "ingress",
                        "protocol": "tcp",
                        "port_range_min": 22,
                        "port_range_max": 22,
                        "ethertype": "IPv4",
                        "remote_ip_prefix": "0.0.0.0/0",
                        "status": "pending",
                        "created_at": "2026-05-06T16:04:09Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/sg-rules/{sg_rule_id}": {
      "delete": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "Delete firewall rule from virtual machine",
        "description": "Deletes a firewall rule associated with a virtual machine. Provide the virtual machine ID and the firewall rule ID in the path.",
        "operationId": "Delete_firewall_rule_for_VM",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          },
          {
            "name": "sg_rule_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the sg rule."
          }
        ],
        "responses": {
          "200": {
            "description": "The firewall rule has been successfully removed from the virtual machine.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/snapshots": {
      "post": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "Create snapshot from a virtual machine",
        "description": "Creates a snapshot for the specific virtual machine. For more information about snapshots, see [Snapshot](https://docs.hyperstack.cloud/docs/api-reference/snapshots).\n\n> **State requirement:** This operation requires the VM to be in the `ACTIVE` or `SHUTOFF` state and no concurrent snapshot to already be in progress for the same VM.",
        "operationId": "Create_Snapshot_for_VM",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSnapshotPayload",
                "example": {
                  "name": "example-snapshot",
                  "description": "Example snapshot"
                },
                "properties": {}
              },
              "example": {
                "description": "Example snapshot",
                "name": "example-snapshot"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSnapshotResponse"
                },
                "example": {
                  "status": true,
                  "message": "Snapshot creation is scheduled.",
                  "snapshot": {
                    "id": 2058,
                    "name": "example-snapshot",
                    "description": "Example snapshot",
                    "vm_id": 7613,
                    "region_id": 9876,
                    "status": "CREATING",
                    "is_image": false,
                    "size": 0,
                    "has_floating_ip": false,
                    "labels": [],
                    "created_at": "2026-05-07T11:47:30Z",
                    "updated_at": "2026-05-07T11:47:30Z"
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Snapshot creation is scheduled.",
                      "snapshot": {
                        "id": 2058,
                        "name": "example-snapshot",
                        "description": "Example snapshot",
                        "vm_id": 7613,
                        "region_id": 9876,
                        "status": "CREATING",
                        "is_image": false,
                        "size": 0,
                        "has_floating_ip": false,
                        "labels": [],
                        "created_at": "2026-05-07T11:47:30Z",
                        "updated_at": "2026-05-07T11:47:30Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/start": {
      "get": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "Start virtual machine",
        "description": "Initiates the startup of a virtual machine. Supply the virtual machine ID in the path to initiate the starting of the specified virtual machine.\n\n> **State requirement:** This operation requires the VM to be in the `SHUTOFF` state. Calls against a VM in any other state return `400` with `error_reason: bad_request`.",
        "operationId": "Start_VM",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          }
        ],
        "responses": {
          "200": {
            "description": "Virtual machine started successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "VM example-vm is scheduled to start."
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "VM example-vm is scheduled to start."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/stop": {
      "get": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "Stop virtual machine",
        "description": "Shuts down a virtual machine. Provide the virtual machine ID in the path to initiate the shutdown process for the specified virtual machine.\n\n> **State requirement:** This operation requires the VM to be in the `ACTIVE` or `ERROR` state.",
        "operationId": "Stop_VM",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          }
        ],
        "responses": {
          "200": {
            "description": "Virtual machine shut down successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "VM example-vm is scheduled to stop."
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "VM example-vm is scheduled to stop."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "VM 793734 is currently being used to create a snapshot and no operation can be performed.",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "VM 793734 is currently being used to create a snapshot and no operation can be performed.",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/virtual-machines/{vm_id}/update-callback": {
      "put": {
        "tags": [
          "Callbacks"
        ],
        "summary": "Update virtual machine callback",
        "description": "Updates the callback URL for a specified virtual machine. Provide the new callback URL in the request body, along with the ID of the associated virtual machine in the path. For additional information on virtual machine callback URLs, see [Attach callback to vm](https://docs.hyperstack.cloud/docs/api-reference/attach-callback-to-vm).",
        "operationId": "Update_VM_callback",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Attach_Callback_Payload",
                "example": {
                  "url": "https://example.com/example-webhook-v2"
                },
                "properties": {}
              },
              "example": {
                "url": "https://example.com/example-webhook-v2"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Virtual machine callback URL successfully updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Attach_Callback_Response"
                },
                "example": {
                  "status": true,
                  "message": "Callback URL successfully updated in VM example-vm.",
                  "url": "https://example.com/example-webhook-v2"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Callback URL successfully updated in VM example-vm.",
                      "url": "https://example.com/example-webhook-v2"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/volume-attachments/{volume_attachment_id}": {
      "patch": {
        "tags": [
          "Volume Attachment"
        ],
        "summary": "Update a volume attachment",
        "operationId": "Update_volume_attachment",
        "parameters": [
          {
            "name": "volume_attachment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the volume attachment."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Update_Volume_Attachment_Payload",
                "example": {
                  "protected": false
                },
                "properties": {}
              },
              "example": {
                "protected": false
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Volume attachment has been updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Attach_Volumes"
                },
                "example": {
                  "status": true,
                  "message": "Volume attachment 68654 has been updated",
                  "attachment": {
                    "id": 4501,
                    "instance_id": 3287,
                    "volume_id": 8429,
                    "device": "/dev/disk/by-id/virtio-2e2fb02e-68e0-4ae7-8",
                    "status": "ATTACHING",
                    "protected": false,
                    "created_at": "2026-05-07T11:47:30Z"
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Volume attachment 68654 has been updated",
                      "attachment": {
                        "id": 4501,
                        "instance_id": 3287,
                        "volume_id": 8429,
                        "device": "/dev/disk/by-id/virtio-2e2fb02e-68e0-4ae7-8",
                        "status": "ATTACHING",
                        "protected": false,
                        "created_at": "2026-05-07T11:47:30Z"
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "405": {
            "description": "Method Not Allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "description": "Updates an existing volume attachment by modifying its attributes such as the `protected` status, which prevents detachment of critical system volumes. This is useful for enforcing safeguards on production-critical storage devices. Retrieve the `volume_attachment_id` by calling the [**List volumes**](https://docs.hyperstack.cloud/docs/api-reference/list-volumes) endpoint and inspecting the `attachments` field of each volume object."
      }
    },
    "/core/volume-types": {
      "get": {
        "tags": [
          "Volume"
        ],
        "summary": "List volume types",
        "description": "Retrieves a list of available volume types that can be used in the creation of a new volume.",
        "operationId": "List_volume_types",
        "responses": {
          "200": {
            "description": "Successful retrieval of volume types list",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Volume_Types"
                },
                "example": {
                  "status": true,
                  "message": "Retrieved Volume Types.",
                  "volume_types": [
                    "Cloud-SSD"
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Retrieved Volume Types.",
                      "volume_types": [
                        "Cloud-SSD"
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/volume/name-availability/{name}": {
      "get": {
        "tags": [
          "Volume"
        ],
        "summary": "Fetch volume name availability",
        "description": "Check if a Volume name is available.",
        "operationId": "Fetch_volume_name_availability",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Name of the volume."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NameAvailableModel"
                },
                "example": {
                  "name": "example-availability-check",
                  "available": true,
                  "message": "This name is available"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "name": "example-availability-check",
                      "available": true,
                      "message": "This name is available"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/volumes": {
      "get": {
        "tags": [
          "Volume"
        ],
        "summary": "List volumes",
        "description": "Returns a list of your existing volumes, providing details for each. See [Shared storage volumes](https://docs.hyperstack.cloud/docs/storage/volumes/shared-storage-volumes) for more information.",
        "operationId": "List_volumes",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "Page number of results to return.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "Data Per Page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Filter results by case-insensitive substring match against the resource name."
          },
          {
            "name": "environment",
            "in": "query",
            "description": "Filter Environment ID or Name",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Volumes"
                },
                "example": {
                  "status": true,
                  "message": "Getting volumes successful",
                  "page": null,
                  "page_size": null,
                  "count": 3,
                  "volumes": [
                    {
                      "id": 3287,
                      "name": "example-volume",
                      "environment": {
                        "name": "example-environment",
                        "features": {
                          "network_optimised": false,
                          "green_status": "GREEN"
                        },
                        "region": "NORWAY-1"
                      },
                      "description": "Example volume",
                      "volume_type": "Cloud-SSD",
                      "size": 10,
                      "status": "available",
                      "bootable": false,
                      "image_id": null,
                      "callback_url": null,
                      "created_at": "2026-05-06T16:04:09Z",
                      "updated_at": "2026-05-06T16:04:09Z",
                      "attachments": []
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting volumes successful",
                      "page": null,
                      "page_size": null,
                      "count": 3,
                      "volumes": [
                        {
                          "id": 3287,
                          "name": "example-volume",
                          "environment": {
                            "name": "example-environment",
                            "features": {
                              "network_optimised": false,
                              "green_status": "GREEN"
                            },
                            "region": "NORWAY-1"
                          },
                          "description": "Example volume",
                          "volume_type": "Cloud-SSD",
                          "size": 10,
                          "status": "available",
                          "bootable": false,
                          "image_id": null,
                          "callback_url": null,
                          "created_at": "2026-05-06T16:04:09Z",
                          "updated_at": "2026-05-06T16:04:09Z",
                          "attachments": []
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "Volume"
        ],
        "summary": "Create volume",
        "description": "Creates a volume in Hyperstack that can be attached to a virtual machine, expanding its storage capacity. Specify the volume type and custom configuration in the request body. If you install an operating system on the volume using the `image_id` field, it becomes a [**bootable volume**](https://docs.hyperstack.cloud/docs/storage/volumes/bootable-volumes); the `size` must be at least 100 GB to accommodate the OS.",
        "operationId": "Create_volume",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Create_Volume_Payload",
                "example": {
                  "name": "example-volume",
                  "environment_name": "example-environment",
                  "description": "Example volume",
                  "volume_type": "Cloud-SSD",
                  "size": 10
                },
                "properties": {}
              },
              "example": {
                "environment_name": "example-environment",
                "name": "example-volume",
                "size": 10,
                "volume_type": "Cloud-SSD",
                "description": "Example volume"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Volume successfully created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Volume"
                },
                "example": {
                  "status": true,
                  "message": "Volume created successfully",
                  "volume": {
                    "id": 8429,
                    "name": "example-volume",
                    "environment": {
                      "name": "example-environment",
                      "features": {
                        "network_optimised": false,
                        "green_status": "GREEN"
                      },
                      "region": "NORWAY-1"
                    },
                    "description": "Example volume",
                    "volume_type": "Cloud-SSD",
                    "size": 10,
                    "status": "creating",
                    "bootable": false,
                    "image_id": null,
                    "callback_url": null,
                    "created_at": "2026-05-07T09:21:55Z",
                    "updated_at": null,
                    "attachments": [],
                    "os_image": ""
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Volume created successfully",
                      "volume": {
                        "id": 8429,
                        "name": "example-volume",
                        "environment": {
                          "name": "example-environment",
                          "features": {
                            "network_optimised": false,
                            "green_status": "GREEN"
                          },
                          "region": "NORWAY-1"
                        },
                        "description": "Example volume",
                        "volume_type": "Cloud-SSD",
                        "size": 10,
                        "status": "creating",
                        "bootable": false,
                        "image_id": null,
                        "callback_url": null,
                        "created_at": "2026-05-07T09:21:55Z",
                        "updated_at": null,
                        "attachments": [],
                        "os_image": ""
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "405": {
            "description": "Method Not Allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/volumes/{volume_id}": {
      "get": {
        "tags": [
          "Volume"
        ],
        "summary": "Fetch volume details",
        "description": "Retrieves details for a specific volume. This endpoint returns all data associated with the requested volume, including ID, name, environment, size, type, status, bootable flag, image ID, callback URL, timestamps, and attachment metadata.",
        "operationId": "Get_Volume",
        "parameters": [
          {
            "name": "volume_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the volume."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Volume"
                },
                "example": {
                  "status": true,
                  "message": "Getting volume successful",
                  "volume": {
                    "id": 8429,
                    "name": "example-volume",
                    "environment": {
                      "name": "example-environment",
                      "features": {
                        "network_optimised": false,
                        "green_status": "GREEN"
                      },
                      "region": "NORWAY-1"
                    },
                    "description": "Example volume",
                    "volume_type": "Cloud-SSD",
                    "size": 10,
                    "status": "available",
                    "bootable": false,
                    "image_id": null,
                    "callback_url": null,
                    "created_at": "2026-05-07T09:21:55Z",
                    "updated_at": "2026-05-07T09:21:55Z",
                    "attachments": [
                      {
                        "id": 8429,
                        "instance_id": 7613,
                        "device": "/dev/disk/by-id/virtio-2e2fb02e-68e0-4ae7-8",
                        "status": "DETACHED",
                        "protected": false
                      }
                    ],
                    "os_image": ""
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting volume successful",
                      "volume": {
                        "id": 8429,
                        "name": "example-volume",
                        "environment": {
                          "name": "example-environment",
                          "features": {
                            "network_optimised": false,
                            "green_status": "GREEN"
                          },
                          "region": "NORWAY-1"
                        },
                        "description": "Example volume",
                        "volume_type": "Cloud-SSD",
                        "size": 10,
                        "status": "available",
                        "bootable": false,
                        "image_id": null,
                        "callback_url": null,
                        "created_at": "2026-05-07T09:21:55Z",
                        "updated_at": "2026-05-07T09:21:55Z",
                        "attachments": [
                          {
                            "id": 8429,
                            "instance_id": 7613,
                            "device": "/dev/disk/by-id/virtio-2e2fb02e-68e0-4ae7-8",
                            "status": "DETACHED",
                            "protected": false
                          }
                        ],
                        "os_image": ""
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "405": {
            "description": "Not Allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Volume"
        ],
        "summary": "Delete volume",
        "description": "Deletes a volume permanently. Provide the volume ID in the path to specify the volume to be deleted.\n\n> **State requirement:** This operation requires the volume to not be currently attached to any VM. Detach with [Detach volumes](https://docs.hyperstack.cloud/docs/api-reference/detach-volumes-from-vm) before deleting.",
        "operationId": "Delete_volume",
        "parameters": [
          {
            "name": "volume_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the volume."
          }
        ],
        "responses": {
          "200": {
            "description": "Volume successfully deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Volume is being deleted."
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Volume is being deleted."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`. Example message: \"The Volume is currently attached to vm \"example\". Please detach it before deleting the volume.\".",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "The Volume is currently attached to vm \"example-vm\". Please detach it before deleting the volume.",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "The Volume is currently attached to vm \"example-vm\". Please detach it before deleting the volume.",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "patch": {
        "tags": [
          "Volume"
        ],
        "summary": "Update volume fields",
        "description": "Updates an existing volume by modifying its attributes such as the environment to which it belongs. The target environment must be in the same [**region**](https://docs.hyperstack.cloud/docs/resource-management/regions) as the current one. Retrieve the `volume_id` by calling the [**List volumes**](https://docs.hyperstack.cloud/docs/api-reference/list-volumes) endpoint, and the `environment_name` by calling the [**List environments**](https://docs.hyperstack.cloud/docs/api-reference/list-environments) endpoint.\n\n**Detachment requirement:** This operation is only permitted when the volume is not attached to a virtual machine.\n\n> **State requirement:** This operation requires the volume to have finished provisioning. PATCH against a volume in the `creating` state returns `400`.",
        "operationId": "Update_volume",
        "parameters": [
          {
            "name": "volume_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the volume."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Update_Volume_Payload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Volume successfully updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Update_Volume_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "errors": {
                        "environment_name": "'environment_name' is a required property"
                      },
                      "message": "Input payload validation failed"
                    }
                  }
                },
                "example": {
                  "errors": {
                    "environment_name": "'environment_name' is a required property"
                  },
                  "message": "Input payload validation failed"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/volumes/{volume_id}/attach-callback": {
      "post": {
        "tags": [
          "Callbacks"
        ],
        "summary": "Attach callback to volume",
        "description": "Creates a callback URL for a specified volume, enabling the posting of action events executed on the volume to the specified URL. Provide the callback URL in the request body and the ID of the volume to which it is being attached in the path. For more details on volume callback URLs,.",
        "operationId": "Attach_callback_to_volume",
        "parameters": [
          {
            "name": "volume_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the volume."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Attach_Callback_Payload",
                "example": {
                  "url": "https://example.com/example-volume-webhook"
                },
                "properties": {}
              },
              "example": {
                "url": "https://example.com/example-volume-webhook"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Callback URL successfully attached to your volume. Any action events on your volume will be posted to the provided URL",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Attach_Callback_Response"
                },
                "example": {
                  "status": true,
                  "message": "Callback URL successfully attached to your volume example-volume. Any action events on your volume will be posted to the provided URL.",
                  "url": "https://example.com/example-volume-webhook"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Callback URL successfully attached to your volume example-volume. Any action events on your volume will be posted to the provided URL.",
                      "url": "https://example.com/example-volume-webhook"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/volumes/{volume_id}/delete-callback": {
      "delete": {
        "tags": [
          "Callbacks"
        ],
        "summary": "Delete volume callback",
        "description": "Permanently deletes the callback URL associated with a specified volume by providing the volume ID in the request path. For additional information on volume callback URLs,.",
        "operationId": "Delete_volume_callback",
        "parameters": [
          {
            "name": "volume_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the volume."
          }
        ],
        "responses": {
          "200": {
            "description": "Volume callback URL successfully deleted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Callback URL deleted successfully in Volume example-volume."
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Callback URL deleted successfully in Volume example-volume."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/core/volumes/{volume_id}/update-callback": {
      "put": {
        "tags": [
          "Callbacks"
        ],
        "summary": "Update volume callback",
        "description": "Updates the callback URL for a specified volume. Provide the new callback URL in the request body, along with the ID of the associated volume in the path. For additional information on volume callback URLs,.",
        "operationId": "Update_volume_callback",
        "parameters": [
          {
            "name": "volume_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the volume."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Attach_Callback_Payload",
                "example": {
                  "url": "https://example.com/example-volume-v2"
                },
                "properties": {}
              },
              "example": {
                "url": "https://example.com/example-volume-v2"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Callback URL successfully updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Attach_Callback_Response"
                },
                "example": {
                  "status": true,
                  "message": "Callback URL successfully updated in Volume example-volume.",
                  "url": "https://example.com/example-volume-v2"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Callback URL successfully updated in Volume example-volume.",
                      "url": "https://example.com/example-volume-v2"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/pricebook": {
      "get": {
        "tags": [
          "Pricebook"
        ],
        "description": "Iterate the response directly. Retrieves the Hyperstack Pricebook, detailing hourly running costs for all resources offered by Hyperstack.\n\n> **Non-standard envelope:** This endpoint returns a bare JSON array (no `status` / `message` envelope).",
        "operationId": "Get_pricebook",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PricebookModel"
                  }
                },
                "example": [
                  {
                    "id": 1402,
                    "name": "vCPU",
                    "value": "0E-9",
                    "original_value": "0E-9",
                    "discount_applied": false,
                    "start_time": null,
                    "end_time": null
                  },
                  {
                    "id": 9876,
                    "name": "RAM",
                    "value": "0E-9",
                    "original_value": "0E-9",
                    "discount_applied": false,
                    "start_time": null,
                    "end_time": null
                  },
                  {
                    "id": 2058,
                    "name": "RTX-A4000",
                    "value": "0.150000000",
                    "original_value": "0.150000000",
                    "discount_applied": false,
                    "start_time": null,
                    "end_time": null
                  }
                ],
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": [
                      {
                        "id": 1402,
                        "name": "vCPU",
                        "value": "0E-9",
                        "original_value": "0E-9",
                        "discount_applied": false,
                        "start_time": null,
                        "end_time": null
                      },
                      {
                        "id": 9876,
                        "name": "RAM",
                        "value": "0E-9",
                        "original_value": "0E-9",
                        "discount_applied": false,
                        "start_time": null,
                        "end_time": null
                      },
                      {
                        "id": 2058,
                        "name": "RTX-A4000",
                        "value": "0.150000000",
                        "original_value": "0.150000000",
                        "discount_applied": false,
                        "start_time": null,
                        "end_time": null
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "405": {
            "description": "Method Not Allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "Get the pricebook"
      }
    },
    "/pricebook/calculate/resource/{resource_type}/{id}": {
      "get": {
        "tags": [
          "Calculate"
        ],
        "summary": "Retrieve billing rate for resource",
        "description": "Retrieve a detailed breakdown of hourly billing costs for a specific resource by including the resource type and ID in the path. Resource types include `virtual-machine`, `volume`, or `cluster`. The billing cost information returned by this API includes the status of the resource, the total hourly price for the resource, and the pricing for each component before and after any discounts are applied.",
        "operationId": "Calculate_resource_billing_rate",
        "parameters": [
          {
            "name": "resource_type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Type of resource to calculate pricing for."
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the {resource type}."
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved billing rate.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceBillingResponseForCustomer"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/pricebook/contracts": {
      "get": {
        "tags": [
          "Customer Contract"
        ],
        "summary": "List Contracts",
        "description": "Retrieves a list of contracts and their details, including the terms of each contract and the discounts applied to all resources under each contract. Pagination can be controlled using the `page` and `per_page` query parameters. For additional information about contracts, see [Contracts](https://docs.hyperstack.cloud/docs/billing/contracts).",
        "operationId": "List_customer_contracts",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "Page number to retrieve."
          },
          {
            "name": "per_page",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "Number of items to return per page."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetCustomerContractsListResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Getting customer contracts list successful",
                  "contracts": [],
                  "count": 0
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting customer contracts list successful",
                      "contracts": [],
                      "count": 0
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "405": {
            "description": "Method Not Allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/pricebook/contracts/{contract_id}": {
      "get": {
        "tags": [
          "Customer Contract"
        ],
        "summary": "Retrieve contract details",
        "description": "Retrieves the details of a specified customer [**contract**](https://docs.hyperstack.cloud/docs/billing/contracts), including its terms and the discounts applied to all resources under the contract. Include the contract ID in the path to view its details. For more information about contracts, see [Contracts](https://docs.hyperstack.cloud/docs/billing/contracts).",
        "operationId": "Retrieve_contract",
        "parameters": [
          {
            "name": "contract_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the customer contract."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerContractDetailResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "405": {
            "description": "Method Not Allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/pricebook/contracts/{contract_id}/gpu_allocation_graph": {
      "get": {
        "tags": [
          "Customer Contract"
        ],
        "summary": "Retrieve GPU allocation graph for contract",
        "description": "Retrieve GPU allocation count graph for a specific contract by providing the contract ID in the path. The endpoint returns the GPU allocation count graph for the contract within the specified date range.",
        "operationId": "Get_contract_GPU_allocation_graph",
        "parameters": [
          {
            "name": "contract_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the customer contract."
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContractGPUAllocationGraphResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "405": {
            "description": "Method Not Allowed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/alive": {
      "get": {
        "tags": [
          "Alive"
        ],
        "summary": "Alive",
        "description": "Retrieve the billing status of your account to ensure that it is active. An active billing status ensures uninterrupted service.\n\n> **Non-standard envelope:** This endpoint returns only `{\"message\": \".\"}`, no `status` field.",
        "operationId": "Get_alive",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "example": {
                  "message": "alive"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "message": "alive"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Retrieve Billing History for a specific Billing Cycle",
        "description": "Returns billing history for the specified billing cycle. The response includes 'incurred_bill', 'non_discounted_bill', 'vm_cost', 'volume_cost'.",
        "operationId": "Get_User_Billing_History",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-01T00:00:00"
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-07T17:48:42"
          },
          {
            "name": "graph",
            "in": "query",
            "description": "Set this value to \"true\" for getting graph value",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationLevelBillingHistoryResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Biling History Retrieved Successfully.",
                  "billing_history": {
                    "org_id": 5341,
                    "billing_history": [
                      {
                        "attributes": {
                          "id": "9d8a4f10-2c5d-4b14-8f5a-1e6c8e8b2d3f"
                        },
                        "metrics": {
                          "incurred_bill": 1.8618369809542292,
                          "non_discounted_bill": 3.0973724763553148,
                          "vm_cost": 1.8323197487221545,
                          "volume_cost": 0.013217769698367875,
                          "contract_cost": 0,
                          "snapshot_cost": 0.0017161291466639998,
                          "bucket_cost": 1.4799118041992184e-11,
                          "ais_token_cost": 0,
                          "ais_workload_cost": 0
                        }
                      }
                    ],
                    "total_count": 1
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Biling History Retrieved Successfully.",
                      "billing_history": {
                        "org_id": 5341,
                        "billing_history": [
                          {
                            "attributes": {
                              "id": "9d8a4f10-2c5d-4b14-8f5a-1e6c8e8b2d3f"
                            },
                            "metrics": {
                              "incurred_bill": 1.8618369809542292,
                              "non_discounted_bill": 3.0973724763553148,
                              "vm_cost": 1.8323197487221545,
                              "volume_cost": 0.013217769698367875,
                              "contract_cost": 0,
                              "snapshot_cost": 0.0017161291466639998,
                              "bucket_cost": 1.4799118041992184e-11,
                              "ais_token_cost": 0,
                              "ais_workload_cost": 0
                            }
                          }
                        ],
                        "total_count": 1
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/bucket": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Get bucket billing history",
        "description": "Returns billing history of buckets for the specified billing cycle. The response includes 'resource_name', 'infrahub_id', 'status', 'incurred_bill', 'usage_time', 'price_per_hour'.",
        "operationId": "List_Bucket_Billing_History",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-01T00:00:00"
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-07T17:48:43"
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search by resource \"Name\" or \"ID\"",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Number of items to return per page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number of results to return.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLevelBucketBillingHistoryResponseModel"
                },
                "example": {
                  "success": true,
                  "message": "Billing History for Bucket Retrieved Successfully.",
                  "billing_history_bucket": {
                    "org_id": 8429,
                    "billing_history": [
                      {
                        "attributes": {
                          "id": "b18e3f72-4a5d-4c9e-8b7f-0a3c1d2e4f56",
                          "infrahub_id": 7613,
                          "resource_name": "uimap-bucket-test",
                          "status": "ACTIVE"
                        },
                        "metrics": {
                          "incurred_bill": 1.4799118041992184e-11,
                          "non_discounted_bill": 1.4799118041992184e-11,
                          "price_per_hour": 1.479911804199218e-10,
                          "non_discounted_price_per_hour": 1.479911804199218e-10,
                          "usage_time": 1680,
                          "size": 0.00000762939453125
                        }
                      }
                    ],
                    "total_count": 1,
                    "pagination": {
                      "page": 1,
                      "per_page": 10,
                      "pages": 1,
                      "total_count": 1
                    }
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "success": true,
                      "message": "Billing History for Bucket Retrieved Successfully.",
                      "billing_history_bucket": {
                        "org_id": 8429,
                        "billing_history": [
                          {
                            "attributes": {
                              "id": "b18e3f72-4a5d-4c9e-8b7f-0a3c1d2e4f56",
                              "infrahub_id": 7613,
                              "resource_name": "uimap-bucket-test",
                              "status": "ACTIVE"
                            },
                            "metrics": {
                              "incurred_bill": 1.4799118041992184e-11,
                              "non_discounted_bill": 1.4799118041992184e-11,
                              "price_per_hour": 1.479911804199218e-10,
                              "non_discounted_price_per_hour": 1.479911804199218e-10,
                              "usage_time": 1680,
                              "size": 0.00000762939453125
                            }
                          }
                        ],
                        "total_count": 1,
                        "pagination": {
                          "page": 1,
                          "per_page": 10,
                          "pages": 1,
                          "total_count": 1
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/bucket/{bucket_id}": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Get snapshot billing history",
        "description": "Retrieve billing history of a specific Bucket for the specified billing cycle. This data will include 'resource_name', 'infrahub_id', 'price_per_hour', 'incurred_bill', 'usage_time', 'non_discounted_price_per_hour', 'non_discounted_bill'.",
        "operationId": "Get_Bucket_billing_history",
        "parameters": [
          {
            "name": "bucket_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the bucket."
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "Datetime should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "Datetime should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLevelBucketBillingDetailsResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/bucket/{bucket_id}/graph": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Get bucket hourly cost datapoints",
        "description": "Returns hourly cost datapoints for a Bucket for a specified billing cycle. The response includes 'incurred_bill' graph datapoints.",
        "operationId": "Buckets_billing_history_hourly_chart",
        "parameters": [
          {
            "name": "bucket_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the bucket."
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLevelGraphBillingDetailsBucket"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/cluster": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "List cluster billing history",
        "description": "Returns billing history of clusters for the specified billing cycle. The response includes 'resource_name', 'infrahub_id', 'status', 'incurred_bill', 'usage_time', 'price_per_hour'.",
        "operationId": "List_Clusters_billing_history",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search by resource \"Name\" or \"ID\"",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Number of items to return per page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number of results to return.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLevelClusterBillingHistoryResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found\n\nCommon cause: `error_reason: not_found`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Not Found",
                    "value": {
                      "status": false,
                      "message": "No cluster data found for 2026-05-01T00:00:00 - 2026-05-07T17:48:43 ",
                      "error_reason": "not_found"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "No cluster data found for 2026-05-01T00:00:00 - 2026-05-07T17:48:43 ",
                  "error_reason": "not_found"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/cluster/{cluster_id}": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Get cluster billing history",
        "description": "Returns the accrued cost, hourly rate, and billable hours for a Kubernetes cluster over a date range you specify. The same figures are broken down by individual node, so you can see which nodes account for the total.",
        "operationId": "Get_Cluster_billing_history",
        "parameters": [
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the cluster."
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLevelClusterBillingDetailsResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/cluster/{cluster_id}/graph": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Get cluster hourly cost datapoints",
        "description": "Returns hourly cost datapoints for a Cluster for a specified billing cycle. The response includes 'incurred_bill' graph datapoints.",
        "operationId": "Get_cluster_billing_history_graph",
        "parameters": [
          {
            "name": "cluster_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the cluster."
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLevelClusterGraphBillingDetailsResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/contract": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Get contract billing history",
        "description": "Returns billing history of contracts for the specified billing cycle. The response includes 'description', gpu_type','infrahub_id', 'status', 'incurred_bill', 'price_per_hour'.",
        "operationId": "List_billing_contract_history",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search by Contract \"Description\" or \"ID\"",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found\n\nCommon cause: `error_reason: not_found`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Not Found",
                    "value": {
                      "status": false,
                      "message": "Billing History for Contracts does not exist.",
                      "error_reason": "not_found"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "Billing History for Contracts does not exist.",
                  "error_reason": "not_found"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/data_synthesis": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "List data-synthesis billing history",
        "description": "Returns billing history of data_synthesis for the specified billing cycle.",
        "operationId": "Get_data_synthesis_billing_history",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search by resource \"Name\" or \"ID\"",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Number of items to return per page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number of results to return.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenBasedBillingHistoryResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found\n\nCommon cause: `error_reason: not_found`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Not Found",
                    "value": {
                      "status": false,
                      "message": "No data_synthesis data found for 2026-05-01T00:00:00 - 2026-05-07T17:48:58 ",
                      "error_reason": "not_found"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "No data_synthesis data found for 2026-05-01T00:00:00 - 2026-05-07T17:48:58 ",
                  "error_reason": "not_found"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/data_synthesis/{resource_id}": {
      "get": {
        "tags": [
          "Billing"
        ],
        "description": "Retrieve billing history for a specific Data Synthesis resource.",
        "operationId": "Get_data_synthesis_history_for_resource",
        "parameters": [
          {
            "name": "resource_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the resource."
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "ISO 8601 timestamp (YYYY-MM-DDTHH:MM:SS) bounding the query range.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "ISO 8601 timestamp (YYYY-MM-DDTHH:MM:SS) bounding the query range.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataSynthesisBillingHistoryDetailsResponseSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "Get data-synthesis billing history for a resource"
      }
    },
    "/billing/billing/history/data_synthesis/{resource_id}/graph": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Get data-synthesis hourly cost datapoints",
        "description": "Returns hourly cost datapoints for a data synthesis job for a specified billing cycle.",
        "operationId": "Get_data_synthesis_billing_history_graph",
        "parameters": [
          {
            "name": "resource_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the resource."
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataSynthesisBillingHistoryDetailsResponseSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/fine_tuning": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "List model-evaluation billing history",
        "description": "Returns billing history of fine_tuning for the specified billing cycle.",
        "operationId": "Get_fine-tuning_billing_history",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search by resource \"Name\" or \"ID\"",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Number of items to return per page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number of results to return.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkloadBillingHistoryResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found\n\nCommon cause: `error_reason: not_found`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Not Found",
                    "value": {
                      "status": false,
                      "message": "No fine-tuning data found for 2026-05-01T00:00:00 - 2026-05-07T17:48:59 ",
                      "error_reason": "not_found"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "No fine-tuning data found for 2026-05-01T00:00:00 - 2026-05-07T17:48:59 ",
                  "error_reason": "not_found"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/fine_tuning/{resource_id}": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Get fine-tuning resource billing history",
        "description": "Retrieve billing history of a specific Fine tuning for the specified billing cycle.",
        "operationId": "Get_resource_fine-tuning_billing_history",
        "parameters": [
          {
            "name": "resource_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the resource."
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Datetime should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Datetime should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLevelVolumeBillingDetailsResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/fine_tuning/{resource_id}/graph": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Get fine-tuning resource hourly cost datapoints",
        "description": "Returns hourly cost datapoints for a Fine Tunings for a specified billing cycle.",
        "operationId": "Get_fine-tuning_billing_history_graph",
        "parameters": [
          {
            "name": "resource_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the resource."
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLevelVolumeGraphBillingDetailsResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/model_evaluation": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "List model-evaluation billing history",
        "description": "Returns billing history of model_evaluation for the specified billing cycle.",
        "operationId": "Get_model_evaluation_billing_history",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search by resource \"Name\" or \"ID\"",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Number of items to return per page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number of results to return.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenBasedBillingHistoryResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found\n\nCommon cause: `error_reason: not_found`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Not Found",
                    "value": {
                      "status": false,
                      "message": "No model_evaluation data found for 2026-05-01T00:00:00 - 2026-05-07T17:48:59 ",
                      "error_reason": "not_found"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "No model_evaluation data found for 2026-05-01T00:00:00 - 2026-05-07T17:48:59 ",
                  "error_reason": "not_found"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/model_evaluation/{resource_id}": {
      "get": {
        "tags": [
          "Billing"
        ],
        "description": "Retrieve billing history for a specific Model Evaluation resource.",
        "operationId": "Get_resource_model_evaluation_billing_history",
        "parameters": [
          {
            "name": "resource_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the resource."
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "ISO 8601 timestamp (YYYY-MM-DDTHH:MM:SS) bounding the query range.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "ISO 8601 timestamp (YYYY-MM-DDTHH:MM:SS) bounding the query range.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelEvaluationBillingHistoryDetailsResponseSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "Get model-evaluation billing history for a resource"
      }
    },
    "/billing/billing/history/model_evaluation/{resource_id}/graph": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Get model-evaluation hourly cost datapoints",
        "description": "Returns hourly cost datapoints for a model evaluation for a specified billing cycle.",
        "operationId": "Get_model_evaluation_billing_history_graph",
        "parameters": [
          {
            "name": "resource_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the resource."
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ModelEvaluationBillingHistoryDetailsResponseSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/serverless_inference": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "List serverless-inference billing history",
        "description": "Returns billing history of serverless_inference for the specified billing cycle.",
        "operationId": "List_serverless_inference_billing_history",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search by resource \"Name\" or \"ID\"",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Number of items to return per page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number of results to return.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenBasedBillingHistoryResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found\n\nCommon cause: `error_reason: not_found`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Not Found",
                    "value": {
                      "status": false,
                      "message": "No serverless_inference data found for 2026-05-01T00:00:00 - 2026-05-07T17:48:59 ",
                      "error_reason": "not_found"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "No serverless_inference data found for 2026-05-01T00:00:00 - 2026-05-07T17:48:59 ",
                  "error_reason": "not_found"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/serverless_inference/{resource_id}": {
      "get": {
        "tags": [
          "Billing"
        ],
        "description": "Retrieve billing history for a specific Serverless Inference resource.",
        "operationId": "Get_serverless_inferences_billing_history",
        "parameters": [
          {
            "name": "resource_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the resource."
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "ISO 8601 timestamp (YYYY-MM-DDTHH:MM:SS) bounding the query range.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "ISO 8601 timestamp (YYYY-MM-DDTHH:MM:SS) bounding the query range.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerlessInferencedBillingHistoryDetailsResponseSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "Get serverless-inference billing history for a resource"
      }
    },
    "/billing/billing/history/serverless_inference/{resource_id}/graph": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Get serverless-inference hourly cost datapoints",
        "description": "Returns hourly cost datapoints for a serverless inference for a specified billing cycle.",
        "operationId": "Get_serverless_inference_billing_history_graph",
        "parameters": [
          {
            "name": "resource_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the resource."
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerlessInferencedBillingHistoryDetailsResponseSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/snapshot": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "List snapshot billing history",
        "description": "Returns billing history of snapshots for the specified billing cycle. The response includes 'resource_name', 'infrahub_id', 'status', 'incurred_bill', 'usage_time', 'price_per_hour'.",
        "operationId": "List_snapshot_billing_history",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-01T00:00:00"
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-07T17:48:45"
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search by resource \"Name\" or \"ID\"",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Number of items to return per page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number of results to return.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLevelVolumeBillingHistoryResponseModel"
                },
                "example": {
                  "success": true,
                  "message": "Billing History for Snapshot Retrieved Successfully.",
                  "billing_history_snapshot": {
                    "org_id": 6190,
                    "billing_history": [
                      {
                        "attributes": {
                          "id": "9d8a4f10-2c5d-4b14-8f5a-1e6c8e8b2d3f",
                          "infrahub_id": 8429,
                          "resource_name": "example-snapshot",
                          "status": "SUCCESS"
                        },
                        "metrics": {
                          "incurred_bill": 0.000006451613333333334,
                          "non_discounted_bill": 0,
                          "price_per_hour": 0,
                          "non_discounted_price_per_hour": 0,
                          "usage_time": 0
                        }
                      },
                      {
                        "attributes": {
                          "id": "f3a91c44-7b2e-49d7-a16d-5c3e8d9a0b21",
                          "infrahub_id": 4501,
                          "resource_name": "example-snapshot-2",
                          "status": "SUCCESS"
                        },
                        "metrics": {
                          "incurred_bill": 0.00009677420000000002,
                          "non_discounted_bill": 0.00008387097333333335,
                          "price_per_hour": 0.0003870968,
                          "non_discounted_price_per_hour": 0.0003870968,
                          "usage_time": 660
                        }
                      },
                      {
                        "attributes": {
                          "id": "2c4e6a18-5d3b-4f80-93a1-7e5b9c2f1d44",
                          "infrahub_id": 6190,
                          "resource_name": "example-snapshot-3",
                          "status": "SUCCESS"
                        },
                        "metrics": {
                          "incurred_bill": 0.00020645162666666658,
                          "non_discounted_bill": 0.00020645162666666658,
                          "price_per_hour": 0.0003870968,
                          "non_discounted_price_per_hour": 0.0003870968,
                          "usage_time": 1920
                        }
                      }
                    ],
                    "total_count": 13,
                    "pagination": {
                      "page": 1,
                      "per_page": 10,
                      "pages": 1,
                      "total_count": 13
                    }
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "success": true,
                      "message": "Billing History for Snapshot Retrieved Successfully.",
                      "billing_history_snapshot": {
                        "org_id": 6190,
                        "billing_history": [
                          {
                            "attributes": {
                              "id": "9d8a4f10-2c5d-4b14-8f5a-1e6c8e8b2d3f",
                              "infrahub_id": 8429,
                              "resource_name": "example-snapshot",
                              "status": "SUCCESS"
                            },
                            "metrics": {
                              "incurred_bill": 0.000006451613333333334,
                              "non_discounted_bill": 0,
                              "price_per_hour": 0,
                              "non_discounted_price_per_hour": 0,
                              "usage_time": 0
                            }
                          },
                          {
                            "attributes": {
                              "id": "f3a91c44-7b2e-49d7-a16d-5c3e8d9a0b21",
                              "infrahub_id": 4501,
                              "resource_name": "example-snapshot-2",
                              "status": "SUCCESS"
                            },
                            "metrics": {
                              "incurred_bill": 0.00009677420000000002,
                              "non_discounted_bill": 0.00008387097333333335,
                              "price_per_hour": 0.0003870968,
                              "non_discounted_price_per_hour": 0.0003870968,
                              "usage_time": 660
                            }
                          },
                          {
                            "attributes": {
                              "id": "2c4e6a18-5d3b-4f80-93a1-7e5b9c2f1d44",
                              "infrahub_id": 6190,
                              "resource_name": "example-snapshot-3",
                              "status": "SUCCESS"
                            },
                            "metrics": {
                              "incurred_bill": 0.00020645162666666658,
                              "non_discounted_bill": 0.00020645162666666658,
                              "price_per_hour": 0.0003870968,
                              "non_discounted_price_per_hour": 0.0003870968,
                              "usage_time": 1920
                            }
                          }
                        ],
                        "total_count": 13,
                        "pagination": {
                          "page": 1,
                          "per_page": 10,
                          "pages": 1,
                          "total_count": 13
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/snapshot/{snapshot_id}": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Get snapshot billing history",
        "description": "Retrieve billing history of a specific Snapshot for the specified billing cycle. This data will include 'resource_name', 'infrahub_id', 'price_per_hour', 'incurred_bill', 'usage_time', 'non_discounted_price_per_hour', 'non_discounted_bill'.\n\n> **Reliability:** This endpoint returns `500` intermittently. Retry with backoff; if the failure persists, contact support.",
        "operationId": "Get_Snapshot_billing_history",
        "parameters": [
          {
            "name": "snapshot_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the snapshot."
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Datetime should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-01T00:00:00"
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Datetime should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-07T17:48:57"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLevelVolumeBillingDetailsResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Biling Details for the snapshot Retrieved Successfully.",
                  "billing_history_snapshot_details": {
                    "org_id": 3287,
                    "billing_history": [
                      {
                        "attributes": {
                          "id": "2c4e6a18-5d3b-4f80-93a1-7e5b9c2f1d44",
                          "infrahub_id": 5341,
                          "resource_name": "example-snapshot",
                          "status": "SUCCESS",
                          "subresource_amount": 4,
                          "subresource_type": "Cloud-SSD"
                        },
                        "metrics": {
                          "price_per_hour": 0,
                          "incurred_bill": 0.000006451613333333334,
                          "usage_time": 0,
                          "non_discounted_price_per_hour": 0,
                          "non_discounted_bill": 0
                        }
                      }
                    ],
                    "total_count": 1
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Biling Details for the snapshot Retrieved Successfully.",
                      "billing_history_snapshot_details": {
                        "org_id": 3287,
                        "billing_history": [
                          {
                            "attributes": {
                              "id": "2c4e6a18-5d3b-4f80-93a1-7e5b9c2f1d44",
                              "infrahub_id": 5341,
                              "resource_name": "example-snapshot",
                              "status": "SUCCESS",
                              "subresource_amount": 4,
                              "subresource_type": "Cloud-SSD"
                            },
                            "metrics": {
                              "price_per_hour": 0,
                              "incurred_bill": 0.000006451613333333334,
                              "usage_time": 0,
                              "non_discounted_price_per_hour": 0,
                              "non_discounted_bill": 0
                            }
                          }
                        ],
                        "total_count": 1
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {
                  "default": {
                    "summary": "Internal Server Error",
                    "value": {
                      "message": "Internal Server Error"
                    }
                  }
                },
                "example": {
                  "message": "Internal Server Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/snapshot/{snapshot_id}/graph": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Get snapshot hourly cost datapoints",
        "description": "Returns hourly cost datapoints for a Snapshot for a specified billing cycle. The response includes 'incurred_bill' graph datapoints.\n\n> **Reliability:** This endpoint returns `500` intermittently. Retry with backoff; if the failure persists, contact support.",
        "operationId": "Get_snapshot_billing_history_graph",
        "parameters": [
          {
            "name": "snapshot_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the snapshot."
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-01T00:00:00"
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-07T17:48:57"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLevelVolumeGraphBillingDetailsResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Biling Details Hourly Cost datapointsfor the snapshot Retrieved Successfully.",
                  "billing_history_snapshot_details": {
                    "org_id": 3287,
                    "billing_history": [
                      {
                        "attributes": {
                          "id": "2c4e6a18-5d3b-4f80-93a1-7e5b9c2f1d44",
                          "infrahub_id": 5341,
                          "resource_name": "example-snapshot",
                          "status": "SUCCESS",
                          "subresource_amount": 4,
                          "subresource_type": "Cloud-SSD"
                        },
                        "metrics": {
                          "incurred_bill": 0.000006451613333333334,
                          "incurred_bill_graph": [
                            {
                              "datetime": "2026-05-06T14:32:11Z",
                              "value": 0.000006451613333333334
                            }
                          ]
                        }
                      }
                    ],
                    "total_count": 1,
                    "granularity": 86400
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Biling Details Hourly Cost datapointsfor the snapshot Retrieved Successfully.",
                      "billing_history_snapshot_details": {
                        "org_id": 3287,
                        "billing_history": [
                          {
                            "attributes": {
                              "id": "2c4e6a18-5d3b-4f80-93a1-7e5b9c2f1d44",
                              "infrahub_id": 5341,
                              "resource_name": "example-snapshot",
                              "status": "SUCCESS",
                              "subresource_amount": 4,
                              "subresource_type": "Cloud-SSD"
                            },
                            "metrics": {
                              "incurred_bill": 0.000006451613333333334,
                              "incurred_bill_graph": [
                                {
                                  "datetime": "2026-05-06T14:32:11Z",
                                  "value": 0.000006451613333333334
                                }
                              ]
                            }
                          }
                        ],
                        "total_count": 1,
                        "granularity": 86400
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {
                  "default": {
                    "summary": "Internal Server Error",
                    "value": {
                      "message": "Internal Server Error"
                    }
                  }
                },
                "example": {
                  "message": "Internal Server Error"
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/virtual-machine": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "List VM billing history",
        "description": "Returns billing history of virtual machine for the specified billing cycle. The response includes 'resource_name', 'infrahub_id', 'status', 'incurred_bill', 'usage_time', 'price_per_hour'.",
        "operationId": "Get_VM_Billing_History",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-01T00:00:00"
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-07T17:48:46"
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search by resource \"Name\" or \"ID\"",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Number of items to return per page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number of results to return.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLevelVmBillingHistoryResponseModel"
                },
                "example": {
                  "success": true,
                  "message": "Billing History for Virtual Machine Retrieved Successfully.",
                  "billing_history_vm": {
                    "org_id": 3287,
                    "billing_history": [
                      {
                        "attributes": {
                          "id": "2c4e6a18-5d3b-4f80-93a1-7e5b9c2f1d44",
                          "infrahub_id": 5341,
                          "resource_name": "example-restored-1789",
                          "status": "ACTIVE",
                          "contract_id": null
                        },
                        "metrics": {
                          "incurred_bill": 0,
                          "non_discounted_bill": 0.01,
                          "price_per_hour": 0.30000000000000004,
                          "non_discounted_price_per_hour": 0,
                          "usage_time": 120
                        }
                      },
                      {
                        "attributes": {
                          "id": "b18e3f72-4a5d-4c9e-8b7f-0a3c1d2e4f56",
                          "infrahub_id": 7613,
                          "resource_name": "example-vm-2",
                          "status": "ACTIVE",
                          "contract_id": null
                        },
                        "metrics": {
                          "incurred_bill": 0.0034838710000000004,
                          "non_discounted_bill": 0.0034838710000000004,
                          "price_per_hour": 0.3483871,
                          "non_discounted_price_per_hour": 0.3483871,
                          "usage_time": 36
                        }
                      },
                      {
                        "attributes": {
                          "id": "7e2d5a13-9c8b-4f1e-a420-3d6f8b9c0e15",
                          "infrahub_id": 3287,
                          "resource_name": "example-restored-1788",
                          "status": "ACTIVE",
                          "contract_id": null
                        },
                        "metrics": {
                          "incurred_bill": 0.04,
                          "non_discounted_bill": 0.035,
                          "price_per_hour": 0.30000000000000004,
                          "non_discounted_price_per_hour": 0.30000000000000004,
                          "usage_time": 480
                        }
                      }
                    ],
                    "total_count": 37,
                    "pagination": {
                      "page": 1,
                      "per_page": 10,
                      "pages": 4
                    }
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "success": true,
                      "message": "Billing History for Virtual Machine Retrieved Successfully.",
                      "billing_history_vm": {
                        "org_id": 3287,
                        "billing_history": [
                          {
                            "attributes": {
                              "id": "2c4e6a18-5d3b-4f80-93a1-7e5b9c2f1d44",
                              "infrahub_id": 5341,
                              "resource_name": "example-restored-1789",
                              "status": "ACTIVE",
                              "contract_id": null
                            },
                            "metrics": {
                              "incurred_bill": 0,
                              "non_discounted_bill": 0.01,
                              "price_per_hour": 0.30000000000000004,
                              "non_discounted_price_per_hour": 0,
                              "usage_time": 120
                            }
                          },
                          {
                            "attributes": {
                              "id": "b18e3f72-4a5d-4c9e-8b7f-0a3c1d2e4f56",
                              "infrahub_id": 7613,
                              "resource_name": "example-vm-2",
                              "status": "ACTIVE",
                              "contract_id": null
                            },
                            "metrics": {
                              "incurred_bill": 0.0034838710000000004,
                              "non_discounted_bill": 0.0034838710000000004,
                              "price_per_hour": 0.3483871,
                              "non_discounted_price_per_hour": 0.3483871,
                              "usage_time": 36
                            }
                          },
                          {
                            "attributes": {
                              "id": "7e2d5a13-9c8b-4f1e-a420-3d6f8b9c0e15",
                              "infrahub_id": 3287,
                              "resource_name": "example-restored-1788",
                              "status": "ACTIVE",
                              "contract_id": null
                            },
                            "metrics": {
                              "incurred_bill": 0.04,
                              "non_discounted_bill": 0.035,
                              "price_per_hour": 0.30000000000000004,
                              "non_discounted_price_per_hour": 0.30000000000000004,
                              "usage_time": 480
                            }
                          }
                        ],
                        "total_count": 37,
                        "pagination": {
                          "page": 1,
                          "per_page": 10,
                          "pages": 4
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/virtual-machine/{vm_id}": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Get VM billing history",
        "description": "Returns billing history of a specific Virtual Machine for the specified billing cycle. The response includes 'resource_name', 'infrahub_id', 'price_per_hour', 'non_discounted_price_per_hour', 'incurred_bill', 'non_discounted_bill', 'usage_time', 'usage_time_ACTIVE', 'usage_time_SHUTOFF', 'usage_time_HIBERNATED'\n\n> **Reliability:** This endpoint returns `500` intermittently. Retry with backoff; if the failure persists, contact support.",
        "operationId": "Get_VM_Billing_Details",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-01T00:00:00"
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-07T17:48:53"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLevelVMBillingDetailsResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Biling Details  for the Virtual Machine Retrieved Successfully.",
                  "billing_history_vm_details": {
                    "org_id": 2058,
                    "billing_history": [
                      {
                        "attributes": {
                          "id": "7e2d5a13-9c8b-4f1e-a420-3d6f8b9c0e15",
                          "infrahub_id": 1402,
                          "resource_name": "example-vm",
                          "status": "ACTIVE",
                          "contract_id": null
                        },
                        "metrics": {
                          "price_per_hour": 0.3483871,
                          "non_discounted_price_per_hour": 0.3483871,
                          "incurred_bill": 0.0034838710000000004,
                          "non_discounted_bill": 0.0034838710000000004,
                          "usage_time": 36,
                          "usage_time_ACTIVE": -12,
                          "usage_time_SHUTOFF": 0
                        }
                      }
                    ],
                    "total_count": 1
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Biling Details  for the Virtual Machine Retrieved Successfully.",
                      "billing_history_vm_details": {
                        "org_id": 2058,
                        "billing_history": [
                          {
                            "attributes": {
                              "id": "7e2d5a13-9c8b-4f1e-a420-3d6f8b9c0e15",
                              "infrahub_id": 1402,
                              "resource_name": "example-vm",
                              "status": "ACTIVE",
                              "contract_id": null
                            },
                            "metrics": {
                              "price_per_hour": 0.3483871,
                              "non_discounted_price_per_hour": 0.3483871,
                              "incurred_bill": 0.0034838710000000004,
                              "non_discounted_bill": 0.0034838710000000004,
                              "usage_time": 36,
                              "usage_time_ACTIVE": -12,
                              "usage_time_SHUTOFF": 0
                            }
                          }
                        ],
                        "total_count": 1
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/virtual-machine/{vm_id}/graph": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Get VM hourly cost datapoints",
        "description": "Returns hourly cost datapoints for a VM for a specified billing cycle. The response includes 'incurred_bill' graph datapoints.",
        "operationId": "Get_VM_Billing_Graph",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-01T00:00:00"
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-07T17:48:53"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLevelVmGraphBillingDetailsResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Biling Details Hourly Cost datapoints for the Virtual Machine Retrieved Successfully.",
                  "billing_history_vm_details": {
                    "org_id": 2058,
                    "billing_history": [
                      {
                        "attributes": {
                          "id": "7e2d5a13-9c8b-4f1e-a420-3d6f8b9c0e15",
                          "infrahub_id": 1402,
                          "resource_name": "example-vm",
                          "status": "ACTIVE",
                          "contract_id": null
                        },
                        "metrics": {
                          "incurred_bill": 0.0034838710000000004,
                          "incurred_bill_graph": [
                            {
                              "datetime": "2026-05-06T16:04:09Z",
                              "value": 0.0034838710000000004
                            }
                          ]
                        }
                      }
                    ],
                    "total_count": 1,
                    "granularity": 86400
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Biling Details Hourly Cost datapoints for the Virtual Machine Retrieved Successfully.",
                      "billing_history_vm_details": {
                        "org_id": 2058,
                        "billing_history": [
                          {
                            "attributes": {
                              "id": "7e2d5a13-9c8b-4f1e-a420-3d6f8b9c0e15",
                              "infrahub_id": 1402,
                              "resource_name": "example-vm",
                              "status": "ACTIVE",
                              "contract_id": null
                            },
                            "metrics": {
                              "incurred_bill": 0.0034838710000000004,
                              "incurred_bill_graph": [
                                {
                                  "datetime": "2026-05-06T16:04:09Z",
                                  "value": 0.0034838710000000004
                                }
                              ]
                            }
                          }
                        ],
                        "total_count": 1,
                        "granularity": 86400
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/volume": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "List volume billing history",
        "description": "Returns billing history of volumes for the specified billing cycle. The response includes 'resource_name', 'infrahub_id', 'status', 'incurred_bill', 'usage_time', 'price_per_hour'.",
        "operationId": "Get_Volume_Billing_History",
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-01T00:00:00"
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-07T17:48:47"
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search by resource \"Name\" or \"ID\"",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Number of items to return per page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number of results to return.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLevelVolumeBillingHistoryResponseModel"
                },
                "example": {
                  "success": true,
                  "message": "Billing History for Volume Retrieved Successfully.",
                  "billing_history_volume": {
                    "org_id": 2058,
                    "billing_history": [
                      {
                        "attributes": {
                          "id": "7e2d5a13-9c8b-4f1e-a420-3d6f8b9c0e15",
                          "infrahub_id": 1402,
                          "resource_name": "example-volume",
                          "status": "IN-USE"
                        },
                        "metrics": {
                          "incurred_bill": 0.000016129033333333334,
                          "non_discounted_bill": 0,
                          "price_per_hour": 0.0009677420000000001,
                          "non_discounted_price_per_hour": 0.0009677420000000001,
                          "usage_time": 60
                        }
                      },
                      {
                        "attributes": {
                          "id": "9d8a4f10-2c5d-4b14-8f5a-1e6c8e8b2d3f",
                          "infrahub_id": 9876,
                          "resource_name": "example-volume-2",
                          "status": "AVAILABLE"
                        },
                        "metrics": {
                          "incurred_bill": 0.00012903226666666667,
                          "non_discounted_bill": 0.00014193549333333335,
                          "price_per_hour": 0.0009677420000000001,
                          "non_discounted_price_per_hour": 0.0009677420000000001,
                          "usage_time": 480
                        }
                      },
                      {
                        "attributes": {
                          "id": "f3a91c44-7b2e-49d7-a16d-5c3e8d9a0b21",
                          "infrahub_id": 2058,
                          "resource_name": "example-volume-3",
                          "status": "AVAILABLE"
                        },
                        "metrics": {
                          "incurred_bill": 0.00040000002666666656,
                          "non_discounted_bill": 0.00040000002666666656,
                          "price_per_hour": 0.0009677420000000001,
                          "non_discounted_price_per_hour": 0.0009677420000000001,
                          "usage_time": 1548
                        }
                      }
                    ],
                    "total_count": 10,
                    "pagination": {
                      "page": 1,
                      "per_page": 10,
                      "pages": 2,
                      "total_count": 17
                    }
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "success": true,
                      "message": "Billing History for Volume Retrieved Successfully.",
                      "billing_history_volume": {
                        "org_id": 2058,
                        "billing_history": [
                          {
                            "attributes": {
                              "id": "7e2d5a13-9c8b-4f1e-a420-3d6f8b9c0e15",
                              "infrahub_id": 1402,
                              "resource_name": "example-volume",
                              "status": "IN-USE"
                            },
                            "metrics": {
                              "incurred_bill": 0.000016129033333333334,
                              "non_discounted_bill": 0,
                              "price_per_hour": 0.0009677420000000001,
                              "non_discounted_price_per_hour": 0.0009677420000000001,
                              "usage_time": 60
                            }
                          },
                          {
                            "attributes": {
                              "id": "9d8a4f10-2c5d-4b14-8f5a-1e6c8e8b2d3f",
                              "infrahub_id": 9876,
                              "resource_name": "example-volume-2",
                              "status": "AVAILABLE"
                            },
                            "metrics": {
                              "incurred_bill": 0.00012903226666666667,
                              "non_discounted_bill": 0.00014193549333333335,
                              "price_per_hour": 0.0009677420000000001,
                              "non_discounted_price_per_hour": 0.0009677420000000001,
                              "usage_time": 480
                            }
                          },
                          {
                            "attributes": {
                              "id": "f3a91c44-7b2e-49d7-a16d-5c3e8d9a0b21",
                              "infrahub_id": 2058,
                              "resource_name": "example-volume-3",
                              "status": "AVAILABLE"
                            },
                            "metrics": {
                              "incurred_bill": 0.00040000002666666656,
                              "non_discounted_bill": 0.00040000002666666656,
                              "price_per_hour": 0.0009677420000000001,
                              "non_discounted_price_per_hour": 0.0009677420000000001,
                              "usage_time": 1548
                            }
                          }
                        ],
                        "total_count": 10,
                        "pagination": {
                          "page": 1,
                          "per_page": 10,
                          "pages": 2,
                          "total_count": 17
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/volume/{volume_id}": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Get volume billing history",
        "description": "Retrieve billing history of a specific Volume for the specified billing cycle. This data will include 'resource_name', 'infrahub_id', 'price_per_hour', 'incurred_bill', 'usage_time', 'non_discounted_price_per_hour', 'non_discounted_bill'.",
        "operationId": "Get_Volume_Billing_Details",
        "parameters": [
          {
            "name": "volume_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the volume."
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-01T00:00:00"
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-07T17:48:56"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLevelVolumeBillingDetailsResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Biling Details for the Volume Retrieved Successfully.",
                  "billing_history_volume_details": {
                    "org_id": 1129,
                    "billing_history": [
                      {
                        "attributes": {
                          "id": "f3a91c44-7b2e-49d7-a16d-5c3e8d9a0b21",
                          "infrahub_id": 4501,
                          "resource_name": "example-volume",
                          "status": "IN-USE",
                          "subresource_amount": 10,
                          "subresource_type": "Cloud-SSD"
                        },
                        "metrics": {
                          "price_per_hour": 0.0009677420000000001,
                          "incurred_bill": 0.000016129033333333334,
                          "usage_time": 60,
                          "non_discounted_price_per_hour": 0.0009677420000000001,
                          "non_discounted_bill": 0
                        }
                      }
                    ],
                    "total_count": 1
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Biling Details for the Volume Retrieved Successfully.",
                      "billing_history_volume_details": {
                        "org_id": 1129,
                        "billing_history": [
                          {
                            "attributes": {
                              "id": "f3a91c44-7b2e-49d7-a16d-5c3e8d9a0b21",
                              "infrahub_id": 4501,
                              "resource_name": "example-volume",
                              "status": "IN-USE",
                              "subresource_amount": 10,
                              "subresource_type": "Cloud-SSD"
                            },
                            "metrics": {
                              "price_per_hour": 0.0009677420000000001,
                              "incurred_bill": 0.000016129033333333334,
                              "usage_time": 60,
                              "non_discounted_price_per_hour": 0.0009677420000000001,
                              "non_discounted_bill": 0
                            }
                          }
                        ],
                        "total_count": 1
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/history/volume/{volume_id}/graph": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Get volume hourly cost datapoints",
        "description": "Returns hourly cost datapoints for a Volume for a specified billing cycle. The response includes 'incurred_bill' graph datapoints.",
        "operationId": "Get_Volume_Billing_History_Graph",
        "parameters": [
          {
            "name": "volume_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the volume."
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-01T00:00:00"
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-07T17:48:56"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceLevelVolumeGraphBillingDetailsResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Biling Details Hourly Cost datapointsfor the Volume Retrieved Successfully.",
                  "billing_history_volume_details": {
                    "org_id": 1129,
                    "billing_history": [
                      {
                        "attributes": {
                          "id": "f3a91c44-7b2e-49d7-a16d-5c3e8d9a0b21",
                          "infrahub_id": 4501,
                          "resource_name": "example-volume",
                          "status": "IN-USE",
                          "subresource_amount": 10,
                          "subresource_type": "Cloud-SSD"
                        },
                        "metrics": {
                          "incurred_bill": 0.000016129033333333334,
                          "incurred_bill_graph": [
                            {
                              "datetime": "2026-05-07T11:47:30Z",
                              "value": 0.000016129033333333334
                            }
                          ]
                        }
                      }
                    ],
                    "total_count": 1,
                    "granularity": 86400
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Biling Details Hourly Cost datapointsfor the Volume Retrieved Successfully.",
                      "billing_history_volume_details": {
                        "org_id": 1129,
                        "billing_history": [
                          {
                            "attributes": {
                              "id": "f3a91c44-7b2e-49d7-a16d-5c3e8d9a0b21",
                              "infrahub_id": 4501,
                              "resource_name": "example-volume",
                              "status": "IN-USE",
                              "subresource_amount": 10,
                              "subresource_type": "Cloud-SSD"
                            },
                            "metrics": {
                              "incurred_bill": 0.000016129033333333334,
                              "incurred_bill_graph": [
                                {
                                  "datetime": "2026-05-07T11:47:30Z",
                                  "value": 0.000016129033333333334
                                }
                              ]
                            }
                          }
                        ],
                        "total_count": 1,
                        "granularity": 86400
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/last-day-cost": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Last day cost",
        "description": "Retrieves data for usage costs incurred during the previous day for each resource type and provides the total cost accumulated during that period. This API specifically returns usage cost information for [**virtual machines**](https://docs.hyperstack.cloud/docs/virtual-machines/), [**volumes**](https://docs.hyperstack.cloud/docs/storage/volumes/shared-storage-volumes), and clusters.",
        "operationId": "Get_last_day_cost",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Last_day_cost_response"
                },
                "example": {
                  "message": "Successful",
                  "status": true,
                  "data": {
                    "instances_cost": 0,
                    "volumes_cost": 0,
                    "clusters_cost": 0,
                    "total_cost": 0
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "message": "Successful",
                      "status": true,
                      "data": {
                        "instances_cost": 0,
                        "volumes_cost": 0,
                        "clusters_cost": 0,
                        "total_cost": 0
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/threshold": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "All thresholds for organization",
        "description": "Retrieve all the notification thresholds for an organization.",
        "operationId": "List_Org_notification_thresholds",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization_thresholds_response"
                },
                "example": {
                  "status": true,
                  "message": "Retrieving organization thresholds successful",
                  "thresholds": [
                    {
                      "id": 7613,
                      "threshold": 48,
                      "interface_title": "48hs warning",
                      "interface_tooltip": "Credit limit warning 48 hours before your credit depletes",
                      "subscribed": true
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Retrieving organization thresholds successful",
                      "thresholds": [
                        {
                          "id": 7613,
                          "threshold": 48,
                          "interface_title": "48hs warning",
                          "interface_tooltip": "Credit limit warning 48 hours before your credit depletes",
                          "subscribed": true
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/threshold/{threshold_id}": {
      "put": {
        "tags": [
          "Billing"
        ],
        "summary": "Update: subscribe or unsubscribe notification threshold",
        "description": "By default, you are subscribed to all the threshold values and you will be receiving the email notification for these default thresholds values. `false` indicates that the user will no longer receive notifications for this specific threshold, whereas `true` signifies that the user will receive notification emails.",
        "operationId": "Get_notification_threshold",
        "parameters": [
          {
            "name": "threshold_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the threshold."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Subscribe_or_unsubscribe_update_payload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization_threshold_update_response"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/usage": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Billing usage",
        "description": "Retrieve active billing metrics for the organization's resources, including pricing, uptime, and total cost. By default, returns usage details for active resources only (`deleted=false`). Pass `deleted=true` in the query string to return inactive resources instead. For additional information on viewing usage costs for all resources, see [Pricebook](https://docs.hyperstack.cloud/docs/billing/pricebook).",
        "operationId": "Get_usage",
        "parameters": [
          {
            "name": "deleted",
            "in": "query",
            "description": "`true` will return inactive resources and `false` will return active resources. By default (`deleted=false`)",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "environment",
            "in": "query",
            "description": "Filter resources by environment ID or Name",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Billing_metrices_response"
                },
                "example": {
                  "message": "Successful",
                  "status": true,
                  "data": [
                    {
                      "resource_id": 5341,
                      "resource_type": "volume",
                      "name": "example-volume",
                      "organization_id": 2058,
                      "bill_per_minute": 0.000016129033333333334,
                      "create_time": "2026-05-06T15:18:42Z",
                      "terminate_time": null,
                      "total_up_time": 27,
                      "total_bill": 0.0004645161599999998,
                      "active": true,
                      "exclude_billing": false
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "message": "Successful",
                      "status": true,
                      "data": [
                        {
                          "resource_id": 5341,
                          "resource_type": "volume",
                          "name": "example-volume",
                          "organization_id": 2058,
                          "bill_per_minute": 0.000016129033333333334,
                          "create_time": "2026-05-06T15:18:42Z",
                          "terminate_time": null,
                          "total_up_time": 27,
                          "total_bill": 0.0004645161599999998,
                          "active": true,
                          "exclude_billing": false
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/virtual-machine/{vm_id}/billing-events": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Retrieve VM billing events history",
        "description": "Returns vm billing events history\n\n> **Reliability:** This endpoint returns `500` intermittently. Retry with backoff; if the failure persists, contact support.",
        "operationId": "Get_VM_billing_events",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-01T00:00:00"
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-07T17:48:53"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceBillingEventsHistoryResponse"
                },
                "example": {
                  "status": true,
                  "message": "virtual_machine 793869 Billing Events History Retrieved Successfully.",
                  "billing_events_history": []
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "virtual_machine 793869 Billing Events History Retrieved Successfully.",
                      "billing_events_history": []
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error\n\nCommon cause: `error_reason: server_error`.",
            "content": {
              "application/json": {
                "examples": {
                  "default": {
                    "summary": "Internal Server Error",
                    "value": {
                      "status": false,
                      "message": "An error occurred",
                      "error_reason": "server_error"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "An error occurred",
                  "error_reason": "server_error"
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/virtual-machine/{vm_id}/sub-resource": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Get total cost for VM sub-resources",
        "description": "User will get total costs and non_discount costs of sub resources on a specific Virtual Machine for the specified billing cycle. On a Specific VM for the Specified Billing Cycle.",
        "operationId": "Get_VM_sub-resource_costs",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-01T00:00:00"
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-07T17:48:53"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubResourcesCostsResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Billing Details  for the Virtual Machine Sub Resource Retrieved Successfully.",
                  "sub_resources_costs": {
                    "org_id": 6190,
                    "billing_history": [
                      {
                        "attributes": {
                          "id": "9d8a4f10-2c5d-4b14-8f5a-1e6c8e8b2d3f",
                          "infrahub_id": 8429,
                          "resource_name": "example-vm"
                        },
                        "metrics": {
                          "gpu_incurred_bill": 0,
                          "cpu_incurred_bill": 0.001055555555556,
                          "cpu_non_discounted_bill": 0.001222222222222,
                          "ram_incurred_bill": 0.000527777777778,
                          "ram_non_discounted_bill": 0.000527777777778,
                          "publicip_incurred_bill": 0,
                          "disk_incurred_bill": 0,
                          "disk_non_discounted_bill": -0.000161290333333,
                          "ephemeral_incurred_bill": 0
                        }
                      }
                    ],
                    "total_count": 1
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Billing Details  for the Virtual Machine Sub Resource Retrieved Successfully.",
                      "sub_resources_costs": {
                        "org_id": 6190,
                        "billing_history": [
                          {
                            "attributes": {
                              "id": "9d8a4f10-2c5d-4b14-8f5a-1e6c8e8b2d3f",
                              "infrahub_id": 8429,
                              "resource_name": "example-vm"
                            },
                            "metrics": {
                              "gpu_incurred_bill": 0,
                              "cpu_incurred_bill": 0.001055555555556,
                              "cpu_non_discounted_bill": 0.001222222222222,
                              "ram_incurred_bill": 0.000527777777778,
                              "ram_non_discounted_bill": 0.000527777777778,
                              "publicip_incurred_bill": 0,
                              "disk_incurred_bill": 0,
                              "disk_non_discounted_bill": -0.000161290333333,
                              "ephemeral_incurred_bill": 0
                            }
                          }
                        ],
                        "total_count": 1
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/virtual-machine/{vm_id}/sub-resource/graph": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Get sub-resource historical cost datapoints for a VM",
        "description": "Returns sub-resources historical cost datapoints for a VM sub resources for a specified billing cycle. The response includes 'incurred_bill' graph datapoints. Machine sub resources for a specific billing cycle.",
        "operationId": "Get_VM_sub-resource_graph",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm."
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-01T00:00:00"
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-07T17:48:53"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubResourcesGraphResponseModel"
                },
                "example": {
                  "status": true,
                  "message": "Billing Details Sub-Resources Historical Cost datapoints for the Virtual Machine Sub Resource Retrieved Successfully.",
                  "sub_resources_costs": {
                    "org_id": 6190,
                    "billing_history": [
                      {
                        "attributes": {
                          "id": "9d8a4f10-2c5d-4b14-8f5a-1e6c8e8b2d3f",
                          "infrahub_id": 8429,
                          "resource_name": "example-vm"
                        },
                        "metrics": {
                          "gpu_incurred_bill": 0,
                          "gpu_incurred_bill_graph": [
                            {
                              "datetime": "2026-05-06T14:32:11Z",
                              "value": 0
                            }
                          ],
                          "cpu_incurred_bill": 0.001055555555556,
                          "cpu_incurred_bill_graph": [
                            {
                              "datetime": "2026-05-06T15:18:42Z",
                              "value": 0.001055555555556
                            }
                          ],
                          "ram_incurred_bill": 0.000527777777778,
                          "ram_incurred_bill_graph": [
                            {
                              "datetime": "2026-05-07T09:21:55Z",
                              "value": 0.000527777777778
                            }
                          ],
                          "publicip_incurred_bill": 0,
                          "publicip_incurred_bill_graph": [
                            {
                              "datetime": "2026-05-07T11:47:30Z",
                              "value": 0
                            }
                          ],
                          "disk_incurred_bill": 0,
                          "ephemeral_incurred_bill": 0,
                          "ephemeral_incurred_bill_graph": [
                            {
                              "datetime": "2026-05-06T14:32:11Z",
                              "value": 0
                            }
                          ]
                        }
                      }
                    ],
                    "total_count": 1,
                    "granularity": 86400
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Billing Details Sub-Resources Historical Cost datapoints for the Virtual Machine Sub Resource Retrieved Successfully.",
                      "sub_resources_costs": {
                        "org_id": 6190,
                        "billing_history": [
                          {
                            "attributes": {
                              "id": "9d8a4f10-2c5d-4b14-8f5a-1e6c8e8b2d3f",
                              "infrahub_id": 8429,
                              "resource_name": "example-vm"
                            },
                            "metrics": {
                              "gpu_incurred_bill": 0,
                              "gpu_incurred_bill_graph": [
                                {
                                  "datetime": "2026-05-06T14:32:11Z",
                                  "value": 0
                                }
                              ],
                              "cpu_incurred_bill": 0.001055555555556,
                              "cpu_incurred_bill_graph": [
                                {
                                  "datetime": "2026-05-06T15:18:42Z",
                                  "value": 0.001055555555556
                                }
                              ],
                              "ram_incurred_bill": 0.000527777777778,
                              "ram_incurred_bill_graph": [
                                {
                                  "datetime": "2026-05-07T09:21:55Z",
                                  "value": 0.000527777777778
                                }
                              ],
                              "publicip_incurred_bill": 0,
                              "publicip_incurred_bill_graph": [
                                {
                                  "datetime": "2026-05-07T11:47:30Z",
                                  "value": 0
                                }
                              ],
                              "disk_incurred_bill": 0,
                              "ephemeral_incurred_bill": 0,
                              "ephemeral_incurred_bill_graph": [
                                {
                                  "datetime": "2026-05-06T14:32:11Z",
                                  "value": 0
                                }
                              ]
                            }
                          }
                        ],
                        "total_count": 1,
                        "granularity": 86400
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/volume/{volume_id}/billing-events": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Retrieve Volume billing events history",
        "description": "Returns volume billing events history\n\n> **Reliability:** This endpoint returns `500` intermittently. Retry with backoff; if the failure persists, contact support.",
        "operationId": "Get_volume_billing_events",
        "parameters": [
          {
            "name": "volume_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the volume."
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-01T00:00:00"
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            },
            "example": "2026-05-07T17:48:56"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceBillingEventsHistoryResponse"
                },
                "example": {
                  "status": true,
                  "message": "volume 38192 Billing Events History Retrieved Successfully.",
                  "billing_events_history": []
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "volume 38192 Billing Events History Retrieved Successfully.",
                      "billing_events_history": []
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request\n\nCommon cause: `error_reason: bad_request`.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {
                  "default": {
                    "summary": "Bad Request",
                    "value": {
                      "status": false,
                      "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                      "error_reason": "bad_request"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "The query parameter 'start_date' and 'end_date' must be in the format YYYY-MM-DDTHH:MM:SS",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error\n\nCommon cause: `error_reason: server_error`.",
            "content": {
              "application/json": {
                "examples": {
                  "default": {
                    "summary": "Internal Server Error",
                    "value": {
                      "status": false,
                      "message": "An error occurred",
                      "error_reason": "server_error"
                    }
                  }
                },
                "example": {
                  "status": false,
                  "message": "An error occurred",
                  "error_reason": "server_error"
                }
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/billing/vouchers/redeem": {
      "post": {
        "tags": [
          "Vouchers"
        ],
        "summary": "Redeem a voucher with a voucher code",
        "description": "Redeems a Hyperstack voucher and applies its credit to your organization's billing balance. Submit the `voucher_code` of a valid, unused voucher in the request body. The credit is applied to the currently selected organization's account. For voucher constraints and credit behavior, see [**Voucher Rules and Account Credit Behavior**](https://docs.hyperstack.cloud/docs/billing/vouchers/#voucher-rules-and-account-credit-behavior).",
        "operationId": "Redeem_a_voucher",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Redeem_voucher_payload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VoucherRedeemResponseSchema"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/payment/payment-details": {
      "get": {
        "tags": [
          "Payment"
        ],
        "summary": "View payment details",
        "description": "Retrieves a list of all payments made within your [**organization**](https://docs.hyperstack.cloud/docs/resource-management/organization) and their details, including the amount, payment status, and more.",
        "operationId": "List_payment_details",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payment_Details_Response"
                },
                "example": {
                  "message": "Getting payment info successful",
                  "status": true,
                  "data": []
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "message": "Getting payment info successful",
                      "status": true,
                      "data": []
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/payment/payment-initiate": {
      "post": {
        "tags": [
          "Payment"
        ],
        "summary": "Initiate payment",
        "description": "Creates a payment for a specified amount, adding credit to the balance of your [**organization**](https://docs.hyperstack.cloud/docs/resource-management/organization). Include the `amount` in the body of the request to make a payment for the specified value in dollars. View a history of past payments by calling the [**Retrieve Payment History**](https://docs.hyperstack.cloud/docs/api-reference/list-payment-details) API.",
        "operationId": "Initiate_Payment",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Payment_Initiate_Payload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payment_Initiate_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/payment/receipt/{payment_id}": {
      "get": {
        "tags": [
          "Payment"
        ],
        "summary": "Retrieve payment receipt",
        "description": "Retrieves the URL of the invoice page for a specific payment, hosted by Stripe. From the invoice page, you can view the invoice and download both the invoice and the receipt. The URL is fetched from Stripe on each request, so request it again when you need it instead of storing it.",
        "operationId": "Get_payment_receipt",
        "parameters": [
          {
            "name": "payment_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "ID of the payment."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Payment_Receipt_Response"
                },
                "example": {
                  "message": "Receipt URL retrieved",
                  "status": true,
                  "receipt_url": "https://invoice.stripe.com/i/acct_1PqR2sT3uV4wX5yZ/live_YWNjdF8xUHFSMnNUM3VWNHdYNXlaLF9SYWJjMTIzNDU2"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "message": "Receipt URL retrieved",
                      "status": true,
                      "receipt_url": "https://invoice.stripe.com/i/acct_1PqR2sT3uV4wX5yZ/live_YWNjdF8xUHFSMnNUM3VWNHdYNXlaLF9SYWJjMTIzNDU2"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/user-credit/credit": {
      "get": {
        "tags": [
          "Credit"
        ],
        "summary": "View credit and threshold",
        "description": "Retrieves the current credit balance for your [**organization**](https://docs.hyperstack.cloud/docs/resource-management/organization). Ensuring a positive credit balance allows you to create resources. However, for prepaid accounts, if the credit balance falls below $0, all associated resources will be temporarily suspended until a [**payment**](https://docs.hyperstack.cloud/docs/api-reference/initiate-payment) is made.",
        "operationId": "Get_user_credit",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Get_credit_and_threshold_info_in_response"
                },
                "example": {
                  "message": "Success",
                  "status": true,
                  "data": {
                    "credit": 27.798387328253277,
                    "threshold": 0,
                    "can_create_instance": true
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "message": "Success",
                      "status": true,
                      "data": {
                        "credit": 27.798387328253277,
                        "threshold": 0,
                        "can_create_instance": true
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/user/info": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "Retrieve billing info",
        "description": "Retrieve the billing details associated with your user.",
        "operationId": "Get_User_billing_info",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UsersInfoListResponse"
                },
                "example": {
                  "status": true,
                  "message": "Getting users info success",
                  "users_info": []
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Getting users info success",
                      "users_info": []
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "examples": {}
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "put": {
        "tags": [
          "User"
        ],
        "summary": "Update billing info",
        "description": "Update the billing information for your user in the request body.",
        "operationId": "Update_user_billing_info",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/User_info_post_payload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddUserInfoSuccessResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      },
      "post": {
        "tags": [
          "User"
        ],
        "summary": "Insert billing info",
        "description": "Add billing details associated with your user in the request body.",
        "operationId": "Add_user_billing_info",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/User_info_post_payload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddUserInfoSuccessResponseModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    },
    "/billing/user/countries": {
      "get": {
        "tags": [
          "User"
        ],
        "summary": "List supported billing countries",
        "description": "Retrieve the list of supported ISO 3166-1 alpha-2 country codes that can be used for [**billing information**](https://docs.hyperstack.cloud/docs/api-reference/add-user-billing-info). Country values submitted through the billing endpoints are validated against this list, which excludes sanctioned and otherwise restricted countries.",
        "operationId": "List_supported_billing_countries",
        "security": [
          {
            "apiKey": []
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the complete list of supported country codes. The example shows a representative sample.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupportedCountriesResponse"
                },
                "example": {
                  "status": true,
                  "countries": [
                    "AE",
                    "AU",
                    "BR",
                    "CA",
                    "DE",
                    "FR",
                    "GB",
                    "IN",
                    "JP",
                    "SG",
                    "US",
                    "ZA"
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/object-storage/access-keys": {
      "get": {
        "tags": [
          "Access Keys"
        ],
        "summary": "List access keys",
        "operationId": "listAccessKeysEndpoint",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Filter results by case-insensitive substring match against the resource name."
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "Page number to retrieve."
          },
          {
            "name": "page_size",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "Number of items to return per page."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/object_storage__AccessKeyListResponse"
                },
                "example": {
                  "access_keys": [
                    {
                      "access_key": "AK5V1JGJXWZW9XHGX49Z",
                      "created_at": "2026-05-07T09:21:55Z",
                      "description": "Example access key",
                      "id": 9876,
                      "region": "CANADA-1",
                      "user_id": 5341
                    }
                  ],
                  "meta": {
                    "count": 12,
                    "current_page": 1,
                    "total_pages": 1
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "access_keys": [
                        {
                          "access_key": "AK5V1JGJXWZW9XHGX49Z",
                          "created_at": "2026-05-07T09:21:55Z",
                          "description": "Example access key",
                          "id": 9876,
                          "region": "CANADA-1",
                          "user_id": 5341
                        }
                      ],
                      "meta": {
                        "count": 12,
                        "current_page": 1,
                        "total_pages": 1
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/object_storage__ErrorResponse"
                },
                "examples": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "description": "Retrieve a list of existing access keys tied to your [**Object Storage**](https://docs.hyperstack.cloud/docs/storage/object-storage) account, including their IDs, descriptions, creation timestamps, and region scopes."
      },
      "post": {
        "tags": [
          "Access Keys"
        ],
        "summary": "Generate a new access key",
        "operationId": "createAccessKeyEndpoint",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/object_storage__AccessKeyCreateRequest",
                "example": {
                  "description": "Example access key",
                  "region": "CANADA-1"
                },
                "properties": {}
              },
              "example": {
                "region": "CANADA-1",
                "description": "Example access key"
              }
            }
          },
          "required": false
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/object_storage__AccessKeyCreateResponse"
                },
                "example": {
                  "access_key": "AK5V1JGJXWZW9XHGX49Z",
                  "created_at": "2026-05-07T09:21:55Z",
                  "id": 8429,
                  "region": "CANADA-1",
                  "secret_key": "BprxAr9gRo3nVZkbfoFkssPnLr8viU76IQHcc8XD",
                  "user_id": 6190,
                  "description": "Example access key"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "access_key": "AK5V1JGJXWZW9XHGX49Z",
                      "created_at": "2026-05-07T09:21:55Z",
                      "id": 8429,
                      "region": "CANADA-1",
                      "secret_key": "BprxAr9gRo3nVZkbfoFkssPnLr8viU76IQHcc8XD",
                      "user_id": 6190,
                      "description": "Example access key"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/object_storage__ErrorResponse"
                },
                "examples": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "description": "Generates a new access key for interacting with the [**Object Storage**](https://docs.hyperstack.cloud/docs/storage/object-storage) service. Each access key consists of a unique `access_key` and a corresponding `secret_key`, scoped to a specific [**region**](https://docs.hyperstack.cloud/docs/resource-management/regions)."
      }
    },
    "/object-storage/access-keys/{access_key_id}": {
      "patch": {
        "tags": [
          "Access Keys"
        ],
        "summary": "Rename an access key",
        "operationId": "updateAccessKeyEndpoint",
        "parameters": [
          {
            "name": "access_key_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the access key. Call the [**List access keys**](https://docs.hyperstack.cloud/docs/api-reference/list-access-keys-endpoint) API to retrieve the `id` of an existing access key."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/object_storage__AccessKeyUpdateRequest"
              },
              "example": {
                "description": "training-data"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/object_storage__AccessKeyResponse"
                },
                "example": {
                  "region": "CANADA-1",
                  "description": "training-data",
                  "id": 4501,
                  "user_id": 1129,
                  "access_key": "AKW370C2J7Z47QL6SV22",
                  "created_at": "2026-05-07T11:47:30Z"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/object_storage__ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/object_storage__ErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {}
          }
        },
        "description": "Renames an existing access key in your [**Object Storage**](https://docs.hyperstack.cloud/docs/storage/object-storage) account. The name is stored in the access key's `description` field and appears in the **Name** column on the **Access Keys** page in the console. Renaming changes only the name, so the access key and its secret key keep working.\n\nOrganization owners can rename any access key in the organization. Members can rename only the access keys they created."
      },
      "delete": {
        "tags": [
          "Access Keys"
        ],
        "summary": "Remove an existing access key",
        "operationId": "deleteAccessKeyEndpoint",
        "parameters": [
          {
            "name": "access_key_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the access key."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/object_storage__DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/object_storage__ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/object_storage__ErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {}
          }
        },
        "description": "Deletes an existing access key from your [**Object Storage**](https://docs.hyperstack.cloud/docs/storage/object-storage) account. Once deleted, the access key can no longer be used to authenticate any object storage operations.\n\n**Access key deletion:** Deletion is immediate and disables every object-storage operation (upload, download, list) that depends on this key."
      }
    },
    "/object-storage/buckets": {
      "get": {
        "tags": [
          "Buckets"
        ],
        "summary": "List buckets",
        "operationId": "listBucketsEndpoint",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Filter results by case-insensitive substring match against the resource name."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/object_storage__BucketListResponse"
                },
                "example": {
                  "buckets": [],
                  "failed_regions": []
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "buckets": [],
                      "failed_regions": []
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "description": "Retrieve a list of all buckets in your [**Object Storage**](https://docs.hyperstack.cloud/docs/storage/object-storage) account, and provides details on each, including their name, region, size, and number of stored objects."
      }
    },
    "/object-storage/buckets/{bucket_name}": {
      "get": {
        "tags": [
          "Buckets"
        ],
        "summary": "Retrieve a bucket",
        "operationId": "retrieveBucketEndpoint",
        "parameters": [
          {
            "name": "bucket_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Name of the bucket."
          },
          {
            "name": "region",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Filter results to a specific region (e.g. `CANADA-1`, `NORWAY-1`)."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/object_storage__BucketResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {}
          }
        },
        "description": "Retrieves detailed metadata for a specific bucket in your [**Object Storage**](https://docs.hyperstack.cloud/docs/storage/object-storage) account by name, including region, creation timestamp, object count, and storage usage."
      },
      "delete": {
        "tags": [
          "Buckets"
        ],
        "summary": "Delete a bucket",
        "operationId": "deleteBucketEndpoint",
        "parameters": [
          {
            "name": "bucket_name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Name of the bucket."
          },
          {
            "name": "region",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Filter results to a specific region (e.g. `CANADA-1`, `NORWAY-1`)."
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/object_storage__DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/object_storage__ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/object_storage__ErrorResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {}
          }
        },
        "description": "Deletes a specific bucket from your [**Object Storage**](https://docs.hyperstack.cloud/docs/storage/object-storage) account.\n\n**Irreversible:** This action is irreversible and permanently removes the bucket and all stored objects within it."
      }
    },
    "/object-storage/healthz": {
      "get": {
        "tags": [
          "Health"
        ],
        "summary": "Object storage health check",
        "operationId": "healthzEndpoint",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/object_storage__HealthResponse"
                },
                "example": {
                  "status": "alive"
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": "alive"
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "description": "Returns the string `\"alive\"` when the object-storage service is reachable. This endpoint does not use the standard envelope; the response body is `{\"status\": \"alive\"}` with `status` as a string.\n\n> **Non-standard envelope:** This endpoint returns `{\"status\": \"alive\"}`, note that `status` is a string here, not a boolean as in other endpoints."
      }
    },
    "/object-storage/regions": {
      "get": {
        "tags": [
          "Regions"
        ],
        "summary": "Get a list of supported regions",
        "operationId": "listRegionsEndpoint",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/object_storage__RegionListResponse"
                },
                "example": {
                  "regions": [
                    {
                      "name": "CANADA-1"
                    }
                  ]
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "regions": [
                        {
                          "name": "CANADA-1"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "examples": {}
              }
            }
          }
        },
        "description": "Retrieve a list of supported [**Object Storage**](https://docs.hyperstack.cloud/docs/storage/object-storage) regions. These [**regions**](https://docs.hyperstack.cloud/docs/resource-management/regions) represent geographic data center locations where Object Storage resources can be provisioned and managed.\n\nFor a full list of all regions, including those that do not support Object Storage, see the [**List regions**](https://docs.hyperstack.cloud/docs/api-reference/list-regions) endpoint."
      }
    },
    "/auth/user-consent": {
      "get": {
        "tags": [
          "User Consent"
        ],
        "summary": "List consents",
        "description": "Return every consent decision on your account with its current granted or revoked status.",
        "operationId": "Get_All_Consents_for_a_User",
        "parameters": [
          {
            "name": "consent_type",
            "in": "query",
            "description": "Filter by consent type",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserConsentsResponse"
                },
                "example": {
                  "consents": [
                    {
                      "id": 2,
                      "user_id": 12345,
                      "org_id": 6789,
                      "consent_type": "auto_top_up",
                      "action": "revoked",
                      "ip_address": "203.0.113.10",
                      "consent_method": "web_checkbox",
                      "created_at": "2026-04-20T13:09:42",
                      "updated_at": "2026-04-20T17:05:18",
                      "latest_consent_version": "auto_top_up_v1",
                      "is_version_current": true
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        }
      },
      "post": {
        "tags": [
          "User Consent"
        ],
        "summary": "Record a consent",
        "description": "Submit a consent decision for a consent type, such as authorizing automatic top-ups.",
        "operationId": "Add_a_new_consent_for_a_User",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecordConsentRequest"
              },
              "example": {
                "consent_type": "auto_top_up",
                "action": "granted",
                "consent_method": "api",
                "metadata": {
                  "threshold_amount": 50,
                  "topup_amount": 50,
                  "payment_method_ref": "pm_1QexampleRef00"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Example response.",
            "content": {
              "application/json": {
                "example": {
                  "message": "Consent recorded",
                  "consent": {
                    "id": 28,
                    "user_id": 12345,
                    "org_id": 6789,
                    "consent_type": "auto_top_up",
                    "action": "granted",
                    "ip_address": "203.0.113.10",
                    "consent_method": "api",
                    "created_at": "2026-06-12T19:15:30",
                    "updated_at": "2026-06-12T19:15:30"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/ConsentActionResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "example": {
                  "status": false,
                  "message": "Metadata is required for auto_top_up",
                  "error_reason": "bad_request"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        }
      }
    },
    "/auth/user-consent/templates": {
      "get": {
        "tags": [
          "User Consent"
        ],
        "summary": "List consent templates",
        "description": "Return the current consent statement for every consent type, including its version and displayed text.",
        "operationId": "Get_all_consent_templates",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsentTemplatesResponse"
                },
                "example": {
                  "templates": {
                    "auto_top_up": {
                      "version": "auto_top_up_v1",
                      "blocks": [
                        {
                          "type": "text",
                          "text": "By confirming, when your remaining balance falls below ${threshold_amount}, your account will be automatically credited by ${topup_amount}. You authorize automatic charges to your payment method."
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          }
        }
      }
    },
    "/auth/user-consent/{consent_type}": {
      "patch": {
        "tags": [
          "User Consent"
        ],
        "summary": "Update a consent",
        "description": "Grant or revoke your consent for a given consent type.",
        "operationId": "Update_a_consent_action_by_type",
        "parameters": [
          {
            "name": "consent_type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The category of consent to act on, such as `auto_top_up`."
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateConsentRequest"
              },
              "example": {
                "action": "revoked",
                "metadata": {
                  "threshold_amount": 50,
                  "topup_amount": 50,
                  "payment_method_ref": "pm_1QexampleRef00"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsentUpdateResponse"
                },
                "example": {
                  "message": "Consent already revoked",
                  "consent": {
                    "id": 14,
                    "user_id": 12345,
                    "org_id": 6789,
                    "consent_type": "auto_top_up",
                    "action": "revoked",
                    "ip_address": "203.0.113.10",
                    "consent_method": "web_checkbox",
                    "created_at": "2026-04-23T15:24:42",
                    "updated_at": "2026-05-08T18:01:19"
                  },
                  "changed": false
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        }
      }
    },
    "/auth/user-consent/templates/{consent_type}": {
      "get": {
        "tags": [
          "User Consent"
        ],
        "summary": "Retrieve a consent template",
        "description": "Return the current consent statement for a single consent type.",
        "operationId": "Get_consent_template_by_type",
        "parameters": [
          {
            "name": "consent_type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The category of consent to act on, such as `auto_top_up`."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsentTemplate"
                },
                "example": {
                  "version": "auto_top_up_v1",
                  "blocks": [
                    {
                      "type": "text",
                      "text": "By confirming, when your remaining balance falls below ${threshold_amount}, your account will be automatically credited by ${topup_amount}. You authorize automatic charges to your payment method."
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          }
        }
      }
    },
    "/auth/user-consent-events/{consent_type}/events": {
      "get": {
        "tags": [
          "User Consent"
        ],
        "summary": "List consent history",
        "description": "Return the timeline of grant and revoke events for a consent type.",
        "operationId": "Get_consent_audit_events",
        "parameters": [
          {
            "name": "consent_type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The category of consent to act on, such as `auto_top_up`."
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsentEventsResponse"
                },
                "example": {
                  "consent": {
                    "id": 2,
                    "user_id": 12345,
                    "org_id": 6789,
                    "consent_type": "auto_top_up",
                    "action": "revoked",
                    "ip_address": "203.0.113.10",
                    "consent_method": "web_checkbox",
                    "created_at": "2026-04-20T13:09:42",
                    "updated_at": "2026-04-20T17:05:18"
                  },
                  "events": [
                    {
                      "id": 5,
                      "consent_id": 2,
                      "user_id": 12345,
                      "action": "revoked",
                      "ip_address": "203.0.113.10",
                      "consent_method": "web_checkbox",
                      "created_at": "2026-04-20T17:05:18"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          }
        }
      }
    },
    "/billing/billing/history/image_generation": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "List image-generation billing history",
        "description": "Returns billing history of image generation for the specified billing cycle.",
        "operationId": "Get_image_generation_billing_history",
        "security": [
          {
            "apiKey": []
          }
        ],
        "parameters": [
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search by resource \"Name\" or \"ID\".",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Number of items to return per page.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Page number.",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageGenerationListBillingHistoryResponse"
                },
                "example": {
                  "success": true,
                  "message": "Billing History for Image Generation Retrieved Successfully.",
                  "billing_history_image_generation": {
                    "billing_history": [
                      {
                        "attributes": {
                          "infrahub_id": 2673387263,
                          "resource_name": "Inference Request 652803",
                          "status": "",
                          "base_model": "HiDream-ai/HiDream-I1-Fast",
                          "base_model_display_name": "HiDream-I1-Fast",
                          "lora_adapter": ""
                        },
                        "metrics": {
                          "incurred_bill": 1.0483968e-8,
                          "non_discounted_bill": 1.0483968e-8,
                          "input_tokens": null,
                          "input_tokens_incurred_bill": null,
                          "input_tokens_non_discounted_bill": null,
                          "output_tokens": 4015,
                          "output_tokens_incurred_bill": 1.0483968e-8,
                          "output_tokens_non_discounted_bill": 1.0483968e-8
                        }
                      }
                    ],
                    "org_id": 4205,
                    "total_count": 14,
                    "pagination": {
                      "page": 1,
                      "per_page": 10,
                      "pages": 2,
                      "total_count": 14
                    }
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "success": true,
                      "message": "Billing History for Image Generation Retrieved Successfully.",
                      "billing_history_image_generation": {
                        "billing_history": [
                          {
                            "attributes": {
                              "infrahub_id": 2673387263,
                              "resource_name": "Inference Request 652803",
                              "status": "",
                              "base_model": "HiDream-ai/HiDream-I1-Fast",
                              "base_model_display_name": "HiDream-I1-Fast",
                              "lora_adapter": ""
                            },
                            "metrics": {
                              "incurred_bill": 1.0483968e-8,
                              "non_discounted_bill": 1.0483968e-8,
                              "input_tokens": null,
                              "input_tokens_incurred_bill": null,
                              "input_tokens_non_discounted_bill": null,
                              "output_tokens": 4015,
                              "output_tokens_incurred_bill": 1.0483968e-8,
                              "output_tokens_non_discounted_bill": 1.0483968e-8
                            }
                          }
                        ],
                        "org_id": 4205,
                        "total_count": 14,
                        "pagination": {
                          "page": 1,
                          "per_page": 10,
                          "pages": 2,
                          "total_count": 14
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        }
      }
    },
    "/billing/billing/history/image_generation/{resource_id}": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Get image-generation billing history for a resource",
        "description": "Returns detailed billing history for a specific image generation resource, including token usage and costs.",
        "operationId": "Get_resource_image_generation_billing_history",
        "security": [
          {
            "apiKey": []
          }
        ],
        "parameters": [
          {
            "name": "resource_id",
            "in": "path",
            "required": true,
            "description": "ID of the image-generation resource. Call the [**List image-generation billing history**](https://docs.hyperstack.cloud/docs/api-reference/get-image-generation-billing-history) API to retrieve the `id` of an existing image-generation resource.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageGenerationBillingHistoryDetailsResponseSchema"
                },
                "example": {
                  "status": true,
                  "message": "Biling Details  for the Image Generation Retrieved Successfully.",
                  "billing_history_image_generation_details": {
                    "org_id": 4205,
                    "billing_history": [
                      {
                        "attributes": {
                          "base_model": "HiDream-ai/HiDream-I1-Fast",
                          "base_model_display_name": "HiDream-I1-Fast",
                          "id": "f7440ed7-7e01-56dc-b92e-4922507ddd08",
                          "infrahub_id": 2673387263,
                          "lora_adapter": "",
                          "resource_name": "Inference Request 652803"
                        },
                        "metrics": {
                          "incurred_bill": 1.0483968e-8,
                          "non_discounted_bill": 1.0483968e-8,
                          "output_tokens": 4015,
                          "output_tokens_incurred_bill": 1.0483968e-8,
                          "output_tokens_non_discounted_bill": 1.0483968e-8
                        }
                      }
                    ],
                    "total_count": 1
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Biling Details  for the Image Generation Retrieved Successfully.",
                      "billing_history_image_generation_details": {
                        "org_id": 4205,
                        "billing_history": [
                          {
                            "attributes": {
                              "base_model": "HiDream-ai/HiDream-I1-Fast",
                              "base_model_display_name": "HiDream-I1-Fast",
                              "id": "f7440ed7-7e01-56dc-b92e-4922507ddd08",
                              "infrahub_id": 2673387263,
                              "lora_adapter": "",
                              "resource_name": "Inference Request 652803"
                            },
                            "metrics": {
                              "incurred_bill": 1.0483968e-8,
                              "non_discounted_bill": 1.0483968e-8,
                              "output_tokens": 4015,
                              "output_tokens_incurred_bill": 1.0483968e-8,
                              "output_tokens_non_discounted_bill": 1.0483968e-8
                            }
                          }
                        ],
                        "total_count": 1
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        }
      }
    },
    "/billing/billing/history/image_generation/{resource_id}/graph": {
      "get": {
        "tags": [
          "Billing"
        ],
        "summary": "Get image-generation hourly cost datapoints",
        "description": "Returns hourly cost datapoints for an image generation resource for a specified billing cycle.",
        "operationId": "Get_image_generation_billing_history_graph",
        "security": [
          {
            "apiKey": []
          }
        ],
        "parameters": [
          {
            "name": "resource_id",
            "in": "path",
            "required": true,
            "description": "ID of the image-generation resource. Call the [**List image-generation billing history**](https://docs.hyperstack.cloud/docs/api-reference/get-image-generation-billing-history) API to retrieve the `id` of an existing image-generation resource.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "required": true,
            "description": "Date should be formatted in YYYY-MM-DDTHH:MM:SS",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageGenerationBillingHistoryDetailsResponseSchema"
                },
                "example": {
                  "status": true,
                  "message": "Biling Details Hourly Cost datapoints for the Image Generation Retrieved Successfully.",
                  "billing_history_image_generation_details": {
                    "org_id": 4205,
                    "billing_history": [
                      {
                        "attributes": {
                          "base_model": "HiDream-ai/HiDream-I1-Fast",
                          "base_model_display_name": "HiDream-I1-Fast",
                          "id": "f7440ed7-7e01-56dc-b92e-4922507ddd08",
                          "infrahub_id": 2673387263,
                          "lora_adapter": "",
                          "resource_name": "Inference Request 652803"
                        },
                        "metrics": {
                          "output_tokens": 4015,
                          "output_tokens_graph": [
                            {
                              "datetime": "2026-06-11 00:00:00",
                              "value": 4015
                            }
                          ],
                          "total_tokens_graph": [
                            {
                              "datetime": "2026-06-11 00:00:00",
                              "value": 4015
                            }
                          ]
                        }
                      }
                    ],
                    "total_count": 1,
                    "granularity": 86400
                  }
                },
                "examples": {
                  "default": {
                    "summary": "Successful response",
                    "value": {
                      "status": true,
                      "message": "Biling Details Hourly Cost datapoints for the Image Generation Retrieved Successfully.",
                      "billing_history_image_generation_details": {
                        "org_id": 4205,
                        "billing_history": [
                          {
                            "attributes": {
                              "base_model": "HiDream-ai/HiDream-I1-Fast",
                              "base_model_display_name": "HiDream-I1-Fast",
                              "id": "f7440ed7-7e01-56dc-b92e-4922507ddd08",
                              "infrahub_id": 2673387263,
                              "lora_adapter": "",
                              "resource_name": "Inference Request 652803"
                            },
                            "metrics": {
                              "output_tokens": 4015,
                              "output_tokens_graph": [
                                {
                                  "datetime": "2026-06-11 00:00:00",
                                  "value": 4015
                                }
                              ],
                              "total_tokens_graph": [
                                {
                                  "datetime": "2026-06-11 00:00:00",
                                  "value": 4015
                                }
                              ]
                            }
                          }
                        ],
                        "total_count": 1,
                        "granularity": 86400
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        }
      }
    },
    "/auth/email/opt-out": {
      "get": {
        "tags": [
          "Email Preferences"
        ],
        "summary": "List email preferences",
        "description": "Returns every email category on your account together with your current opt-in status.\n\nCategories are returned as a tree. Each parent category carries a `childs` array holding the individual notifications it groups, and a category with no children returns an empty `childs` array. Pass a category's `slug` to the [**Update an email preference**](https://docs.hyperstack.cloud/docs/api-reference/update-email-preference) API to change it.\n\nCategories marked `required: true` cover critical system, contract, and payment notifications. You cannot opt out of them. A category you have never changed defaults to `opted_in: true`.",
        "operationId": "List_email_preferences",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailPreferencesResponse"
                },
                "example": {
                  "email_categories": [
                    {
                      "slug": "system-alerts",
                      "display_name": "System Alerts",
                      "description": "Critical notifications about system-wide issues or maintenance.",
                      "required": true,
                      "position": 10,
                      "icon": "shield-exclamation",
                      "opted_in": true,
                      "childs": []
                    },
                    {
                      "slug": "payment-and-billing",
                      "display_name": "Payment & Billing",
                      "description": "Invoices, payment confirmations, and billing updates.",
                      "required": false,
                      "position": 30,
                      "icon": "credit-card",
                      "opted_in": true,
                      "childs": [
                        {
                          "email_category_id": 8,
                          "slug": "payment-confirmation",
                          "display_name": "Payment confirmation",
                          "description": "Receive an email when a payment is processed.",
                          "required": true,
                          "position": 31,
                          "icon": null,
                          "opted_in": true
                        },
                        {
                          "email_category_id": 9,
                          "slug": "credit-usage-alert-6h",
                          "display_name": "Credit usage alert - 6 hours remaining",
                          "description": "Get notified when your credit has 6 hours remaining.",
                          "required": false,
                          "position": 32,
                          "icon": null,
                          "opted_in": true
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "example": {
                  "status": false,
                  "message": "Unauthorized",
                  "error_reason": "unauthorized"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        }
      },
      "put": {
        "tags": [
          "Email Preferences"
        ],
        "summary": "Toggle all optional email preferences",
        "description": "Sets the same opt-in value for every optional email category on your account.\n\nSend `opted_in: false` to pause every optional notification at once, or `opted_in: true` to resume them. Required categories are not affected and stay opted in. This is the API equivalent of the **All Optional Notifications** switch in the console.",
        "operationId": "Toggle_all_email_preferences",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEmailPreferenceInput"
              },
              "example": {
                "opted_in": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateEmailPreferenceResponse"
                },
                "example": {
                  "message": "Optional email preferences updated successfully"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "example": {
                  "errors": {
                    "opted_in": "'opted_in' is a required property"
                  },
                  "message": "Input payload validation failed"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "example": {
                  "status": false,
                  "message": "Unauthorized",
                  "error_reason": "unauthorized"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        }
      }
    },
    "/auth/email/opt-out/{slug}": {
      "put": {
        "tags": [
          "Email Preferences"
        ],
        "summary": "Update an email preference",
        "description": "Turns a single email category on or off.\n\nIf the slug belongs to a parent category, every child notification grouped under it is updated to the same value. If the slug belongs to a child notification, only that notification changes.\n\nYou cannot opt out of a required category. Updating one returns `400` with the message `Cannot update a required email category`, whether you send `opted_in: true` or `false`.",
        "operationId": "Update_email_preference",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "Slug of the email category. Call the [**List email preferences**](https://docs.hyperstack.cloud/docs/api-reference/list-email-preferences) API to retrieve the `slug` of an existing category.",
            "schema": {
              "type": "string"
            },
            "example": "credit-usage-alert-48h"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEmailPreferenceInput"
              },
              "example": {
                "opted_in": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateEmailPreferenceResponse"
                },
                "example": {
                  "message": "Email preferences updated successfully"
                }
              }
            }
          },
          "400": {
            "description": "The category is required and cannot be changed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateEmailPreferenceResponse"
                },
                "example": {
                  "message": "Cannot update a required email category"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                },
                "example": {
                  "status": false,
                  "message": "Unauthorized",
                  "error_reason": "unauthorized"
                }
              }
            }
          },
          "404": {
            "description": "Email category not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateEmailPreferenceResponse"
                },
                "example": {
                  "message": "Email category not found"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {}
          }
        }
      }
    },
    "/core/virtual-machines/{vm_id}/enhanced-metrics": {
      "patch": {
        "tags": [
          "Virtual Machine"
        ],
        "summary": "Update Enhanced Monitoring for a virtual machine",
        "description": "Turn Enhanced Monitoring on or off for an existing virtual machine. Enabling records your intent and returns a one-line `install_command`; run that command inside the virtual machine to install the monitoring agent, which is what actually starts metrics collection. Disabling stops collection and omits `install_command` from the response, and leaves the agent installed so it resumes if you enable it again. Enhanced Monitoring requires a Linux image running systemd. For what the agent collects and how to read the metrics, see [**Enhanced Monitoring**](https://docs.hyperstack.cloud/docs/virtual-machines/enhanced-monitoring).",
        "operationId": "update_enhanced_monitoring_for_a_virtual_machine",
        "parameters": [
          {
            "name": "vm_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "description": "ID of the vm. Call the [**List virtual machines**](https://docs.hyperstack.cloud/docs/api-reference/list-vms) API to retrieve the `id` of an existing virtual machine."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Enhanced_Monitoring_Payload"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Enhanced metrics updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Enhanced_Monitoring_Response"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "Volumes": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting volumes successful"
          },
          "page": {
            "type": "integer",
            "description": "1-indexed page number of the current result set.",
            "nullable": true
          },
          "page_size": {
            "type": "integer",
            "description": "Number of items per page in the current result set.",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "description": "Number of items returned in the current page.",
            "example": 5
          },
          "volumes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Volumes_Fields"
            },
            "description": "Whether the region supports persistent volumes."
          }
        }
      },
      "Profile_Object_Fields": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the provisioning profile."
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of the resource."
          }
        }
      },
      "GetCustomerContractsListResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting customer contracts list successful"
          },
          "contracts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerContractFields"
            },
            "description": "Customer contracts on the account."
          },
          "count": {
            "type": "integer",
            "description": "Number of items returned in the current page.",
            "example": 0
          }
        }
      },
      "CreateFirewallPayload": {
        "required": [
          "environment_id",
          "name"
        ],
        "type": "object",
        "properties": {
          "environment_id": {
            "type": "integer",
            "description": "ID of the [**environment**](https://docs.hyperstack.cloud/docs/resource-management/environments) within which the firewall is created."
          },
          "name": {
            "type": "string",
            "description": "Name of the firewall. Maximum length: 50 characters."
          },
          "description": {
            "type": "string",
            "description": "Optional description of the firewall."
          }
        }
      },
      "CompatibleFlavor": {
        "type": "object",
        "properties": {
          "flavor_id": {
            "type": "integer",
            "description": "Identifier of the flavor, see [List flavors](https://docs.hyperstack.cloud/docs/api-reference/list-flavors)."
          },
          "flavor_name": {
            "type": "string",
            "description": "Name of the flavor (machine type), see [List flavors](https://docs.hyperstack.cloud/docs/api-reference/list-flavors)."
          },
          "link_type": {
            "type": "string",
            "description": "Either 'hard' or 'soft'."
          },
          "constraints": {
            "type": "object",
            "properties": {},
            "description": "JSON constraints object."
          },
          "reason": {
            "type": "string",
            "description": "Human-readable reason the operation was rejected."
          }
        }
      },
      "Attach_Callback_Response": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Callback URL successfully attached to VM 'example-vm'. Any action events on your instance will be posted to the provided URL."
          },
          "url": {
            "type": "string",
            "description": "Webhook URL Hyperstack calls when the resource changes state.",
            "example": "https://example.com/example-webhook"
          }
        }
      },
      "OrganizationLevelBillingHistoryResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Biling History Retrieved Successfully."
          },
          "billing_history": {
            "$ref": "#/components/schemas/OrganizationLevelBillingHistory",
            "description": "Billing history entries for the resource."
          }
        }
      },
      "OrganizationLevelBillingHistoryResponseAttributes": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifier of the organization billing record.",
            "example": "f3a91c44-7b2e-49d7-a16d-5c3e8d9a0b21"
          }
        }
      },
      "UpdateOrganizationResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          }
        }
      },
      "SubResourcesGraphResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Billing Details Sub-Resources Historical Cost datapoints for the Virtual Machine Sub Resource Retrieved Successfully."
          },
          "sub_resources_costs": {
            "$ref": "#/components/schemas/SubResourcesCostsResponseModel",
            "description": "Per-sub-resource cost breakdown (GPU, CPU, RAM, disk, public IP) over the requested period."
          }
        }
      },
      "Create_Cluster_Payload": {
        "required": [
          "environment_name",
          "keypair_name",
          "kubernetes_version",
          "master_flavor_name",
          "name"
        ],
        "type": "object",
        "properties": {
          "environment_name": {
            "type": "string",
            "description": "Name of the environment containing the resource."
          },
          "keypair_name": {
            "type": "string",
            "description": "Name of the SSH keypair attached to the VM."
          },
          "kubernetes_version": {
            "type": "string",
            "description": "Kubernetes version installed on the cluster."
          },
          "master_flavor_name": {
            "type": "string",
            "description": "Flavor used for the master nodes."
          },
          "name": {
            "type": "string",
            "maxLength": 20,
            "description": "Name of the Kubernetes cluster."
          },
          "master_count": {
            "maximum": 3,
            "minimum": 2,
            "type": "integer",
            "description": "Minimum master count is 2; 1 is rejected."
          },
          "node_count": {
            "type": "integer",
            "description": "Total number of worker nodes in the cluster."
          },
          "node_flavor_name": {
            "type": "string",
            "description": "Flavor used for the worker nodes."
          },
          "deployment_mode": {
            "type": "string",
            "example": "full",
            "default": "full",
            "enum": [
              "full",
              "standard"
            ],
            "description": "Cluster deployment mode (single-node, HA, etc.)."
          },
          "node_groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Create_ClusterNodeGroup_payload"
            },
            "description": "Worker-node groups in the cluster."
          }
        }
      },
      "GetApiKeysResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting API Keys success"
          },
          "api_keys": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApiKeyFields"
            },
            "description": "List of API keys belonging to the organization."
          }
        }
      },
      "ResourceObjectResponseForCustomer": {
        "type": "object",
        "properties": {
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization that owns the resource."
          },
          "resource": {
            "$ref": "#/components/schemas/InfrahubResourceObjectResponseForCustomer",
            "description": "Resource the entry refers to."
          }
        }
      },
      "New_Stock_Retrive_Response": {
        "type": "object",
        "properties": {
          "stocks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/New_Stock_Response"
            },
            "description": "List of GPU stock availability records per region and flavor."
          }
        }
      },
      "MFAStatusResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "MFA status retrieved successfully"
          },
          "mfa": {
            "$ref": "#/components/schemas/MFAStatusFields",
            "description": "Multi-factor authentication status for the user."
          }
        }
      },
      "Regions": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting regions successful."
          },
          "regions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Region_Fields"
            },
            "description": "Regions where the resource is available."
          }
        }
      },
      "NameAvailableModel": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Resource name to check for availability.",
            "example": "example-availability-check"
          },
          "available": {
            "type": "boolean",
            "description": "Whether stock is currently available.",
            "example": false
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Name must not exceed 20 characters"
          }
        }
      },
      "ResourceLevelVolumeGraphBillingDetailsResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Biling Details Hourly Cost datapointsfor the Volume Retrieved Successfully."
          },
          "billing_history_snapshot_details": {
            "$ref": "#/components/schemas/ResourceLevelGraphBillingDetailVolume",
            "description": "Detailed snapshot billing records for the requested period."
          }
        }
      },
      "Environments": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting environments successful"
          },
          "environments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Environment_Fields"
            },
            "description": "An array of objects each containing details about an environment."
          },
          "page": {
            "type": "integer",
            "description": "1-indexed page number of the current result set.",
            "nullable": true
          },
          "page_size": {
            "type": "integer",
            "description": "Number of items per page in the current result set.",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "description": "Number of items returned in the current page.",
            "example": 11
          }
        }
      },
      "Payment_Initiate_Response": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          },
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "data": {
            "$ref": "#/components/schemas/Payment_Initiate_Fields",
            "description": "Details of the initiated payment."
          }
        }
      },
      "Create_ClusterNodeGroup_payload": {
        "required": [
          "flavor_name",
          "name",
          "role"
        ],
        "type": "object",
        "properties": {
          "flavor_name": {
            "type": "string",
            "description": "Name of the flavor (machine type), see [List flavors](https://docs.hyperstack.cloud/docs/api-reference/list-flavors)."
          },
          "name": {
            "maxLength": 20,
            "type": "string",
            "description": "Name of the cluster node group."
          },
          "role": {
            "type": "string",
            "example": "worker",
            "default": "worker",
            "enum": [
              "worker"
            ],
            "description": "Role assigned to the user."
          },
          "count": {
            "minimum": 1,
            "type": "integer",
            "description": "Number of items returned in the current page."
          },
          "min_count": {
            "minimum": 1,
            "type": "integer",
            "description": "Minimum number of nodes the group will scale down to."
          },
          "max_count": {
            "maximum": 20,
            "type": "integer",
            "description": "Maximum number of nodes the group will scale up to."
          },
          "firewall_ids": {
            "type": "array",
            "description": "IDs of the firewalls to apply to all nodes in this node group.",
            "items": {
              "type": "integer"
            }
          }
        }
      },
      "Image_Get_Response": {
        "type": "object",
        "properties": {
          "region_name": {
            "type": "string",
            "description": "Region the resource is in (for example, `NORWAY-1`, `CANADA-1`, `US-1`).",
            "example": "US-1"
          },
          "type": {
            "type": "string",
            "description": "Type of the image.",
            "example": "Ubuntu"
          },
          "logo": {
            "type": "string",
            "example": "https://api.nexgencloud.com:8080/hyperstack-os-logos/ubuntu.svg",
            "description": "URL to a logo representing the image type."
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Image_Fields"
            },
            "description": "OS images available for VM deployment."
          }
        }
      },
      "Volume_Attachment_Fields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier."
          },
          "volume": {
            "$ref": "#/components/schemas/Volume_Fields_for_Instance",
            "description": "Volume attached to the resource."
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource.",
            "example": "ATTACHING"
          },
          "device": {
            "type": "string",
            "description": "Device path the volume is attached at on the VM (for example, `/dev/sdb`).",
            "example": "/dev/disk/by-id/virtio-a66fd1a8-e198-4eb4-a"
          },
          "protected": {
            "type": "boolean",
            "description": "When `true`, the resource cannot be deleted while protection is enabled.",
            "example": false
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-06T16:04:09Z"
          }
        }
      },
      "AssignRbacRolePayload": {
        "required": [
          "role_id"
        ],
        "type": "object",
        "properties": {
          "role_id": {
            "type": "integer",
            "description": "ID of the RBAC role to assign to the organization member."
          }
        }
      },
      "Billing_metrices_fields": {
        "type": "object",
        "properties": {
          "resource_id": {
            "type": "integer",
            "description": "Identifier of the resource the entry refers to.",
            "example": 1129
          },
          "resource_type": {
            "type": "string",
            "description": "Type of resource the limit applies to, one of `CPU`, `HDD`, `RAM`.",
            "example": "volume"
          },
          "name": {
            "type": "string",
            "description": "Name of the billing metric.",
            "example": "example-volume"
          },
          "organization_id": {
            "type": "integer",
            "description": "Identifier of the organization.",
            "example": 6190
          },
          "bill_per_minute": {
            "type": "number",
            "example": 0.000016129033333333334,
            "description": "The current billing rate per minute for the resource. If the resource has been terminated a `null` value will be returned."
          },
          "create_time": {
            "type": "string",
            "format": "date-time",
            "example": "2026-05-06T16:04:09Z",
            "description": "The timestamp when the resource was created."
          },
          "terminate_time": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "description": "The timestamp when the resource was terminated."
          },
          "total_up_time": {
            "type": "number",
            "example": 37,
            "description": "The total uptime of the resource in minutes."
          },
          "total_bill": {
            "type": "number",
            "example": 0.0007978495155555552,
            "description": "The total cost incurred by the resource."
          },
          "active": {
            "type": "boolean",
            "example": true,
            "description": "Indicates whether the resource is currently active. `false` indicates that the resource is not active, while `true` indicates that it is."
          },
          "exclude_billing": {
            "type": "boolean",
            "example": false,
            "description": "Indicates whether the resource is excluded from billing. `false` indicates that the resource is not excluded, while `true` indicates that it is."
          }
        }
      },
      "Profile_List_Response": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting profiles success."
          },
          "profiles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Profile_Fields"
            },
            "description": "List of provisioning profiles available to the user."
          }
        }
      },
      "PricebookModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier."
          },
          "name": {
            "type": "string",
            "description": "Name of the pricebook entry."
          },
          "value": {
            "type": "number",
            "description": "Value of the entry."
          },
          "original_value": {
            "type": "number",
            "description": "Original price value for the resource per hour before any discounts."
          },
          "discount_applied": {
            "type": "boolean",
            "description": "Indicates whether a discount has been applied to the resource price."
          },
          "start_time": {
            "type": "string",
            "format": "date-time",
            "description": "Start time for the pricing. The `null` when there is no specified start time.",
            "default": "is"
          },
          "end_time": {
            "type": "string",
            "format": "date-time",
            "description": "The end time for the pricing. The `null` when there is no specified end time.",
            "default": "is"
          }
        }
      },
      "region": {
        "type": "object"
      },
      "GPU_Fields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 5341
          },
          "name": {
            "type": "string",
            "description": "Name of the GPU model.",
            "example": "RTX-A4000"
          },
          "regions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GPU_Region_Fields"
            },
            "description": "Regions where the resource is available."
          },
          "example_metadata": {
            "type": "string",
            "example": "{\"pci_passthrough:alias\": \"RTX-A4000:4\"}",
            "description": "Example metadata illustrating the format of GPU-specific attributes."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-06T14:32:11Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was last modified.",
            "nullable": true
          }
        }
      },
      "InstanceResizePayload": {
        "type": "object",
        "properties": {
          "flavor_name": {
            "type": "string",
            "description": "Name of the flavor (machine type), see [List flavors](https://docs.hyperstack.cloud/docs/api-reference/list-flavors)."
          },
          "flavor": {
            "$ref": "#/components/schemas/Flavor_Object_Fields",
            "description": "GPU and CPU configuration of the virtual machine."
          }
        }
      },
      "Overview_Info": {
        "type": "object",
        "properties": {
          "instance": {
            "$ref": "#/components/schemas/Instance_Overview_Fields",
            "description": "Virtual machine the entry refers to."
          },
          "volume": {
            "$ref": "#/components/schemas/Volume_Overview_Fields",
            "description": "Volume attached to the resource."
          }
        }
      },
      "ResourceLevelClusterGraphBillingDetailsResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          },
          "billing_history_cluster_details": {
            "$ref": "#/components/schemas/ResourceLevelGraphBillingDetailVolume",
            "description": "Detailed Kubernetes cluster billing records for the requested period."
          }
        }
      },
      "OrganizationFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 6190
          },
          "name": {
            "type": "string",
            "description": "Name of the organization.",
            "example": "Example Organization"
          },
          "credit": {
            "type": "integer",
            "description": "Available account credit."
          },
          "threshold": {
            "type": "integer",
            "description": "Spending threshold above which the alert is triggered."
          },
          "total_instances": {
            "type": "integer",
            "description": "Total number of virtual machines in the organization."
          },
          "total_volumes": {
            "type": "integer",
            "description": "Total number of volumes in the organization."
          },
          "total_containers": {
            "type": "integer",
            "description": "Total number of containers in the organization."
          },
          "total_clusters": {
            "type": "integer",
            "description": "Total number of Kubernetes clusters in the organization."
          },
          "users": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrganizationUserResponseModel"
            },
            "description": "An array containing information about the organization's members."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-07T09:21:55Z"
          }
        }
      },
      "GetRbacRolesResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting RBAC roles success"
          },
          "roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RbacRoleFields"
            },
            "description": "An array of `roles` objects containing details about the permissions and policies associated with each role."
          }
        }
      },
      "Snapshots": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Successfully retrieved Snapshots"
          },
          "snapshots": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SnapshotFields"
            },
            "description": "An array of `snapshots` objects, each containing details about a snapshot."
          },
          "count": {
            "type": "integer",
            "description": "Number of items returned in the current page.",
            "example": 0
          },
          "page": {
            "type": "integer",
            "description": "1-indexed page number of the current result set.",
            "nullable": true
          },
          "page_size": {
            "type": "integer",
            "description": "Number of items per page in the current result set.",
            "nullable": true
          }
        }
      },
      "object_storage__RegionListResponse": {
        "title": "RegionListResponse",
        "type": "object",
        "properties": {
          "regions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/object_storage__RegionResponse"
            },
            "description": "Regions where the resource is available."
          }
        }
      },
      "SnapshotRestoreRequest": {
        "required": [
          "new_vm_name"
        ],
        "type": "object",
        "properties": {
          "new_vm_name": {
            "type": "string",
            "description": "The name of the newly restored VM."
          },
          "contract_id": {
            "type": "integer",
            "description": "Contract ID to assign to the newly restored VM."
          }
        }
      },
      "ResourceLevelBucketBillingHistoryResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": false
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Billing History for Bucket Retrieved Successfully."
          },
          "billing_history_bucket": {
            "$ref": "#/components/schemas/ResourceLevelBillingHistory",
            "description": "Object storage bucket billing records for the requested period."
          }
        }
      },
      "ResourceLevelBillingDetailsVolume": {
        "type": "object",
        "properties": {
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization that owns the resource.",
            "example": 4501
          },
          "billing_history": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceLevelBillingVolumeDetailsResources"
            },
            "description": "Billing history entries for the resource."
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of items across all pages of this result set.",
            "example": 1
          }
        }
      },
      "AllocatedGPUCountGraph": {
        "type": "object",
        "properties": {
          "datetime": {
            "type": "string",
            "description": "ISO 8601 UTC timestamp."
          },
          "value": {
            "type": "integer",
            "description": "Value of the entry."
          }
        }
      },
      "object_storage__BucketListResponse": {
        "title": "BucketListResponse",
        "type": "object",
        "properties": {
          "buckets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/object_storage__BucketResponse"
            },
            "description": "Buckets visible to the calling environment."
          },
          "failed_regions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Regions whose object-storage tier could not be reached during this list call."
          }
        }
      },
      "Volume_Types": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Retrieved Volume Types."
          },
          "volume_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "An array containing the names of volume types that can be used in the `volume_type` field in the request to [**create volumes**](https://docs.hyperstack.cloud/docs/api-reference/create-volume)."
          }
        }
      },
      "ResourceBillingEventsHistoryResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "volume 38180 Billing Events History Retrieved Successfully."
          },
          "billing_events_history": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceBillingEventsHistoryMetrics"
            },
            "description": "Chronological list of billing events for the resource."
          }
        }
      },
      "ResourceLevelBillingHistoryResourcesCluster": {
        "type": "object",
        "properties": {
          "attributes": {
            "$ref": "#/components/schemas/ResourceLevelBillingHistoryResponseAttributes",
            "description": "Additional resource attributes."
          },
          "metrics": {
            "$ref": "#/components/schemas/ResourceLevelBillingHistoryResponseMetrics",
            "description": "Resource utilisation metrics."
          },
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceLevelBillingHistoryResources"
            },
            "description": "Nodes currently in the cluster."
          }
        }
      },
      "ClusterResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Cluster created successfully"
          },
          "cluster": {
            "$ref": "#/components/schemas/ClusterFields",
            "description": "Kubernetes cluster."
          }
        }
      },
      "Dashboard_Info_Response": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting dashboard info success"
          },
          "overview": {
            "$ref": "#/components/schemas/Overview_Info",
            "description": "An object containing an overview of running resources, including virtual machines and volumes."
          }
        }
      },
      "Update_ClusterNodeGroup_payload": {
        "type": "object",
        "properties": {
          "min_count": {
            "minimum": 1,
            "type": "integer",
            "description": "Minimum number of worker nodes the node group can scale down to during autoscaling. Defaults to the number of worker nodes initially deployed in the node group."
          },
          "max_count": {
            "maximum": 20,
            "type": "integer",
            "description": "Maximum number of worker nodes the node group can scale up to during autoscaling. Defaults to the number of worker nodes initially deployed in the node group."
          },
          "firewall_ids": {
            "type": "array",
            "description": "IDs of the firewalls to apply to all nodes in this node group.",
            "items": {
              "type": "integer"
            }
          }
        }
      },
      "ErrorResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "default": false,
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          },
          "error_reason": {
            "type": "string",
            "description": "Short machine-readable reason code when the request fails."
          }
        }
      },
      "AuthUserFields": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "User email address.",
            "example": "user@example.com"
          },
          "name": {
            "type": "string",
            "description": "Full name of the user.",
            "example": "Jane Doe"
          },
          "username": {
            "type": "string",
            "description": "Username used to log in.",
            "example": "Jane Doe"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-07T11:47:30Z"
          }
        }
      },
      "AuthUserInfoResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Auth user"
          },
          "user": {
            "$ref": "#/components/schemas/AuthUserFields",
            "description": "An object containing user account details."
          }
        }
      },
      "billing_history_model_evalutation_details": {
        "type": "object",
        "properties": {
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization that owns the resource."
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of items across all pages of this result set."
          },
          "pagination": {
            "$ref": "#/components/schemas/pagination",
            "description": "Pagination metadata: current page, page size, and total count."
          },
          "billing_history": {
            "type": "array",
            "description": "Billing history entries for the resource.",
            "items": {
              "$ref": "#/components/schemas/billing_history"
            }
          }
        }
      },
      "GetInvitesResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting invites successful"
          },
          "invites": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InviteFields"
            },
            "description": "An array of objects containing details about invitations that have been sent."
          }
        }
      },
      "ResourceLevelGraphBillingDetailsBucket": {
        "type": "object",
        "properties": {
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization that owns the resource."
          },
          "billing_history": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceLevelBillingBucketDetailsResources"
            },
            "description": "Billing history entries for the resource."
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of items across all pages of this result set."
          },
          "granularity": {
            "type": "integer",
            "description": "Time bucket size, in seconds, for the data points returned."
          }
        }
      },
      "OrganizationLevelBillingHistoryResources": {
        "type": "object",
        "properties": {
          "attributes": {
            "$ref": "#/components/schemas/OrganizationLevelBillingHistoryResponseAttributes",
            "description": "Additional resource attributes."
          },
          "metrics": {
            "$ref": "#/components/schemas/OrganizationLevelBillingHistoryResponseMetrics",
            "description": "Resource utilisation metrics."
          }
        }
      },
      "UserDefaultChoicesForUserResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting user default choices success"
          },
          "user_default_choices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserDefaultChoiceForUserFields"
            },
            "description": "List of the user for keypair, flavor, and image.",
            "default": "selections"
          }
        }
      },
      "object_storage__AccessKeyCreateRequest": {
        "title": "AccessKeyCreateRequest",
        "required": [
          "region"
        ],
        "type": "object",
        "properties": {
          "region": {
            "$ref": "#/components/schemas/object_storage__RegionsEnum",
            "enum": [
              "CANADA-1"
            ],
            "description": "The [**region**](https://docs.hyperstack.cloud/docs/resource-management/regions) where the access key is valid."
          },
          "description": {
            "type": "string",
            "maxLength": 250,
            "example": "training-data",
            "description": "Optional name for the access key, shown in the Name column on the Access Keys page in the console."
          }
        }
      },
      "RbacRoleDetailResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Creating RBAC role success"
          },
          "role": {
            "$ref": "#/components/schemas/RbacRoleFields",
            "description": "Role assigned to nodes in the group, for example, `worker`."
          }
        }
      },
      "Security_Rules_Fields_for_Instance": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 1129
          },
          "direction": {
            "type": "string",
            "description": "Direction of traffic the rule applies to, `ingress` or `egress`.",
            "example": "egress"
          },
          "protocol": {
            "type": "string",
            "description": "Protocol, one of `tcp`, `udp`, `icmp`, or `any`.",
            "example": "any"
          },
          "port_range_min": {
            "type": "integer",
            "description": "Lower bound (inclusive) of the port range the rule applies to.",
            "example": 1
          },
          "port_range_max": {
            "type": "integer",
            "description": "Upper bound (inclusive) of the port range the rule applies to.",
            "example": 65535
          },
          "ethertype": {
            "type": "string",
            "description": "Internet Protocol version, `IPv4` or `IPv6`.",
            "example": "IPv4"
          },
          "remote_ip_prefix": {
            "type": "string",
            "description": "CIDR block the rule applies to.",
            "example": "0.0.0.0/0"
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource.",
            "example": "SUCCESS"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-06T15:18:42Z"
          }
        }
      },
      "UserDefaultChoiceForUserFields": {
        "type": "object",
        "properties": {
          "keypair_id": {
            "type": "integer",
            "description": "Identifier of the keypair selected as the user default."
          },
          "flavor_id": {
            "type": "integer",
            "description": "Identifier of the flavor, see [List flavors](https://docs.hyperstack.cloud/docs/api-reference/list-flavors).",
            "example": 1129
          },
          "image_id": {
            "type": "integer",
            "description": "Identifier of the OS image to install, see [List images](https://docs.hyperstack.cloud/docs/api-reference/list-images).",
            "example": 7613
          }
        }
      },
      "Contract": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the contract."
          },
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization that owns the resource."
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource."
          },
          "granularity": {
            "type": "integer",
            "description": "Time bucket size, in seconds, for the data points returned."
          },
          "total_gpu_allocation": {
            "type": "integer",
            "description": "Total number of GPUs allocated under the contract."
          },
          "allocated_gpu_count_graph": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AllocatedGPUCountGraph"
            },
            "description": "Time series of allocated GPU counts over the contract period."
          }
        }
      },
      "FirewallEnvironmentFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 2058
          },
          "name": {
            "type": "string",
            "description": "Name of the environment the firewall belongs to.",
            "example": "example-environment"
          },
          "region": {
            "type": "string",
            "description": "Region the resource is in (for example, `NORWAY-1`, `CANADA-1`, `US-1`).",
            "example": "NORWAY-1"
          }
        }
      },
      "RemoveMemberPayload": {
        "required": [
          "email"
        ],
        "type": "object",
        "properties": {
          "email": {
            "maxLength": 64,
            "type": "string",
            "description": "Email of the user to remove from your organization."
          }
        }
      },
      "Instance_Overview_Fields": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "Number of items returned in the current page.",
            "example": 0
          },
          "vcpus": {
            "type": "integer",
            "description": "Number of vCPU cores allocated.",
            "example": 0
          },
          "gpus": {
            "type": "integer",
            "description": "GPUs allocated to the resource.",
            "example": 0
          },
          "ram": {
            "type": "integer",
            "description": "Memory allocated to the flavor, in GB.",
            "example": 0
          },
          "cost_per_hour": {
            "type": "number",
            "description": "Hourly cost incurred by the resource.",
            "example": 0
          }
        }
      },
      "VNC_URL": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          },
          "vnc_url": {
            "$ref": "#/components/schemas/VNC_URL_Fields",
            "description": "URL of the VNC console for the VM."
          }
        }
      },
      "object_storage__AccessKeyCreateResponse": {
        "title": "AccessKeyCreateResponse",
        "type": "object",
        "properties": {
          "access_key": {
            "type": "string",
            "description": "Object-storage access key.",
            "example": "AKUXU7D1M49L3NR9YJHU"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-06T15:18:42Z"
          },
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 7613
          },
          "region": {
            "$ref": "#/components/schemas/object_storage__RegionsEnum",
            "description": "The [**region**](https://docs.hyperstack.cloud/docs/resource-management/regions) where the access key is valid."
          },
          "secret_key": {
            "type": "string",
            "example": "IfzGQzxPiwi6mCOncLvNxVdItKPZh0dcMxAwcnpu",
            "description": "The corresponding secret key. This is only returned at the time of creation, store it securely."
          },
          "user_id": {
            "type": "integer",
            "description": "Identifier of the user.",
            "example": 8429
          },
          "description": {
            "type": "string",
            "nullable": true,
            "example": "training-data",
            "description": "Name of the access key, shown in the Name column on the Access Keys page in the console. Returns `null` if the access key has no name."
          }
        }
      },
      "Instance_Fields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 1402
          },
          "name": {
            "type": "string",
            "description": "Name of the virtual machine.",
            "example": "example-vm"
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource.",
            "example": "CREATING"
          },
          "environment": {
            "$ref": "#/components/schemas/Instance_Environment_Fields",
            "description": "Environment containing the resource."
          },
          "image": {
            "$ref": "#/components/schemas/Instance_Image_Fields",
            "description": "Operating system image installed on the VM."
          },
          "flavor": {
            "$ref": "#/components/schemas/Instance_Flavor_Fields",
            "description": "GPU and CPU configuration of the virtual machine."
          },
          "os": {
            "type": "string",
            "example": "Ubuntu Server 24.04 LTS (Noble Numbat)",
            "description": "Operating system of the virtual machine."
          },
          "keypair": {
            "$ref": "#/components/schemas/Instance_Keypair_Fields",
            "description": "SSH keypair attached to the VM."
          },
          "volume_attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Volume_Attachment_Fields"
            },
            "description": "Volumes currently attached to the VM."
          },
          "security_rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Security_Rules_Fields_for_Instance"
            },
            "description": "Firewall rules to apply to the VM at creation."
          },
          "power_state": {
            "type": "string",
            "description": "Current power state reported by the hypervisor.",
            "nullable": true,
            "example": "NOSTATE"
          },
          "vm_state": {
            "type": "string",
            "description": "Current VM lifecycle state, for example, `ACTIVE`, `SHUTOFF`, `HIBERNATED`, `ERROR`.",
            "nullable": true,
            "example": "building"
          },
          "fixed_ip": {
            "type": "string",
            "description": "Fixed (private) IP address assigned to the VM in its environment.",
            "nullable": true,
            "example": "192.0.2.91"
          },
          "floating_ip": {
            "type": "string",
            "description": "Floating (public) IP address attached to the VM, or `null` if none.",
            "nullable": true,
            "example": "203.0.113.205"
          },
          "floating_ip_status": {
            "type": "string",
            "description": "State of the floating-IP attachment.",
            "nullable": true,
            "example": "NO FLOATING IP"
          },
          "port_randomization_status": {
            "type": "string",
            "nullable": true,
            "example": "NO_FLOATING_IP",
            "description": "Status of the port randomization process for the virtual machine."
          },
          "port_randomization": {
            "type": "boolean",
            "example": true,
            "description": "Whether port randomization is enabled (true) or disabled (false) for the virtual machine."
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL Hyperstack calls when the resource changes state.",
            "nullable": true
          },
          "locked": {
            "type": "boolean",
            "example": false,
            "description": "Whether the virtual machine is locked, preventing state-changing actions (true) or unlocked (false)."
          },
          "contract_id": {
            "type": "integer",
            "description": "Identifier of the customer contract under which the resource is billed.",
            "nullable": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-06T16:04:09Z"
          },
          "labels": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional user-supplied tags for grouping or filtering."
          },
          "features": {
            "type": "object",
            "properties": {},
            "description": "Optional feature flags applicable to the resource."
          },
          "requires_public_ip": {
            "type": "boolean",
            "example": false,
            "description": "Whether the virtual machine requires a public IP address to be attached (true) or not (false)."
          }
        }
      },
      "ResourceLevelBillingDetailsMetrics": {
        "type": "object",
        "properties": {
          "price_per_hour": {
            "type": "number",
            "description": "Hourly charge for the resource.",
            "example": 0.3483871
          },
          "non_discounted_price_per_hour": {
            "type": "number",
            "example": 0.3483871,
            "description": "Hourly price before any contract or discount is applied."
          },
          "incurred_bill": {
            "type": "number",
            "description": "Total amount accrued for the resource in the time window, in the response's `currency`.",
            "example": 0.015774193694443002
          },
          "non_discounted_bill": {
            "type": "number",
            "description": "Bill amount before any discounts or contract pricing.",
            "example": 0.015774193694443002
          },
          "usage_time": {
            "type": "number",
            "description": "Total billable time in the window, expressed in hours.",
            "example": 163
          },
          "usage_time_ACTIVE": {
            "type": "number",
            "example": -10,
            "description": "Time the resource spent in the ACTIVE state, in hours."
          },
          "usage_time_SHUTOFF": {
            "type": "number",
            "example": 173,
            "description": "Time the resource spent in the SHUTOFF state, in hours."
          },
          "usage_time_HIBERNATED": {
            "type": "number",
            "description": "Time the resource spent in the HIBERNATED state, in hours."
          }
        }
      },
      "Profile_Fields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 1402
          },
          "name": {
            "type": "string",
            "description": "Name of the provisioning profile.",
            "example": "new-profile"
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of the resource.",
            "example": "example"
          },
          "data": {
            "type": "string",
            "description": "Provisioning profile configuration stored as a serialized string.",
            "example": "{\"name\": \"focused-tesla\", \"environment_name\": \"default-NORWAY-1\", \"image_name\": \"Ubuntu Server 22.04 LTS R535 CUDA 12.2\", \"volume_name\": \"\", \"flavor_name\": \"n1-cpu-large\", \"assign_floating_ip\": false, \"security_rules\": [], \"key_name\": \"example-key\", \"user_data\": \"\", \"labels\": [], \"count\": 1}"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-06T16:04:09Z"
          }
        }
      },
      "AttachFirewallsToVMPayload": {
        "required": [
          "firewalls"
        ],
        "type": "object",
        "properties": {
          "firewalls": {
            "type": "array",
            "description": "Ids of the firewalls to be attached with a virtual machine.",
            "items": {
              "type": "integer"
            }
          }
        }
      },
      "Redeem_voucher_payload": {
        "required": [
          "voucher_code"
        ],
        "type": "object",
        "properties": {
          "voucher_code": {
            "type": "string",
            "description": "Voucher code to redeem. Must consist only of uppercase letters and hyphens, and must exactly match a valid, unredeemed code issued by Hyperstack."
          }
        }
      },
      "ResourceLevelGraphBillingVMDetailsResources": {
        "type": "object",
        "properties": {
          "attributes": {
            "$ref": "#/components/schemas/ResourceLevelGraphBillingDetailsAttributes",
            "description": "Additional resource attributes."
          },
          "metrics": {
            "$ref": "#/components/schemas/ResourceLevelGraphBillingDetailsMetrics",
            "description": "Resource utilisation metrics."
          }
        }
      },
      "PolicyFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 6190
          },
          "name": {
            "type": "string",
            "description": "Name of the policy.",
            "example": "policy:AllPermissions"
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of the resource.",
            "example": "Grants all permissions to all resources"
          },
          "permissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PolicyPermissionFields"
            },
            "description": "Permissions granted by the role."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-06T14:32:11Z"
          }
        }
      },
      "Instances": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting VMs successful"
          },
          "page": {
            "type": "integer",
            "description": "1-indexed page number of the current result set.",
            "nullable": true
          },
          "page_size": {
            "type": "integer",
            "description": "Number of items per page in the current result set.",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "description": "Number of items returned in the current page.",
            "example": 0
          },
          "instances": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Instance_Fields"
            },
            "description": "Virtual machines returned by the request."
          }
        }
      },
      "ResourceLevelBillingDetailsVM": {
        "type": "object",
        "properties": {
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization that owns the resource.",
            "example": 1402
          },
          "billing_history": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceLevelBillingVMDetailsResources"
            },
            "description": "Billing history entries for the resource."
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of items across all pages of this result set.",
            "example": 1
          }
        }
      },
      "Volume_Overview_Fields": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "Number of items returned in the current page.",
            "example": 5
          },
          "using": {
            "type": "integer",
            "example": 50,
            "description": "The number of volumes currently in use."
          },
          "cost_per_hour": {
            "type": "number",
            "description": "Hourly cost incurred by the resource.",
            "example": 0.005
          }
        }
      },
      "billing_history_serverless_inference_details": {
        "type": "object",
        "properties": {
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization that owns the resource."
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of items across all pages of this result set."
          },
          "pagination": {
            "$ref": "#/components/schemas/pagination",
            "description": "Pagination metadata: current page, page size, and total count."
          },
          "billing_history": {
            "type": "array",
            "description": "Billing history entries for the resource.",
            "items": {
              "$ref": "#/components/schemas/billing_history"
            }
          }
        }
      },
      "ResourceLevelVmGraphBillingDetailsResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Biling Details Hourly Cost datapoints for the Virtual Machine Retrieved Successfully."
          },
          "billing_history_vm_details": {
            "$ref": "#/components/schemas/ResourceLevelGraphBillingDetailsVM",
            "description": "Detailed virtual machine billing records for the requested period."
          }
        }
      },
      "Firewall_Attachment_VM_Model": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier."
          },
          "name": {
            "type": "string",
            "description": "Name of the virtual machine."
          },
          "flavor": {
            "type": "string",
            "description": "GPU and CPU configuration of the virtual machine."
          },
          "environment": {
            "type": "string",
            "description": "Environment containing the resource."
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created."
          }
        }
      },
      "ResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Instance is being deleted."
          }
        }
      },
      "VM_Quota": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          },
          "current_vms": {
            "type": "integer",
            "example": 1,
            "description": "Number of virtual machines currently provisioned."
          },
          "max_vms": {
            "type": "integer",
            "example": 250,
            "description": "Maximum number of virtual machines allowed by the quota."
          },
          "available_vms": {
            "type": "integer",
            "example": 249,
            "description": "Number of additional virtual machines that can still be created."
          },
          "percentage_used": {
            "type": "number",
            "example": 0.4,
            "description": "Percentage of the virtual machine quota currently used."
          },
          "cidr": {
            "type": "string",
            "example": "10.0.11.0/24",
            "description": "CIDR block allocated for the virtual machines."
          }
        }
      },
      "OrganizationLevelBillingHistory": {
        "type": "object",
        "properties": {
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization that owns the resource.",
            "example": 9876
          },
          "billing_history": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrganizationLevelBillingHistoryResources"
            },
            "description": "Billing history entries for the resource."
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of items across all pages of this result set.",
            "example": 1
          }
        }
      },
      "Billing_metrices_response": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Successful"
          },
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Billing_metrices_fields"
            },
            "description": "List of billing metric records."
          }
        }
      },
      "Keypair_Fields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 4501
          },
          "name": {
            "type": "string",
            "description": "Name of the keypair.",
            "example": "example-keypair"
          },
          "environment": {
            "$ref": "#/components/schemas/Keypair_Environment_Fields",
            "description": "Environment containing the resource."
          },
          "public_key": {
            "type": "string",
            "description": "OpenSSH-format public key.",
            "example": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOu6TJudyoheKvyDdnr8HYCBNjJVT79bq9EGuDHdR3e3 user@example.com"
          },
          "fingerprint": {
            "type": "string",
            "description": "MD5 or SHA256 fingerprint of the public key.",
            "example": "ff:00:4b:02:8e:43:b6:75:03:7c:52:52:df:82:9d:58"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-07T11:47:30Z"
          }
        }
      },
      "Payment_Initiate_Fields": {
        "type": "object",
        "properties": {
          "payment_id": {
            "type": "string",
            "description": "The unique identifier for the payment."
          }
        }
      },
      "ResourceLevelBucketBillingDetailsResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          },
          "billing_history_bucket_details": {
            "$ref": "#/components/schemas/ResourceLevelBillingBucketDetailsResources",
            "description": "Detailed object storage bucket billing records for the requested period."
          }
        }
      },
      "ResourceLevelVMBillingDetailsResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Biling Details  for the Virtual Machine Retrieved Successfully."
          },
          "billing_history_vm_details": {
            "$ref": "#/components/schemas/ResourceLevelBillingDetailsVM",
            "description": "Detailed virtual machine billing records for the requested period."
          }
        }
      },
      "ResourceLevelBillingVMDetailsResources": {
        "type": "object",
        "properties": {
          "attributes": {
            "$ref": "#/components/schemas/ResourceLevelBillingDetailsAttributes",
            "description": "Additional resource attributes."
          },
          "metrics": {
            "$ref": "#/components/schemas/ResourceLevelBillingDetailsMetrics",
            "description": "Resource utilisation metrics."
          }
        }
      },
      "GetUserPermissionsResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting my permissions successfully"
          },
          "permissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserPermissionFields"
            },
            "description": "Permissions granted by the role."
          }
        }
      },
      "GraphDatetimeValueModel": {
        "type": "object",
        "properties": {
          "datetime": {
            "type": "string",
            "description": "ISO 8601 UTC timestamp.",
            "example": "2026-05-06T15:18:42Z"
          },
          "value": {
            "type": "number",
            "description": "Value of the entry.",
            "example": 0.011612903333333001
          }
        }
      },
      "Payment_Details_Fields": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "Charge amount in the response's `currency` units."
          },
          "tax_amount": {
            "type": "number",
            "description": "Tax amount applied to the payment."
          },
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code."
          },
          "paid_from": {
            "type": "string",
            "description": "The source of the payment."
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource."
          },
          "gateway_response": {
            "type": "string",
            "description": "The response from the payment gateway."
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of the resource."
          },
          "transaction_id": {
            "type": "string",
            "description": "The transaction ID associated with the payment."
          },
          "invoice": {
            "type": "string",
            "description": "Identifier or URL of the associated invoice."
          },
          "payment_id": {
            "type": "string",
            "description": "The unique identifier for the payment."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was last modified."
          }
        }
      },
      "Instance_Keypair_Fields": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the keypair.",
            "example": "example-keypair"
          }
        }
      },
      "ResourceLevelClusterBillingDetailsResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          },
          "billing_history_cluster_details": {
            "$ref": "#/components/schemas/ResourceLevelBillingHistoryResourcesCluster",
            "description": "Detailed Kubernetes cluster billing records for the requested period."
          }
        }
      },
      "ModelEvaluationBillingHistoryDetailsResponseSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          },
          "billing_history_model_evalutation_details": {
            "$ref": "#/components/schemas/billing_history_model_evalutation_details",
            "description": "Detailed model evaluation billing records for the requested period."
          }
        }
      },
      "ClusterNodeGroupFirewallFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier."
          },
          "name": {
            "type": "string",
            "description": "Name of the firewall."
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource."
          }
        }
      },
      "Volume": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Volume created successfully"
          },
          "volume": {
            "$ref": "#/components/schemas/Volume_Fields",
            "description": "Volume attached to the resource."
          }
        }
      },
      "Detach_Volumes_Payload": {
        "type": "object",
        "properties": {
          "volume_ids": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "description": "Specify one or more IDs of the volumes to be attached to the virtual machine."
          }
        }
      },
      "Cluster_Flavor_Fields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 4501
          },
          "name": {
            "type": "string",
            "description": "Name of the cluster flavor.",
            "example": "n1-cpu-small"
          },
          "cpu": {
            "type": "integer",
            "description": "Number of vCPU cores.",
            "example": 4
          },
          "ram": {
            "type": "number",
            "description": "Memory allocated to the flavor, in GB.",
            "example": 4
          },
          "disk": {
            "type": "integer",
            "description": "Root disk capacity, in GB.",
            "example": 100
          },
          "ephemeral": {
            "type": "integer",
            "description": "Ephemeral disk capacity, in GB. Cleared when the VM is deleted.",
            "example": 0
          },
          "gpu": {
            "type": "string",
            "description": "GPU model name. Empty string if the flavor has no GPU.",
            "example": ""
          },
          "gpu_count": {
            "type": "integer",
            "description": "Number of GPUs attached to the flavor.",
            "example": 0
          },
          "features": {
            "type": "object",
            "properties": {},
            "description": "Optional feature flags applicable to the resource."
          },
          "labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LableResonse"
            },
            "description": "Optional user-supplied tags for grouping or filtering."
          }
        }
      },
      "metrics": {
        "type": "object"
      },
      "billing_history": {
        "type": "object",
        "properties": {
          "attributes": {
            "$ref": "#/components/schemas/attributes",
            "description": "Additional resource attributes."
          },
          "metrics": {
            "$ref": "#/components/schemas/metrics",
            "description": "Resource utilisation metrics."
          }
        }
      },
      "RequestInstanceLogsResponse": {
        "type": "object",
        "properties": {
          "request_id": {
            "type": "integer",
            "description": "Identifier of an asynchronous request, returned by the prior POST call.",
            "example": 8429
          }
        }
      },
      "Import_Keypair_Payload": {
        "required": [
          "environment_name",
          "name",
          "public_key"
        ],
        "type": "object",
        "properties": {
          "environment_name": {
            "type": "string",
            "description": "The name of the environment where the key pair is being created."
          },
          "name": {
            "maxLength": 50,
            "type": "string",
            "description": "The name of the key pair that is being created."
          },
          "public_key": {
            "type": "string",
            "description": "The public key that is being used to import an SSH key pair. See the [**supported key types**](https://docs.hyperstack.cloud/docs/network/ssh#supported-ssh-key-types)."
          }
        }
      },
      "ClusterNodesListResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Cluster nodes retrieved successfully"
          },
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterNodeFields"
            },
            "description": "Nodes currently in the cluster."
          }
        }
      },
      "Update_Environment": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 50,
            "type": "string",
            "description": "The new name of the environment."
          }
        }
      },
      "Payment_Details_Response": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting payment info successful"
          },
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "data": {
            "$ref": "#/components/schemas/Payment_Details_Fields",
            "description": "Payment details for the account."
          }
        }
      },
      "SecurityGroupRuleFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 7613
          },
          "direction": {
            "type": "string",
            "description": "Direction of traffic the rule applies to, `ingress` or `egress`.",
            "example": "egress"
          },
          "protocol": {
            "type": "string",
            "description": "Protocol, one of `tcp`, `udp`, `icmp`, or `any`.",
            "example": "any"
          },
          "port_range_min": {
            "type": "integer",
            "description": "Lower bound (inclusive) of the port range the rule applies to.",
            "example": 1
          },
          "port_range_max": {
            "type": "integer",
            "description": "Upper bound (inclusive) of the port range the rule applies to.",
            "example": 65535
          },
          "ethertype": {
            "type": "string",
            "description": "Internet Protocol version, `IPv4` or `IPv6`.",
            "example": "IPv4"
          },
          "remote_ip_prefix": {
            "type": "string",
            "description": "CIDR block the rule applies to.",
            "example": "0.0.0.0/0"
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource.",
            "example": "SUCCESS"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-06T15:18:42Z"
          }
        }
      },
      "ClusterNodeGroupsGetResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Node group 987 retrieved successfully"
          },
          "node_group": {
            "$ref": "#/components/schemas/ClusterNodeGroupFields",
            "description": "Worker-node group."
          }
        }
      },
      "object_storage__DeleteResponse": {
        "title": "DeleteResponse",
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          }
        }
      },
      "object_storage__PaginationMeta": {
        "title": "PaginationMeta",
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "Number of items returned in the current page.",
            "example": 5
          },
          "current_page": {
            "type": "integer",
            "example": 1,
            "description": "The current page number."
          },
          "total_pages": {
            "type": "integer",
            "example": 1,
            "description": "Total number of available pages."
          }
        }
      },
      "MasterFlavorsResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Flavors retrieved successfully"
          },
          "flavors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cluster_Flavor_Fields"
            },
            "description": "An array of CPU-only flavor objects available for use as master nodes."
          }
        }
      },
      "Keypairs": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting user keypairs successful"
          },
          "keypairs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Keypair_Fields"
            },
            "description": "An array of `keypairs` objects, containing details on your existing SSH key pairs."
          },
          "page": {
            "type": "integer",
            "description": "1-indexed page number of the current result set.",
            "nullable": true
          },
          "page_size": {
            "type": "integer",
            "description": "Number of items per page in the current result set.",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "description": "Number of items returned in the current page.",
            "example": 6
          }
        }
      },
      "Supported_Keypair_Public_Key_Types_Response": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting supported keypair public key types successful"
          },
          "supported_key_types": {
            "type": "array",
            "description": "The SSH public key types accepted when you import a key pair.",
            "items": {
              "type": "string",
              "example": "ssh-ed25519"
            }
          }
        }
      },
      "Instance_Environment_Fields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 9876
          },
          "name": {
            "type": "string",
            "description": "Name of the environment.",
            "example": "example-environment"
          },
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization that owns the resource.",
            "example": 7613
          },
          "region": {
            "type": "string",
            "description": "Region the resource is in (for example, `NORWAY-1`, `CANADA-1`, `US-1`).",
            "example": "NORWAY-1"
          },
          "features": {
            "$ref": "#/components/schemas/Environment_Features",
            "description": "Optional feature flags applicable to the resource."
          }
        }
      },
      "RolePolicyFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier."
          },
          "name": {
            "type": "string",
            "description": "Name of the policy."
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of the resource."
          }
        }
      },
      "Create_Firewall_Rule_Payload": {
        "required": [
          "direction",
          "ethertype",
          "protocol",
          "remote_ip_prefix"
        ],
        "type": "object",
        "properties": {
          "direction": {
            "type": "string",
            "description": "The direction of traffic that the firewall rule applies to."
          },
          "ethertype": {
            "type": "string",
            "description": "The Ethernet type associated with the rule."
          },
          "protocol": {
            "type": "string",
            "description": "The network protocol associated with the rule. Call the [List firewall rule protocols](https://docs.hyperstack.cloud/docs/api-reference/list-firewall-rule-protocols) endpoint to retrieve a list of permitted network protocols.",
            "example": "any",
            "enum": [
              "any",
              "ah",
              "dccp",
              "egp",
              "esp",
              "gre",
              "hopopt",
              "icmp",
              "igmp",
              "ip",
              "ipip",
              "ipv6-encap",
              "ipv6-frag",
              "ipv6-icmp",
              "icmpv6",
              "ipv6-nonxt",
              "ipv6-opts",
              "ipv6-route",
              "ospf",
              "pgm",
              "rsvp",
              "sctp",
              "tcp",
              "udp",
              "udplite",
              "vrrp"
            ]
          },
          "remote_ip_prefix": {
            "type": "string",
            "description": "The IP address range that is allowed to access the specified port. Use \"0.0.0.0/0\" to allow any IP address."
          },
          "port_range_min": {
            "type": "integer",
            "description": "The minimum port number in the range of ports to be allowed by the firewall rule."
          },
          "port_range_max": {
            "type": "integer",
            "description": "The maximum port number in the range of ports to be allowed by the firewall rule."
          }
        }
      },
      "ResourceLevelBillingHistoryResponseAttributes": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifier of the resource billing record.",
            "example": "7e2d5a13-9c8b-4f1e-a420-3d6f8b9c0e15"
          },
          "infrahub_id": {
            "type": "integer",
            "description": "Internal numeric identifier used by Hyperstack for cross-system references.",
            "example": 1402
          },
          "resource_name": {
            "type": "string",
            "description": "Name of the resource the entry refers to.",
            "example": "uimap-bucket-test"
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource.",
            "example": "ACTIVE"
          },
          "contract_id": {
            "type": "integer",
            "description": "Identifier of the customer contract under which the resource is billed.",
            "nullable": true
          }
        }
      },
      "PaginationData": {
        "type": "object",
        "properties": {
          "per_page": {
            "type": "integer",
            "example": 10,
            "description": "Number of results per page."
          },
          "page": {
            "type": "integer",
            "description": "1-indexed page number of the current result set.",
            "example": 1
          },
          "pages": {
            "type": "integer",
            "example": 1,
            "description": "Total number of pages available."
          }
        }
      },
      "object_storage__ErrorResponse": {
        "title": "ErrorResponse",
        "type": "object",
        "properties": {
          "error_reason": {
            "type": "string",
            "description": "Short machine-readable reason code when the request fails."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          },
          "status": {
            "type": "boolean",
            "default": false,
            "description": "Whether the request succeeded."
          }
        }
      },
      "InstanceEventsFields": {
        "type": "object",
        "properties": {
          "instance_id": {
            "type": "integer",
            "description": "Identifier of the virtual machine.",
            "example": 1129
          },
          "user_id": {
            "type": "integer",
            "description": "Identifier of the user.",
            "example": 5341
          },
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization that owns the resource.",
            "example": 7613
          },
          "time": {
            "type": "string",
            "format": "date-time",
            "example": "2026-05-07T09:21:55Z",
            "description": "The timestamp when the event occurred."
          },
          "type": {
            "type": "string",
            "description": "Type of the virtual machine event.",
            "example": "normal"
          },
          "reason": {
            "type": "string",
            "description": "Human-readable reason the operation was rejected.",
            "example": "InstanceCreationRequest"
          },
          "object": {
            "type": "string",
            "example": "example-vm",
            "description": "The name of the cluster related to the event."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Instance example-vm Creation Request Sent."
          }
        }
      },
      "Organization_threshold_update_response": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          },
          "threshold": {
            "$ref": "#/components/schemas/Organization_Threshold_fields",
            "description": "Spending threshold above which the alert is triggered."
          }
        }
      },
      "object_storage__AccessKeyListResponse": {
        "title": "AccessKeyListResponse",
        "type": "object",
        "properties": {
          "access_keys": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/object_storage__AccessKeyResponse"
            },
            "description": "Object-storage access keys."
          },
          "meta": {
            "$ref": "#/components/schemas/object_storage__PaginationMeta",
            "description": "Pagination metadata."
          }
        }
      },
      "FirewallDetailResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting Firewall Details Successful."
          },
          "firewall": {
            "$ref": "#/components/schemas/FirewallDetailFields",
            "description": "Firewall attached to the VM."
          }
        }
      },
      "Update_Volume_Payload": {
        "required": [
          "environment_name"
        ],
        "type": "object",
        "properties": {
          "environment_name": {
            "type": "string",
            "description": "Name of the [**environment**](https://docs.hyperstack.cloud/docs/resource-management/environments) to which the volume is reassigned. The target environment must exist in the same region as the current one. Retrieve environment names by calling the [**List environments**](https://docs.hyperstack.cloud/docs/api-reference/list-environments) endpoint."
          }
        }
      },
      "InfrahubResourceObjectResponseForCustomer": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Type of the resource."
          },
          "name": {
            "type": "string",
            "description": "Name of the resource."
          },
          "infrahub_id": {
            "type": "integer",
            "description": "Internal numeric identifier used by Hyperstack for cross-system references."
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource."
          },
          "host": {
            "type": "string",
            "description": "Hostname or IP that clients connect to."
          },
          "resources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PricebookResourceObjectResponseForCustomer"
            },
            "description": "A list of resource components associated with the main resource, detailing individual billing rates."
          },
          "price": {
            "type": "number",
            "description": "The listed price per hour for using the resource."
          },
          "actual_price": {
            "type": "number",
            "description": "The actual price per hour after applying any discounts or adjustments."
          }
        }
      },
      "Security_Group_Rule": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Security Rule created successfully"
          },
          "security_rule": {
            "$ref": "#/components/schemas/Security_Group_Rule_Fields",
            "description": "Provides the firewall rule configuration that was sent in the request, along with additional information such as the time of rule creation, rule ID, and the `status` of the firewall rule that was created."
          }
        }
      },
      "Environment_Fields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 3287
          },
          "name": {
            "type": "string",
            "description": "Name of the environment.",
            "example": "example-environment"
          },
          "region": {
            "type": "string",
            "description": "Region the resource is in (for example, `NORWAY-1`, `CANADA-1`, `US-1`).",
            "example": "NORWAY-1"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-06T16:04:09Z"
          },
          "features": {
            "$ref": "#/components/schemas/Environment_Features",
            "description": "Optional feature flags applicable to the resource."
          }
        }
      },
      "Get_credit_and_threshold_info_in_response": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Success"
          },
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "data": {
            "$ref": "#/components/schemas/Get_credit_and_threshold_info",
            "description": "Credit balance and notification threshold details."
          }
        }
      },
      "SnapshotRetrieve": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": 200
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Retrieved snapshot 1783"
          },
          "snapshot": {
            "$ref": "#/components/schemas/SnapshotRetrieveFields",
            "description": "Snapshot of a volume."
          }
        }
      },
      "GPU_List": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting GPU list successful"
          },
          "gpu_list": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GPU_Fields"
            },
            "description": "List of available GPU models."
          }
        }
      },
      "ContractInstanceFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier."
          },
          "name": {
            "type": "string",
            "description": "Name of the virtual machine."
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created."
          },
          "flavor_name": {
            "type": "string",
            "description": "Name of the flavor (machine type), see [List flavors](https://docs.hyperstack.cloud/docs/api-reference/list-flavors)."
          },
          "gpu_count": {
            "type": "integer",
            "description": "Number of GPUs attached to the flavor."
          },
          "total_usage_time": {
            "type": "integer",
            "description": "Total accrued usage time of the instance under the contract, in seconds."
          },
          "termination_time": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp indicating when the instance was terminated."
          },
          "cluster": {
            "$ref": "#/components/schemas/ClusterFields",
            "description": "Kubernetes cluster."
          }
        }
      },
      "Request_Console": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Please wait a few seconds and visit the below link to access your VNC console URL"
          },
          "url": {
            "type": "string",
            "description": "Webhook URL Hyperstack calls when the resource changes state.",
            "example": "/core/virtual-machines/793490/console/2299076"
          }
        }
      },
      "ResourceLevelBillingHistory": {
        "type": "object",
        "properties": {
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization that owns the resource.",
            "example": 7613
          },
          "billing_history": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceLevelBillingHistoryResources"
            },
            "description": "Billing history entries for the resource."
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of items across all pages of this result set.",
            "example": 1
          },
          "pagination": {
            "$ref": "#/components/schemas/PaginationData",
            "description": "Pagination metadata: current page, page size, and total count."
          }
        }
      },
      "SnapshotRetrieveFields": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "description": "ISO 8601 UTC timestamp indicating when the snapshot was created.",
            "format": "date-time",
            "example": "2026-05-06T16:04:09Z"
          },
          "description": {
            "type": "string",
            "description": "Description of the snapshot.",
            "example": "example"
          },
          "id": {
            "type": "integer",
            "description": "Unique identifier of the snapshot.",
            "example": 1402
          },
          "is_image": {
            "type": "boolean",
            "description": "Indicates if the snapshot is an image.",
            "example": true
          },
          "name": {
            "type": "string",
            "description": "Name of the snapshot.",
            "example": "example-snapshot"
          },
          "region_id": {
            "type": "integer",
            "description": "Region where the snapshot will be available.",
            "example": 1129
          },
          "size": {
            "type": "integer",
            "description": "Size in GB of the snapshot.",
            "example": 0
          },
          "status": {
            "type": "string",
            "description": "Status of the snapshot.",
            "example": "CREATING"
          },
          "updated_at": {
            "type": "string",
            "description": "Last update timestamp.",
            "format": "date-time",
            "example": "2026-05-06T16:04:09Z"
          },
          "vm_id": {
            "type": "integer",
            "description": "ID of the VM from which the snapshot is created.",
            "example": 2058
          },
          "has_floating_ip": {
            "type": "boolean",
            "description": "Indicates if the VM had a floating IP assigned.",
            "example": false
          },
          "labels": {
            "type": "string",
            "description": "Optional user-supplied tags for grouping or filtering."
          },
          "region": {
            "type": "string",
            "description": "Region the resource is in (for example, `NORWAY-1`, `CANADA-1`, `US-1`).",
            "example": "NORWAY-1"
          },
          "vm_name": {
            "type": "string",
            "description": "Name of the virtual machine the snapshot was taken from.",
            "example": "example-vm"
          },
          "vm_status": {
            "type": "string",
            "description": "Status of the source virtual machine at the time of the snapshot.",
            "example": "ACTIVE"
          },
          "vm_environment": {
            "type": "string",
            "description": "Environment of the source virtual machine."
          },
          "vm_flavor": {
            "type": "string",
            "description": "Flavor of the source virtual machine."
          },
          "vm_image": {
            "type": "string",
            "description": "Image the source virtual machine was created from."
          },
          "vm_keypair": {
            "type": "string",
            "description": "Keypair associated with the source virtual machine."
          },
          "volume_id": {
            "type": "string",
            "description": "Identifier of the volume.",
            "nullable": true
          },
          "volume_name": {
            "type": "string",
            "description": "Name of the volume.",
            "nullable": true
          },
          "custom_image": {
            "type": "string",
            "description": "Name of the custom image created from the snapshot, if any.",
            "nullable": true
          }
        }
      },
      "SubResourcesCostsResponseModel": {
        "type": "object",
        "properties": {
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization that owns the resource.",
            "example": 8429
          },
          "billing_history": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubResourcesGraphBillingHistoryFields"
            },
            "description": "Billing history entries for the resource."
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of items across all pages of this result set.",
            "example": 1
          },
          "granularity": {
            "type": "integer",
            "description": "Time bucket size, in seconds, for the data points returned.",
            "example": 86400
          }
        }
      },
      "CreateInstancesResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "VM is scheduled for creation."
          },
          "instances": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Instance_Fields"
            },
            "description": "Virtual machines returned by the request."
          }
        }
      },
      "Edit_label_of_an_existing_VM_Payload": {
        "type": "object",
        "properties": {
          "labels": {
            "type": "array",
            "description": "Multiple labels can be added by separating with spaces.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "InviteFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 2058
          },
          "email": {
            "type": "string",
            "description": "User email address.",
            "example": "user@example.com"
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource.",
            "example": "CONFIRMATION_PENDING"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-07T11:47:30Z"
          }
        }
      },
      "ClusterFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 1402
          },
          "name": {
            "type": "string",
            "description": "Name of the Kubernetes cluster.",
            "example": "example-c1"
          },
          "environment_name": {
            "type": "string",
            "description": "Name of the environment containing the resource.",
            "example": "example-environment"
          },
          "kubernetes_version": {
            "type": "string",
            "description": "Kubernetes version installed on the cluster.",
            "example": "1.35.1"
          },
          "api_address": {
            "type": "string",
            "nullable": true,
            "example": "https://api.example-c1-8a1cf2.example-environment.hyperstackcustomers.cloud:6443",
            "description": "URL used to access the cluster Kubernetes API server."
          },
          "kube_config": {
            "type": "string",
            "nullable": true,
            "example": "YXBpVmVyc2lvbjogdjEKY2x1c3RlcnM6Ci0gY2x1c3RlcjoKICAgIGNlcnRpZmljYXRlLWF1dGhvcml0eS1kYXRhOiBMUzB0TFMxQ1JVZEpUaUJEUlZKVVNVWkpRMEZVUlMwdExTMHRDazFKU1VSQ1ZFTkRRV1V5WjBGM1NVSkJaMGxKU0ZWVmFubzVTbEYwYmtsM1JGRlpTa3R2V2tsb2RtTk9RVkZGVEVKUlFYZEdWRVZVVFVKRlIwRXhWVVVLUVhoTlMyRXpWbWxhV0VwMVdsaFNiR042UVdWR2R6QjVUbXBCTVUxRVkzaE9lbFY1VFZSQ1lVWjNNSHBPYWtFeFRVUlJlRTU2VlROTlZFSmhUVUpWZUFwRmVrRlNRbWRPVmtKQlRWUkRiWFF4V1cxV2VXSnRWakJhV0UxM1oyZEZhVTFCTUVkRFUzRkhVMGxpTTBSUlJVSkJVVlZCUVRSSlFrUjNRWGRuWjBWTENrRnZTVUpCVVVNM1JVdFNlamRsTjNSaUsxTjZWa2RoT1c1R1RrSklXR2hHSzFka2VYQkRiMGd6WjB4blpWQnZRbTlpZUM4d1RsWjZkSHBLYTJJMWJUUUtZbUl6ZGtSbE5VTmtiSFVyYkhWcFMzRllXbWhQV0hwV05taEdWR05aYTNwTGFrUlZjMlZRU0ZaWk5XZG5Na1pDTURsdFkwVk5iMnhzUkhaV1owWldSQXBWTjJ0YVNIaDZUVGwzWjBWeGVqQkRiM2RCYUZGcFJXaFdRVVpJVHpVNU16bEpjRnBtZVdkaFVXVmlZbGx5ZUdadmMyVldZaTlHT1hOdVZ6SXdVRE01Q2pWTVluUXJPR3hNVEdKRFFrTXdNMG93V0dGU1NVUlVRbXRYZURSWlZWbDRTM05QY0dOU01tbENhVkpKYWsxamJrdHdNVTkwV21sQ2EycHdUV3RxYkcwS2EzaDVZbk13ZFRkblFucElObHBZYVZoMVJYUTVSMVJPTHpVMmRrTTNZelZxY0c5TVIyWjFRbmhsV1RoUlltWlVTRUpVYW0xWVpXUk1keXRJTlRrelNRcEllRXAwTW1oSVJqRkJiRVk0UlUxUVMwZGpNR2h6ZEdoSldtdHFRV2ROUWtGQlIycFhWRUpZVFVFMFIwRXhWV1JFZDBWQ0wzZFJSVUYzU1VOd1JFRlFDa0puVGxaSVVrMUNRV1k0UlVKVVFVUkJVVWd2VFVJd1IwRXhWV1JFWjFGWFFrSlVMM0ZKT1doYWRDdFdOMVZXTWtORWEyRk1XRXBWT1VOM1JteEVRVllLUW1kT1ZraFNSVVZFYWtGTloyZHdjbVJYU214amJUVnNaRWRXZWsxQk1FZERVM0ZIVTBsaU0wUlJSVUpEZDFWQlFUUkpRa0ZSUVU1Q1puSTBUa2xYUndwa00xRjZVa04yUzJsd2VIQkxUemRXT1VwMldsUnBSRFZDUVZoUWVHbFpObVp2YUdGSlpFeFZRVGNyWVVGSk9USlpUbnBpTVVWTlFUaDVlbll3Yml0TkNteDBkR2xNYzFaU2VGaFdSVFVyU1dRNFFUSklORXN3ZVhoR2RVNTZNRmd4VlVONE5sRm9WM2xaTlZGamRreHVVbUYzUjB0a1VIVnZXRkpJTkdOWFRGY0tRV1ZuUjFSRk1Fa3hWV3d5ZG1wd1FsQnZWR0ZWY1RScmFqSmpSRGc1S3pkWFpGTlpSRmN5VXpoMWNIaFBaVkpQWjJkQ00wOXRZMVJ6VFROcWRYQjRXUXBhVkVKQlNpdEJVRmswTUU5Q05raFNRVWc1TnpORGIyOW9iSEpZZDFOVFJESlZWbkV4ZG5kTWIwczNhbkJKUm01R1psTXlVVUZNWVd0WmIycGpZVkJNQ2xFM2JYTk5ka1JqZDFWV01HTTBXRXhNYVZSNWFEZHhZa2RzYlU5YVIwY3lhVFp3TjNKTVlUSlJNVzFLSzNkTWRVVlBNVkJLV1VOQk16RXdOMDk1UkZrS2NFRkZVMDg0YzFSa1kwZEVDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsKICAgIHNlcnZlcjogaHR0cHM6Ly9hcGkuYXBpdGVzdC01NTJmODI2YS1jMS04YTFjZjIuYXBpdGVzdC01NTJmODI2YS1lbnYuaHlwZXJzdGFja2N1c3RvbWVycy5jbG91ZDo2NDQzCiAgbmFtZTogYXBpdGVzdC01NTJmODI2YS1jMS04YTFjZjIKY29udGV4dHM6Ci0gY29udGV4dDoKICAgIGNsdXN0ZXI6IGFwaXRlc3QtNTUyZjgyNmEtYzEtOGExY2YyCiAgICB1c2VyOiBrdWJlcm5ldGVzLWFkbWluCiAgbmFtZToga3ViZXJuZXRlcy1hZG1pbkBhcGl0ZXN0LTU1MmY4MjZhLWMxLThhMWNmMgpjdXJyZW50LWNvbnRleHQ6IGt1YmVybmV0ZXMtYWRtaW5AYXBpdGVzdC01NTJmODI2YS1jMS04YTFjZjIKa2luZDogQ29uZmlnCnVzZXJzOgotIG5hbWU6IGt1YmVybmV0ZXMtYWRtaW4KICB1c2VyOgogICAgY2xpZW50LWNlcnRpZmljYXRlLWRhdGE6IExTMHRMUzFDUlVkSlRpQkRSVkpVU1VaSlEwRlVSUzB0TFMwdENrMUpTVVJMVkVORFFXaEhaMEYzU1VKQlowbEpXV05zY1d4b1dUUlFaR2QzUkZGWlNrdHZXa2xvZG1OT1FWRkZURUpSUVhkR1ZFVlVUVUpGUjBFeFZVVUtRWGhOUzJFelZtbGFXRXAxV2xoU2JHTjZRV1ZHZHpCNVRtcEJNVTFFWTNoT2VsVjVUVlJDWVVaM01IbE9la0V4VFVSamVFNTZWVE5OVkVKaFRVUjNlQXBJZWtGa1FtZE9Wa0pCYjFSR2JYUXhXVzFXYUZwSE1EWlpNbmd4WXpOU2JHTnBNV2hhUnpGd1ltNU5lRWRVUVZoQ1owNVdRa0ZOVkVWSGRERlpiVlo1Q21KdFZqQmFXRTEwV1ZkU2RHRlhOSGRuWjBWcFRVRXdSME5UY1VkVFNXSXpSRkZGUWtGUlZVRkJORWxDUkhkQmQyZG5SVXRCYjBsQ1FWRkRkbWw2YUZVS1ZrMTNSMGx5UzBoTlRHeHJVVkp5S3psNGRIWlVXVWR5TW1WSWJqTTNXRU5MT1V0UlFUTlVTbVUyTUVzeE1VOURNMWR4YW1GblVHOVBkRlJNUzJGbmFncFNVVW9yYURKNVJFTktXbVExYmxKU2JGYzBRMmhIT0dacU1qZFZTMk5CZG0xdFduWklkVGRPVm5SaFQxVXJWM0E1ZEhScVNIQllOMFpwWTFSTVpUSXZDbnBaVHpSRVJYbHdVMDlIYTJkb1QxQjNUM05RY0VGU2MwdFpaVTlXWWxoM1RXVnlVbVZCUTNNM1dqVnJWVE4wV1hJd1kybzVVVkZqYmxGUFUwaE5TSFVLTld4clNtTjFSbmhpZWtwNWVWQllXVTlsTVM5cGNtdFliVmx3VVV0aGJGUlJSMVV6UmpsS05XcFFUR3hTTVhsMVNEZExWVkJWVW1aRVowa3hSRloxZHdwTFVsaGFUak5GYm14Q2NFcHpVR2Q2ZUV0NGJ5c3ZSa0p2TTAxd2FrOXZNRXRHY2tVcmVXSXdiVzQwT0hwS2MyUlhjbTFUU1VNeWVYRkZPRUpOZWxaMENqWkdlVzU2YUZwV01scFZPR3czVlZwQlowMUNRVUZIYWxacVFsVk5RVFJIUVRGVlpFUjNSVUl2ZDFGRlFYZEpSbTlFUVZSQ1owNVdTRk5WUlVSRVFVc0tRbWRuY2tKblJVWkNVV05FUVdwQlRVSm5UbFpJVWsxQ1FXWTRSVUZxUVVGTlFqaEhRVEZWWkVsM1VWbE5RbUZCUmxBcmIyb3lSbTB6TlZoMFVsaFpTUXBQVW05MFkyeFVNRXhCVjFWTlFUQkhRMU54UjFOSllqTkVVVVZDUTNkVlFVRTBTVUpCVVVFMVYyUnRTMVpLVm1SUWVHbHJSMEprVkZFclVXNUxaek0zQ2pSc1NUQjFkV1JrYkRFeWNqRjJPSGh5WldaR1YzRktXRXB2VFd0cU1XZ3hZazE1YjB4c2IzTkdTa2hSWmtSMWJsRnpUR1ExYkV4Skx6WjZORXhoYUdvS2R6ZzBjbGxSTmtwa05IRmFhVmhGWkU1WGNYbHpXRTFWY1hFME5uQlRVazVHV0doT1JEZ3ZZamhRWW04NE5XWTRVbTVuVG5FME0yMVRlR1pNZEdKRVRncElTblE1UlRseFMwSndXV3gwY25SU1VFRnhNMGt6TW5sTGJFUnZVR3hzTWswelNFOXhjRmRUT1V0QlNVZzFWVzAxWm1KRmJWbExNVk50VlhnMWFtOHhDakJKZW1aTGRrRnVabmRrYzB4WVJVY3dLM0o2VFRRelFuVXJUbEE1VlZFNVJVeEliRlZpY1hBeFYwdG5lbXN5ZUZoWU5ubFFhM05HY0d4Q09HMDVNUzhLUWxGSmNVWmlhbEJ0Wm5SQ1ZFWk1UbEpwVlVVM2RHeENjVGx2TTBwRWVEWkJiRkZhZEZOSlYzaDJOWHBTU0hVemQxTXlTMVY0UkZCTmNIcFhDaTB0TFMwdFJVNUVJRU5GVWxSSlJrbERRVlJGTFMwdExTMEsKICAgIGNsaWVudC1rZXktZGF0YTogTFMwdExTMUNSVWRKVGlCU1UwRWdVRkpKVmtGVVJTQkxSVmt0TFMwdExRcE5TVWxGY0VGSlFrRkJTME5CVVVWQmNqUnpORlpHVkUxQ2FVdDVhSHBETlZwRlJXRXZkbU5pWWpBeVFuRTVibWcxT1NzeGQybDJVMnRCVGpCNVdIVjBDa04wWkZSbmRERnhiekp2UkRaRWNsVjVlVzF2U1RCVlEyWnZaSE5uZDJsWFdHVmFNRlZhVm5WQmIxSjJTRFE1ZFRGRGJrRk1OWEJ0WW5nM2RYcFdZbGNLYW14UWJIRm1ZbUpaZURaV0szaFpia1Y1TTNSMk9ESkVkVUY0VFhGVmFtaHdTVWxVYWpoRWNrUTJVVVZpUTIxSWFteFhNVGhFU0hFd1dHZEJjazh5WlFwYVJrNDNWMHM1U0VrdlZVVklTakJFYTJoNlFqZDFXbHBEV0V4b1kxYzRlV056YWpFeVJHNTBaalJ4TlVZMWJVdFZRMjF3VlRCQ2JFNTRabE5sV1hwNUNqVlZaR055YUN0NWJFUXhSVmgzTkVOT1VURmljME5yVmpKVVpIaEtOVkZoVTJKRU5FMDRVM05oVUhaNFVXRk9la3RaZW5GT1EyaGhlRkJ6YlRsS2NDc0tVRTE1WWtoV2NUVnJhVUYwYzNGb1VFRlVUVEZpWldoamNEZzBWMVprYlZaUVNtVXhSMUZKUkVGUlFVSkJiMGxDUVVGbmNtRkpSekJQU2t0SmFIUndNd293UVdvd1duSmpOamxPU0c1UU5FOXdOMnBQUjFjNFZXWnRVSE5QZW1nMllWaFBSa2RUUTB0ekx6QjBMMjlhVEhKUFowRkRabXR4TVRaWWJrNHZObFJTQ21Zek16ZFFZWEZYVlRkd1YxRXpNbkZvVkZCdGFGbFZlRzlHWWtocU9FZExjWGN5VVhCbU1sVXJXSHBTWWxwV2VqUkliWEZDTkdsSWJtWjFkM2gwYVZNS1FtSTFUVTR6UkZoUU5XeEpkblJRZURCMFkzazRabUYwZGtGdWJtZG5WbUkzV1ZkRU4wRnJSM00zVEZKb2F6aE5WRk53VFhBNGVWTlhWRzV4UjJ0M2JncEtkR3BITTJkT1dqZDRRMDlrTW5aUFNWVXlaalpYV0dkSWFuQjRTVmd2WkhOSVJrTTBNR3RCTUhZclpXY3lNVUpwUWpBNVQyVjFPQ3RwUVcxNVlsSk1DalpXUjBWcFlsTkZUMVpXWWxNemExbGxOVlpETWs5emEwTlJNbkphTkVzeUsxQk5RbTlxZGxkYWR6WktOV0V5Tm5wME5HVjJabk5LTkVVeGMydEpTV1FLTHpNM1RXWjNSVU5uV1VWQmR6bFNRV1l6WkZOdk1VNTBVVmMzYmxkSGJWRTVla2h3YW5OalQyTjRaMEZQWW5FMlUwaDRiV1pTYlVWSFltWlJabVpTYVFwV1NFSTRjQ3MyTmtWUk5VczJlR3R0UjBsMVRrRjVOM2hNWjBoWE0wTlhkelJKTnprNFFuQkVTelo2VG5ZMFlsY3ZkbTVXV1dOdVlXTllUazFIYms1bkNrSmlUbnBFU1ZKU1dHNXhRMVJsWlZkclkzQmtablZoTjNweWNESmlWVXR0WmpJM2VqRlBNME5TWWpoNVJXRTJibHBGYjFFeVUydERaMWxGUVRWWWRGa0tZMDlTT1VkelF6QnVZWE15TTNrdmFqWlBaWFpoYURCWFdFMVhkM1kzUzA5Wk1WcDBMMUZJWTNaUGFYSlRkVlExVmpObVZYUkdkbGRFYzJoVldWQTVlQXBGVTI1NFFqSnpTRkJKVkZnNU1pdENVbkUzV1ZGM2VGZHJVRU1yU2s1NlpVNVpkMmxtYkVoeFlWTnBjV3ROVjBwMFUyMTJVVkpFTUhKd1pXNVFOWFpWQ25nNWNESjFiVkJyVm5kdWVHeE9TM05WVFVOamRFSTBaMGRtTUhaUWNUSjZWVXAxVTFOdVJVTm5XVUppZWpkc2JHbFpXQ3NyVUVGNVV6RkxMMmx6TjJrS1pHczBkMGRJWkZnd2NISlpaR2RyT0ZSellXMVNSRFZCTmtsTmFHRnRRbTVuYXpKUVZtdGtOa1UxT1dkV1pYZGpaV1ZFYXpaNU9EaERURk0xYUdod1JncFVaMVZWWlhSMVprMUhaRTlOYlU4clN6RmxNV1o2VDJoSFVrNUlSeko1WW1ZMlUyazJOalZUWnpGR2QxRlFTRUUzU1Zkc1NqTjRTakJtV1ZGQ056SlVDalZYYzBGSE0wTkllbkp2YTNaRFVGTjVlamRYT0ZGTFFtZFJRMGw1Tmxac04zQTJlRUYxZW05RVJHTjVhR3czU3paTmJVWmlVRGt5YjBKWlJIZENTRzRLU0RRclJGRmpablpEU21WTWJITkZXVXBuVDNrelFXWllWMmMwUzI5R2MzSlRlVUV5VG5SUWFXWkxTWFJEZEdjMldsZElabGhuZVVGaVJFazRNRlJxV2dwSVRXTXpSeXRsY21ScFZuWkdXVXBKWW5sbVkyeHdiakZPWTNaeFVFSTVNRmd3VG14VGMxUkZTMlJhVEhrcldWTlpVemxKYnpacGNFNVhZMnBoZGtrMENtVXZVMUl3VVV0Q1oxRkRRWFkxVlRBMldVb3hUazEyS3paVlkzQkVZVGhhVURjdlVubE5ZblZKWTB4S1pWZDRRVkV6VG05TE1saFZPWFpWVkVRdk5ta0thWFpKYVVrd2IwZFVjRmtySzJ0WWIxSndiMU0yUm1OQmRIZEdOSEJFZWxCSWIwRlBiMjlwVFZaaE5uUTBaVTgxWjJrdlpqUkJkVlZyWldoSlJWQkthQW94TlRaNVJHZFlObVJhT0U0eFJFUk9SR3AwVFd0b2JIZDRTbEprY2pSNFMyaE9SbGNyT1dKdlRsaEdXVTV3VjFJM2NFaGtVbmM5UFFvdExTMHRMVVZPUkNCU1UwRWdVRkpKVmtGVVJTQkxSVmt0TFMwdExRbz0K",
            "description": "Kubeconfig file contents used to authenticate against the cluster."
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource.",
            "example": "CREATING"
          },
          "status_reason": {
            "type": "string",
            "nullable": true,
            "example": "Bastion is ready",
            "description": "Human-readable explanation of the current cluster status."
          },
          "node_groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterNodeGroupFields"
            },
            "description": "Worker-node groups in the cluster."
          },
          "master_flavor": {
            "$ref": "#/components/schemas/Cluster_Flavor_Fields",
            "description": "Flavor used for the cluster master node."
          },
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterNodeFields"
            },
            "description": "Nodes currently in the cluster."
          },
          "keypair_name": {
            "type": "string",
            "description": "Name of the SSH keypair attached to the VM.",
            "example": "example-keypair"
          },
          "is_reconciling": {
            "type": "boolean",
            "example": true,
            "description": "Whether the cluster is currently reconciling its desired state (true) or stable (false)."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-06T16:04:09Z"
          }
        }
      },
      "ResourceLevelBillingDetailsVolumeMetrics": {
        "type": "object",
        "properties": {
          "price_per_hour": {
            "type": "number",
            "description": "Hourly charge for the resource.",
            "example": 0
          },
          "incurred_bill": {
            "type": "number",
            "description": "Total amount accrued for the resource in the time window, in the response's `currency`.",
            "example": 0
          },
          "usage_time": {
            "type": "number",
            "description": "Total billable time in the window, expressed in hours.",
            "example": 0
          },
          "non_discounted_price_per_hour": {
            "type": "number",
            "example": 0,
            "description": "Hourly price before any contract or discount is applied."
          },
          "non_discounted_bill": {
            "type": "number",
            "description": "Bill amount before any discounts or contract pricing.",
            "example": 0
          }
        }
      },
      "Subscribe_or_unsubscribe_update_payload": {
        "required": [
          "subscribe"
        ],
        "type": "object",
        "properties": {
          "subscribe": {
            "type": "boolean",
            "description": "`false` indicates that the user will no longer receive notifications for this specific threshold, whereas `true` signifies that the user will receive notification emails."
          }
        }
      },
      "object_storage__RegionResponse": {
        "title": "RegionResponse",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the region.",
            "example": "CANADA-1"
          }
        }
      },
      "Security_Group_Rule_Fields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 5341
          },
          "direction": {
            "type": "string",
            "description": "Direction of traffic the rule applies to, `ingress` or `egress`.",
            "example": "ingress"
          },
          "protocol": {
            "type": "string",
            "description": "Protocol, one of `tcp`, `udp`, `icmp`, or `any`.",
            "example": "tcp"
          },
          "port_range_min": {
            "type": "integer",
            "description": "Lower bound (inclusive) of the port range the rule applies to.",
            "example": 22
          },
          "port_range_max": {
            "type": "integer",
            "description": "Upper bound (inclusive) of the port range the rule applies to.",
            "example": 22
          },
          "ethertype": {
            "type": "string",
            "description": "Internet Protocol version, `IPv4` or `IPv6`.",
            "example": "IPv4"
          },
          "remote_ip_prefix": {
            "type": "string",
            "description": "CIDR block the rule applies to.",
            "example": "0.0.0.0/0"
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource.",
            "example": "pending"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-06T14:32:11Z"
          }
        }
      },
      "Create_Security_Rule_Payload": {
        "required": [
          "direction",
          "ethertype",
          "protocol",
          "remote_ip_prefix"
        ],
        "type": "object",
        "properties": {
          "direction": {
            "type": "string",
            "description": "The direction of traffic that the firewall rule applies to."
          },
          "ethertype": {
            "type": "string",
            "description": "The Ethernet type associated with the rule."
          },
          "protocol": {
            "type": "string",
            "description": "The network protocol associated with the rule. Call the [List firewall rule protocols](https://docs.hyperstack.cloud/docs/api-reference/list-firewall-rule-protocols) endpoint to retrieve a list of permitted network protocols.",
            "example": "any",
            "enum": [
              "any",
              "ah",
              "dccp",
              "egp",
              "esp",
              "gre",
              "hopopt",
              "icmp",
              "igmp",
              "ip",
              "ipip",
              "ipv6-encap",
              "ipv6-frag",
              "ipv6-icmp",
              "icmpv6",
              "ipv6-nonxt",
              "ipv6-opts",
              "ipv6-route",
              "ospf",
              "pgm",
              "rsvp",
              "sctp",
              "tcp",
              "udp",
              "udplite",
              "vrrp"
            ]
          },
          "remote_ip_prefix": {
            "type": "string",
            "description": "The IP address range that is allowed to access the specified port. Use \"0.0.0.0/0\" to allow any IP address."
          },
          "port_range_min": {
            "type": "integer",
            "description": "The minimum port number in the range. Required when `protocol` is `tcp` or `udp`."
          },
          "port_range_max": {
            "type": "integer",
            "description": "The maximum port number in the range. Required when `protocol` is `tcp` or `udp`."
          }
        }
      },
      "object_storage__RegionsEnum": {
        "type": "string",
        "enum": [
          "CANADA-1"
        ],
        "example": "CANADA-1"
      },
      "Create_Profile_Payload": {
        "required": [
          "data",
          "name"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "description": "An object containing the virtual machine configuration to save in this profile. Must include all fields required by the [**Create virtual machines**](https://docs.hyperstack.cloud/docs/api-reference/create-vms) endpoint (`environment_name`, `flavor_name`, `key_name`, `name`, `count`). Can also include optional fields such as `image_name` or `assign_floating_ip`. All values must be provided as strings.",
            "properties": {
              "environment_name": {
                "type": "string",
                "description": "Name of the environment in which to create the virtual machine."
              },
              "flavor_name": {
                "type": "string",
                "description": "Name of the GPU hardware configuration ([flavor](https://docs.hyperstack.cloud/docs/hardware/flavors)) for the virtual machine."
              },
              "key_name": {
                "type": "string",
                "description": "Name of the SSH key pair to use for access to the virtual machine."
              },
              "name": {
                "type": "string",
                "description": "Name to assign to the virtual machine when deployed from this profile."
              },
              "count": {
                "type": "string",
                "description": "Number of virtual machines to create (as a string, e.g. `\"1\"`)."
              }
            }
          },
          "name": {
            "maxLength": 50,
            "type": "string",
            "description": "Name of the profile being created."
          },
          "description": {
            "maxLength": 150,
            "type": "string",
            "description": "Optional description for the profile being created."
          }
        }
      },
      "CustomerContractDetailResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          },
          "contracts": {
            "$ref": "#/components/schemas/CustomerContractFields",
            "description": "Customer contracts on the account."
          }
        }
      },
      "ResourceLevelBillingVolumeDetailsResources": {
        "type": "object",
        "properties": {
          "attributes": {
            "$ref": "#/components/schemas/ResourceLevelBillingDetailsVolumeAttributes",
            "description": "Additional resource attributes."
          },
          "metrics": {
            "$ref": "#/components/schemas/ResourceLevelBillingDetailsVolumeMetrics",
            "description": "Resource utilisation metrics."
          }
        }
      },
      "GetPermissionsResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting permissions success"
          },
          "permissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PermissionFields"
            },
            "description": "Permissions granted by the role."
          }
        }
      },
      "ResourceLevelGraphBillingDetailsMetrics": {
        "type": "object",
        "properties": {
          "incurred_bill": {
            "type": "number",
            "description": "Total amount accrued for the resource in the time window, in the response's `currency`.",
            "example": 0.011612903333333001
          },
          "incurred_bill_graph": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GraphDatetimeValueModel"
            },
            "description": "Time series of the cost incurred over the requested period."
          }
        }
      },
      "ResourceBillingResponseForCustomer": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          },
          "calculated_resource_bills": {
            "$ref": "#/components/schemas/ResourceObjectResponseForCustomer",
            "description": "Contains detailed billing information for a specified resource."
          }
        }
      },
      "ResourceLevelBillingHistoryResponseMetrics": {
        "type": "object",
        "properties": {
          "incurred_bill": {
            "type": "number",
            "description": "Total amount accrued for the resource in the time window, in the response's `currency`.",
            "example": 1.4799118041992184e-11
          },
          "price_per_hour": {
            "type": "number",
            "description": "Hourly charge for the resource.",
            "example": 1.479911804199218e-10
          },
          "usage_time": {
            "type": "number",
            "description": "Total billable time in the window, expressed in hours.",
            "example": 1680
          }
        }
      },
      "InviteUserResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Inviting user successful"
          },
          "invite": {
            "$ref": "#/components/schemas/InviteFields",
            "description": "An object containing details about the invitation that was sent."
          }
        }
      },
      "Keypair_Environment_Fields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 6190
          },
          "name": {
            "type": "string",
            "description": "Name of the environment.",
            "example": "example-environment"
          },
          "region": {
            "type": "string",
            "description": "Region the resource is in (for example, `NORWAY-1`, `CANADA-1`, `US-1`)."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created."
          },
          "features": {
            "$ref": "#/components/schemas/Keypair_Environment_Features",
            "description": "Optional feature flags applicable to the resource."
          }
        }
      },
      "Instance": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting VM detail successful"
          },
          "instance": {
            "$ref": "#/components/schemas/Instance_Fields",
            "description": "Virtual machine the entry refers to."
          }
        }
      },
      "Update_Volume_Attachment_Payload": {
        "type": "object",
        "properties": {
          "protected": {
            "type": "boolean",
            "description": "When set to `true`, the volume attachment is marked as protected, preventing accidental or manual detachment from the VM."
          }
        }
      },
      "Update_Volume_Response": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Input payload validation failed"
          },
          "volume": {
            "$ref": "#/components/schemas/Volume_Fields",
            "description": "Volume attached to the resource."
          },
          "updates": {
            "type": "object",
            "properties": {},
            "description": "Summary of fields that were updated."
          }
        }
      },
      "object_storage__BucketResponse": {
        "title": "BucketResponse",
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created."
          },
          "endpoint": {
            "type": "string",
            "description": "Bucket endpoint URL. Use this with the S3 protocol."
          },
          "name": {
            "type": "string",
            "description": "Name of the object storage bucket."
          },
          "num_objects": {
            "type": "integer",
            "description": "Number of objects."
          },
          "region": {
            "$ref": "#/components/schemas/object_storage__RegionsEnum",
            "description": "The [**region**](https://docs.hyperstack.cloud/docs/resource-management/regions) where the bucket is stored."
          },
          "size_bytes": {
            "type": "integer",
            "description": "Accumulated size in bytes."
          },
          "size_bytes_actual": {
            "type": "integer",
            "description": "Size utilized in bytes."
          }
        }
      },
      "FirewallResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Firewall is scheduled for creation."
          },
          "firewall": {
            "$ref": "#/components/schemas/FirewallFields",
            "description": "Firewall attached to the VM."
          }
        }
      },
      "UserPermissionFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 7613
          },
          "resource": {
            "type": "string",
            "description": "Resource the entry refers to.",
            "example": "Environment"
          },
          "permission": {
            "type": "string",
            "description": "Permission grant on the resource.",
            "example": "environment:list"
          }
        }
      },
      "WorkloadBillingHistoryResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "No fine-tuning data found for 2026-05-01T00:00:00 - 2026-05-07T15:34:02 "
          },
          "billing_history_fine_tuning": {
            "$ref": "#/components/schemas/billing_history_fine_tuning",
            "description": "Fine-tuning workload billing records for the requested period."
          }
        }
      },
      "Create_Profile_Response": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Profile created successfully"
          },
          "profile": {
            "$ref": "#/components/schemas/Profile_Fields",
            "description": "An object containing the configuration of the virtual machine saved in the created profile."
          }
        }
      },
      "MFAStatusFields": {
        "type": "object",
        "properties": {
          "mfa_enabled": {
            "type": "boolean",
            "description": "Whether MFA is enabled for the user.",
            "example": true
          }
        }
      },
      "SnapshotFields": {
        "type": "object",
        "properties": {
          "created_at": {
            "type": "string",
            "description": "ISO 8601 UTC timestamp indicating when the snapshot was created.",
            "format": "date-time",
            "example": "2026-05-06T16:04:09Z"
          },
          "description": {
            "type": "string",
            "description": "Description of the snapshot.",
            "example": "example"
          },
          "id": {
            "type": "integer",
            "description": "Unique identifier of the snapshot.",
            "example": 1402
          },
          "is_image": {
            "type": "boolean",
            "description": "Indicates if the snapshot is an image.",
            "example": false
          },
          "name": {
            "type": "string",
            "description": "Name of the snapshot.",
            "example": "example-snapshot"
          },
          "region_id": {
            "type": "integer",
            "description": "Region where the snapshot will be available.",
            "example": 1129
          },
          "size": {
            "type": "integer",
            "description": "Size in GB of the snapshot.",
            "example": 0
          },
          "status": {
            "type": "string",
            "description": "Status of the snapshot.",
            "example": "CREATING"
          },
          "updated_at": {
            "type": "string",
            "description": "Last update timestamp.",
            "format": "date-time",
            "example": "2026-05-06T16:04:09Z"
          },
          "vm_id": {
            "type": "integer",
            "description": "ID of the VM from which the snapshot is created.",
            "example": 2058
          },
          "has_floating_ip": {
            "type": "boolean",
            "description": "Indicates if the VM had a floating IP assigned.",
            "example": false
          },
          "labels": {
            "type": "array",
            "description": "Labels associated with snapshot.",
            "items": {
              "type": "string",
              "description": ""
            }
          }
        }
      },
      "Keypair_Environment_Features": {
        "type": "object",
        "properties": {
          "network_optimised": {
            "type": "boolean",
            "description": "Whether the resource has the network-optimised feature enabled.",
            "example": false
          },
          "green_status": {
            "type": "string",
            "example": "GREEN",
            "enum": [
              "GREEN",
              "PARTIALLY_GREEN",
              "NOT_GREEN"
            ],
            "description": "Indicator of how much of the region's capacity is running on green energy."
          }
        }
      },
      "Flavor_Fields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 3287
          },
          "name": {
            "type": "string",
            "description": "Name of the flavor.",
            "example": "n1-cpu-small"
          },
          "display_name": {
            "type": "string",
            "description": "Human-readable display name. Falls back to `name` if not set.",
            "nullable": true
          },
          "region_name": {
            "type": "string",
            "description": "Region the resource is in (for example, `NORWAY-1`, `CANADA-1`, `US-1`).",
            "example": "NORWAY-1"
          },
          "cpu": {
            "type": "integer",
            "description": "Number of vCPU cores.",
            "example": 4
          },
          "ram": {
            "type": "integer",
            "description": "Memory allocated to the flavor, in GB.",
            "example": 4
          },
          "disk": {
            "type": "integer",
            "description": "Root disk capacity, in GB.",
            "example": 100
          },
          "ephemeral": {
            "type": "integer",
            "description": "Ephemeral disk capacity, in GB. Cleared when the VM is deleted.",
            "example": 0
          },
          "gpu": {
            "type": "string",
            "description": "GPU model name. Empty string if the flavor has no GPU.",
            "example": ""
          },
          "gpu_count": {
            "type": "integer",
            "description": "Number of GPUs attached to the flavor.",
            "example": 0
          },
          "stock_available": {
            "type": "boolean",
            "description": "Whether stock is currently available for this flavor in the region.",
            "example": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-06T16:04:09Z"
          },
          "labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LableResonse"
            },
            "description": "Optional user-supplied tags for grouping or filtering."
          },
          "features": {
            "type": "object",
            "properties": {},
            "description": "Optional feature flags applicable to the resource."
          },
          "image_restrictions": {
            "type": "object",
            "description": "Image compatibility restrictions for this flavor.",
            "allOf": [
              {
                "$ref": "#/components/schemas/ImageRestrictions"
              }
            ]
          }
        }
      },
      "Environment": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Environment example-environment is created successfully"
          },
          "environment": {
            "$ref": "#/components/schemas/Environment_Fields",
            "description": "Environment containing the resource."
          }
        }
      },
      "RolePermissionFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier."
          },
          "resource": {
            "type": "string",
            "description": "Resource the entry refers to."
          },
          "permission": {
            "type": "string",
            "description": "Permission grant on the resource."
          }
        }
      },
      "object_storage__HealthResponse": {
        "title": "HealthResponse",
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource.",
            "example": "alive"
          }
        }
      },
      "Attachments_Fields_for_Volume": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 2058
          },
          "device": {
            "type": "string",
            "description": "Device path the volume is attached at on the VM (for example, `/dev/sdb`).",
            "example": "/dev/disk/by-id/virtio-05ff4fce-957f-486c-b"
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource.",
            "example": "ATTACHING"
          },
          "instance_id": {
            "type": "integer",
            "description": "Identifier of the virtual machine.",
            "example": 1402
          },
          "protected": {
            "type": "boolean",
            "description": "When `true`, the resource cannot be deleted while protection is enabled.",
            "example": false
          }
        }
      },
      "ResourceBillingEventsHistoryMetrics": {
        "type": "object",
        "properties": {
          "start": {
            "type": "string",
            "description": "ISO 8601 UTC timestamp indicating when the billing event started."
          },
          "event": {
            "type": "string",
            "description": "Event emitted by the resource."
          },
          "event_duration": {
            "type": "number",
            "description": "Duration of the billing event, in hours."
          },
          "price_per_hour": {
            "type": "number",
            "description": "Hourly charge for the resource."
          },
          "total_cost": {
            "type": "number",
            "description": "The combined usage cost in dollars from the previous day for all of your resources."
          }
        }
      },
      "CustomerContractFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier."
          },
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization that owns the resource."
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of the resource."
          },
          "start_date": {
            "type": "string",
            "format": "date-time",
            "description": "Inclusive start of the time window. ISO 8601 with `T` separator and time component (for example, `2026-05-01T00:00:00`)."
          },
          "end_date": {
            "type": "string",
            "format": "date-time",
            "description": "Exclusive end of the time window. Same format as `start_date`."
          },
          "expiration_policy": {
            "type": "integer",
            "description": "The expiration policy for the contract is represented by a value of `0`, indicating that contracted resources will be deleted upon contract expiration, or `1`, indicating that contracted resources will be retained, with billing continuing at market rates."
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource."
          },
          "discounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContractDiscountPlanFields"
            },
            "description": "An array of objects containing information about discounts applied to each resource type associated with the contract."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created."
          }
        }
      },
      "Flavor_Object_Fields": {
        "type": "object",
        "properties": {
          "cpu": {
            "type": "integer",
            "description": "Number of vCPU cores."
          },
          "ram": {
            "type": "number",
            "description": "Memory allocated to the flavor, in GB."
          },
          "disk": {
            "type": "integer",
            "description": "Root disk capacity, in GB."
          },
          "gpu": {
            "type": "string",
            "description": "GPU model name. Empty string if the flavor has no GPU."
          },
          "gpu_count": {
            "type": "integer",
            "description": "Number of GPUs attached to the flavor."
          }
        }
      },
      "MetricItemFields": {
        "type": "object",
        "properties": {
          "unit": {
            "type": "string",
            "example": "ns",
            "description": "The unit of measurement for CPU metrics (e.g., \"nanoseconds\")."
          },
          "columns": {
            "type": "array",
            "example": [
              "time",
              "granularity",
              "value"
            ],
            "items": {
              "type": "string"
            },
            "description": "An array containing the column names for CPU metrics. Includes `time` for the timestamp of the event, `granularity` for the frequency at which values are sampled, and the performance `value` in nanoseconds."
          },
          "data": {
            "type": "array",
            "example": [
              [
                "2023-09-01T01:19:00+00:00",
                60,
                1041433070000000
              ],
              [
                "2023-09-01T01:24:00+00:00",
                60,
                1041441320000000
              ]
            ],
            "items": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {}
              }
            },
            "description": "Time series data points for the metric."
          }
        }
      },
      "ResourceLevelGraphBillingDetailsVM": {
        "type": "object",
        "properties": {
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization that owns the resource.",
            "example": 1402
          },
          "billing_history": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceLevelGraphBillingVMDetailsResources"
            },
            "description": "Billing history entries for the resource."
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of items across all pages of this result set.",
            "example": 1
          },
          "granularity": {
            "type": "integer",
            "description": "Time bucket size, in seconds, for the data points returned.",
            "example": 86400
          }
        }
      },
      "Instance_Image_Fields": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the image.",
            "example": "Ubuntu Server 24.04 LTS (Noble Numbat)"
          }
        },
        "nullable": true
      },
      "Flavor_List_Response": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting flavors successful"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Flavor_Item_Get_Response"
            },
            "description": "List of available flavors grouped by region."
          }
        }
      },
      "Environment_Fields_for_Volume": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the environment.",
            "example": "example-environment"
          },
          "features": {
            "type": "object",
            "properties": {},
            "description": "Optional feature flags applicable to the resource."
          },
          "region": {
            "type": "string",
            "description": "Region the resource is in (for example, `NORWAY-1`, `CANADA-1`, `US-1`).",
            "example": "NORWAY-1"
          }
        }
      },
      "OrganizationUserResponseModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 9876
          },
          "sub": {
            "type": "string",
            "example": "5c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d",
            "description": "The unique identifier for the user for authentication and authorization purposes."
          },
          "email": {
            "type": "string",
            "description": "User email address.",
            "example": "user@example.com"
          },
          "username": {
            "type": "string",
            "description": "Username used to log in.",
            "example": "Jane Doe"
          },
          "name": {
            "type": "string",
            "description": "Full name of the user.",
            "example": "Jane Doe"
          },
          "role": {
            "type": "string",
            "description": "Role assigned to the user.",
            "example": "Owner"
          },
          "rbac_roles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RbacRoleField"
            },
            "description": "An array containing the IDs of any [**RBAC**](https://docs.hyperstack.cloud/docs/resource-management/organization#user-roles) (Role-Based Access Control) roles granted to the user."
          },
          "joined_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp indicating when the user joined the organization."
          },
          "last_login": {
            "type": "string",
            "format": "date-time",
            "example": "2026-05-06T14:32:11Z",
            "description": "ISO 8601 UTC timestamp indicating when the user last logged in."
          }
        }
      },
      "PolicyPermissionFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 6190
          },
          "resource": {
            "type": "string",
            "description": "Resource the entry refers to.",
            "example": "Environment"
          },
          "permission": {
            "type": "string",
            "description": "Permission grant on the resource.",
            "example": "environment:list"
          }
        }
      },
      "voucher": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Voucher code."
          },
          "id": {
            "type": "integer",
            "description": "Voucher ID."
          },
          "status": {
            "type": "string",
            "description": "Voucher status."
          },
          "redemption_count": {
            "type": "integer",
            "description": "Current redemption count for a General Voucher."
          },
          "max_redemption_count": {
            "type": "integer",
            "description": "Max redemption count for a General Voucher."
          },
          "remaining_redemptions": {
            "type": "integer",
            "description": "Number of remaining redemptions allowed on this voucher."
          }
        }
      },
      "Flavor_Item_Get_Response": {
        "type": "object",
        "properties": {
          "gpu": {
            "type": "string",
            "description": "GPU model name. Empty string if the flavor has no GPU.",
            "example": ""
          },
          "region_name": {
            "type": "string",
            "description": "Region the resource is in (for example, `NORWAY-1`, `CANADA-1`, `US-1`).",
            "example": "NORWAY-1"
          },
          "flavors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Flavor_Fields"
            },
            "description": "An array of CPU-only flavor objects available for use as master nodes."
          }
        }
      },
      "Security_Rules_Protocol_Fields": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting security rule protocols successful"
          },
          "protocols": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of network protocols supported for firewall security rules."
          }
        }
      },
      "Volumes_Fields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 9876
          },
          "name": {
            "type": "string",
            "description": "Name of the volume.",
            "example": "example-volume"
          },
          "environment": {
            "$ref": "#/components/schemas/Environment_Fields_for_Volume",
            "description": "Environment containing the resource."
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of the resource.",
            "example": "example"
          },
          "volume_type": {
            "type": "string",
            "description": "Storage tier of the volume.",
            "example": "Cloud-SSD"
          },
          "size": {
            "type": "integer",
            "description": "Volume capacity in GB.",
            "example": 10
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource.",
            "example": "available"
          },
          "bootable": {
            "type": "boolean",
            "description": "Whether the volume is the VM's boot volume.",
            "example": false
          },
          "image_id": {
            "type": "integer",
            "description": "Identifier of the OS image to install, see [List images](https://docs.hyperstack.cloud/docs/api-reference/list-images).",
            "nullable": true
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL Hyperstack calls when the resource changes state.",
            "nullable": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-07T09:21:55Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was last modified.",
            "nullable": true,
            "example": "2026-05-07T09:21:55Z"
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Attachments_Fields_for_Volume"
            },
            "description": "Attachments associated with this resource."
          }
        }
      },
      "AccessTokenField": {
        "type": "object",
        "properties": {
          "access_token": {
            "type": "string",
            "description": "JWT access token used to authenticate API requests."
          }
        }
      },
      "DeleteClusterNodesFields": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "description": "An array of one or more node IDs (worker or master) to be deleted from the specified Kubernetes cluster. Only nodes with the roles `worker` or `master` may be deleted."
          }
        }
      },
      "ResourceLevelBillingHistoryResources": {
        "type": "object",
        "properties": {
          "attributes": {
            "$ref": "#/components/schemas/ResourceLevelBillingHistoryResponseAttributes",
            "description": "Additional resource attributes."
          },
          "metrics": {
            "$ref": "#/components/schemas/ResourceLevelBillingHistoryResponseMetrics",
            "description": "Resource utilisation metrics."
          }
        }
      },
      "ClusterNodeInstanceFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 7613
          },
          "name": {
            "type": "string",
            "description": "Name of the cluster node virtual machine.",
            "example": "example-c1-bastion-0"
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource.",
            "example": "CREATING"
          },
          "fixed_ip": {
            "type": "string",
            "description": "Fixed (private) IP address assigned to the VM in its environment.",
            "nullable": true,
            "example": "192.0.2.42"
          },
          "floating_ip": {
            "type": "string",
            "description": "Floating (public) IP address attached to the VM, or `null` if none.",
            "nullable": true,
            "example": "192.0.2.91"
          },
          "floating_ip_status": {
            "type": "string",
            "description": "State of the floating-IP attachment.",
            "nullable": true,
            "example": "ATTACHING"
          },
          "contract_id": {
            "type": "integer",
            "description": "Identifier of the customer contract under which the resource is billed.",
            "nullable": true
          },
          "image_id": {
            "type": "integer",
            "description": "Identifier of the OS image to install, see [List images](https://docs.hyperstack.cloud/docs/api-reference/list-images).",
            "example": 7613
          }
        }
      },
      "ResourceLevelGraphBillingVolumeDetailsResources": {
        "type": "object",
        "properties": {
          "attributes": {
            "$ref": "#/components/schemas/ResourceLevelGraphBillingDetailsAttributes",
            "description": "Additional resource attributes."
          },
          "metrics": {
            "$ref": "#/components/schemas/ResourceLevelGraphBillingDetailsMetrics",
            "description": "Resource utilisation metrics."
          }
        }
      },
      "Payment_Initiate_Payload": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "The amount to pay, in dollars.",
            "minimum": 5,
            "example": 5
          }
        }
      },
      "TokenBasedBillingHistoryResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "No data_synthesis data found for 2026-05-01T00:00:00 - 2026-05-07T15:34:01 "
          },
          "billing_history_serverless_inference": {
            "$ref": "#/components/schemas/billing_history_serverless_inference",
            "description": "Token-based serverless inference billing records for the requested period."
          }
        }
      },
      "User_info_post_payload": {
        "required": [
          "business",
          "country",
          "zip_code"
        ],
        "type": "object",
        "properties": {
          "business": {
            "type": "boolean",
            "description": "Whether the account is a business account (true) or personal (false)."
          },
          "country": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 country code of the region. Call the [**List supported billing countries**](https://docs.hyperstack.cloud/docs/api-reference/list-supported-billing-countries) API to retrieve the valid values."
          },
          "zip_code": {
            "type": "string",
            "description": "Postal or ZIP code of the billing address."
          },
          "name": {
            "type": "string",
            "description": "Full name of the account holder."
          },
          "email": {
            "type": "string",
            "description": "User email address."
          },
          "company_name": {
            "type": "string",
            "description": "Company name for the billing account."
          },
          "vat_number": {
            "type": "string",
            "description": "VAT registration number for the billing account."
          },
          "phone": {
            "type": "string",
            "description": "User phone number, in E.164 format."
          },
          "billing_address1": {
            "type": "string",
            "description": "First line of the billing address."
          },
          "billing_address2": {
            "type": "string",
            "description": "Second line of the billing address."
          },
          "state": {
            "type": "string",
            "description": "State or province of the billing address."
          }
        }
      },
      "ClusterNodeGroupsCreateResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": false
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Cluster 1617 is reconciling"
          },
          "node_group": {
            "$ref": "#/components/schemas/ClusterNodeGroupFields",
            "description": "Worker-node group."
          },
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterNodeFields"
            },
            "description": "Nodes currently in the cluster."
          }
        }
      },
      "ResourceLevelBillingDetailsAttributes": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifier of the resource billing detail record.",
            "example": "9d8a4f10-2c5d-4b14-8f5a-1e6c8e8b2d3f"
          },
          "infrahub_id": {
            "type": "integer",
            "description": "Internal numeric identifier used by Hyperstack for cross-system references.",
            "example": 8429
          },
          "resource_name": {
            "type": "string",
            "description": "Name of the resource the entry refers to.",
            "example": "example-vm"
          }
        }
      },
      "UsersInfoFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier."
          },
          "organization_id": {
            "type": "integer",
            "description": "Identifier of the organization."
          },
          "name": {
            "type": "string",
            "description": "Full name of the account holder."
          },
          "email": {
            "type": "string",
            "description": "User email address."
          },
          "business": {
            "type": "boolean",
            "description": "Whether the account is a business account (true) or personal (false)."
          },
          "company_name": {
            "type": "string",
            "description": "Company name for the billing account."
          },
          "vat_number": {
            "type": "string",
            "description": "VAT registration number for the billing account."
          },
          "phone": {
            "type": "string",
            "description": "User phone number, in E.164 format."
          },
          "billing_address1": {
            "type": "string",
            "description": "First line of the billing address."
          },
          "billing_address2": {
            "type": "string",
            "description": "Second line of the billing address."
          },
          "zip_code": {
            "type": "string",
            "description": "Postal or ZIP code of the billing address."
          },
          "country": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 country code of the region."
          },
          "state": {
            "type": "string",
            "description": "State or province of the billing address."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created."
          },
          "stripe_user_id": {
            "type": "string",
            "description": "Stripe customer identifier associated with the account."
          }
        }
      },
      "FirewallsListResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting firewalls success"
          },
          "page": {
            "type": "integer",
            "description": "1-indexed page number of the current result set.",
            "nullable": true
          },
          "page_size": {
            "type": "integer",
            "description": "Number of items per page in the current result set.",
            "nullable": true
          },
          "count": {
            "type": "integer",
            "description": "Number of items returned in the current page.",
            "example": 2
          },
          "firewalls": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FirewallDetailFields"
            },
            "description": "Firewalls attached to the VM."
          }
        }
      },
      "GetInstanceLogsResponse": {
        "type": "object",
        "properties": {
          "logs": {
            "type": "string",
            "description": "Captured log lines.",
            "nullable": true
          }
        }
      },
      "Region_Fields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 9876
          },
          "name": {
            "type": "string",
            "description": "Name of the region.",
            "example": "NORWAY-1"
          },
          "country": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 country code of the region.",
            "example": "NO"
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of the resource.",
            "nullable": true
          },
          "green_status": {
            "type": "string",
            "description": "Indicator of how much of the region's capacity is running on green energy.",
            "example": "GREEN",
            "enum": [
              "GREEN",
              "PARTIALLY_GREEN",
              "NOT_GREEN"
            ]
          },
          "features": {
            "type": "object",
            "properties": {},
            "description": "Optional feature flags applicable to the resource."
          }
        }
      },
      "ResourceLevelGraphBillingDetailsAttributes": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifier of the resource billing graph record.",
            "example": "9d8a4f10-2c5d-4b14-8f5a-1e6c8e8b2d3f"
          },
          "infrahub_id": {
            "type": "integer",
            "description": "Internal numeric identifier used by Hyperstack for cross-system references.",
            "example": 8429
          },
          "resource_name": {
            "type": "string",
            "description": "Name of the resource the entry refers to.",
            "example": "example-vm"
          }
        }
      },
      "DataSynthesisBillingHistoryDetailsResponseSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          },
          "billing_history_data_synthesis_details": {
            "$ref": "#/components/schemas/billing_history_data_synthesis_details",
            "description": "Detailed data synthesis billing records for the requested period."
          }
        }
      },
      "ClusterVersion": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 9876
          },
          "version": {
            "type": "string",
            "description": "API or schema version.",
            "example": "1.35.1"
          },
          "region": {
            "$ref": "#/components/schemas/region",
            "description": "Region the resource is in (for example, `NORWAY-1`, `CANADA-1`, `US-1`)."
          },
          "image": {
            "$ref": "#/components/schemas/image",
            "description": "Operating system image installed on the VM."
          },
          "created_at": {
            "type": "string",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "format": "date-time",
            "example": "2026-05-07T09:21:55Z"
          },
          "updated_at": {
            "type": "string",
            "description": "ISO 8601 UTC timestamp marking when the resource was last modified.",
            "format": "date-time",
            "nullable": true
          }
        }
      },
      "Instance_Flavor_Fields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 8429
          },
          "name": {
            "type": "string",
            "description": "Name of the flavor.",
            "example": "n1-cpu-small"
          },
          "cpu": {
            "type": "integer",
            "description": "Number of vCPU cores.",
            "example": 4
          },
          "ram": {
            "type": "integer",
            "description": "Memory allocated to the flavor, in GB.",
            "example": 4
          },
          "disk": {
            "type": "integer",
            "description": "Root disk capacity, in GB.",
            "example": 100
          },
          "ephemeral": {
            "type": "integer",
            "description": "Ephemeral disk capacity, in GB. Cleared when the VM is deleted.",
            "example": 0
          },
          "gpu": {
            "type": "string",
            "description": "GPU model name. Empty string if the flavor has no GPU.",
            "example": ""
          },
          "gpu_count": {
            "type": "integer",
            "description": "Number of GPUs attached to the flavor.",
            "example": 0
          },
          "labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlavorLabelFields"
            },
            "description": "Optional user-supplied tags for grouping or filtering."
          },
          "features": {
            "type": "object",
            "properties": {},
            "description": "Optional feature flags applicable to the resource."
          }
        }
      },
      "Get_credit_and_threshold_info": {
        "type": "object",
        "properties": {
          "credit": {
            "type": "number",
            "description": "Available account credit.",
            "example": 28.147631028367705
          },
          "threshold": {
            "type": "number",
            "description": "Spending threshold above which the alert is triggered.",
            "example": 0
          },
          "can_create_instance": {
            "type": "boolean",
            "example": true,
            "description": "The status of your ability to create virtual machine resources, where `true` indicates you have access, and `false` indicates your balance is below the `threshold` value."
          }
        }
      },
      "GetPoliciesResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting policies success"
          },
          "policies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PolicyFields"
            },
            "description": "Authorization policies assigned to the role."
          }
        }
      },
      "Last_day_cost_response": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Successful"
          },
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "data": {
            "$ref": "#/components/schemas/Last_day_cost_fields",
            "description": "Cost incurred over the last day."
          }
        }
      },
      "ContractDiscountPlanFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier."
          },
          "resource_id": {
            "type": "integer",
            "description": "Identifier of the resource the entry refers to."
          },
          "resource_name": {
            "type": "string",
            "description": "Name of the resource the entry refers to."
          },
          "resource_count": {
            "type": "integer",
            "description": "The number of resources that the discount is applied to."
          },
          "discount_type": {
            "type": "string",
            "description": "The type of discount applied to the resource can be represented as either `flat` or `percent`. For `flat` discount type, the actual price of the discounted resource is specified, while for `percent` discount type, a percentage discount is applied to the market rate for the resource."
          },
          "discount_code": {
            "type": "string",
            "description": "The discount code applied to the resource, if applicable."
          },
          "discount_percent": {
            "type": "number",
            "description": "If the `discount_type` used is `percent`, this specifies the percentage discount to be applied to the market rate for a given resource."
          },
          "discount_amount": {
            "type": "number",
            "description": "Amount discounted from the non-discounted bill."
          },
          "discount_status": {
            "type": "string",
            "description": "The status of the discount (e.g., \"active\")."
          },
          "remaining_count": {
            "type": "integer",
            "description": "Number of discounted units remaining on the plan."
          }
        }
      },
      "ClusterEventsFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 6190
          },
          "cluster_id": {
            "type": "integer",
            "description": "Identifier of the Kubernetes cluster.",
            "example": 5341
          },
          "user_id": {
            "type": "integer",
            "description": "Identifier of the user.",
            "example": 1402
          },
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization that owns the resource.",
            "example": 9876
          },
          "time": {
            "type": "string",
            "format": "date-time",
            "example": "2026-05-06T14:32:11Z",
            "description": "The timestamp when the event occurred."
          },
          "type": {
            "type": "string",
            "description": "Type of the cluster event.",
            "example": "normal"
          },
          "reason": {
            "type": "string",
            "description": "Human-readable reason the operation was rejected.",
            "example": "ClusterCreationRequest"
          },
          "object": {
            "type": "string",
            "example": "example-c1",
            "description": "The name of the cluster related to the event."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Cluster example-c1 Creation Request Sent."
          }
        }
      },
      "ResourceLevelBillingDetailsVolumeAttributes": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifier of the volume billing detail record.",
            "example": "2c4e6a18-5d3b-4f80-93a1-7e5b9c2f1d44"
          },
          "infrahub_id": {
            "type": "integer",
            "description": "Internal numeric identifier used by Hyperstack for cross-system references.",
            "example": 5341
          },
          "resource_name": {
            "type": "string",
            "description": "Name of the resource the entry refers to.",
            "example": "example-volume"
          },
          "subresource_type": {
            "type": "string",
            "example": "Cloud-SSD",
            "description": "Type of the volume sub-resource being billed."
          },
          "subresource_amount": {
            "type": "integer",
            "example": 10,
            "description": "Quantity of the volume sub-resource being billed."
          }
        }
      },
      "PricebookResourceObjectResponseForCustomer": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Type of the resource."
          },
          "name": {
            "type": "string",
            "description": "Name of the resource."
          },
          "amount": {
            "type": "integer",
            "description": "Charge amount in the response's `currency` units."
          },
          "rate": {
            "type": "number",
            "description": "The standard billing rate per hour for a single resource component."
          },
          "discounted_rate": {
            "type": "number",
            "description": "The billing rate per hour after applying discounts."
          },
          "price": {
            "type": "number",
            "description": "The listed price per hour for using the resource."
          },
          "actual_price": {
            "type": "number",
            "description": "The actual price per hour after applying any discounts or adjustments."
          }
        }
      },
      "PermissionFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 7613
          },
          "resource": {
            "type": "string",
            "description": "Resource the entry refers to.",
            "example": "Environment"
          },
          "permission": {
            "type": "string",
            "description": "Permission grant on the resource.",
            "example": "environment:list"
          },
          "method": {
            "type": "string",
            "example": "GET",
            "description": "The HTTP method associated with the permission."
          },
          "endpoint": {
            "type": "string",
            "description": "Bucket endpoint URL. Use this with the S3 protocol.",
            "example": "^/core/environments/?$"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-06T15:18:42Z"
          }
        }
      },
      "Organization_thresholds_response": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Retrieving organization thresholds successful"
          },
          "thresholds": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Organization_Threshold_fields"
            },
            "description": "List of credit limit notification thresholds for the organization."
          }
        }
      },
      "InstanceEvents": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting VM events success"
          },
          "instance_events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InstanceEventsFields"
            },
            "description": "An array containing objects each providing details on an action executed on a virtual machine."
          }
        }
      },
      "Volume_Fields_for_Instance": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 1402
          },
          "name": {
            "type": "string",
            "description": "Name of the volume.",
            "example": "example-volume"
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of the resource.",
            "example": "example"
          },
          "volume_type": {
            "type": "string",
            "description": "Storage tier of the volume.",
            "example": "Cloud-SSD"
          },
          "bootable": {
            "type": "boolean",
            "description": "Whether the volume is the VM's boot volume.",
            "example": false
          },
          "size": {
            "type": "integer",
            "description": "Volume capacity in GB.",
            "example": 10
          }
        }
      },
      "ResourceLevelVmBillingHistoryResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": false
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Billing History for Virtual Machine Retrieved Successfully."
          },
          "billing_history_vm": {
            "$ref": "#/components/schemas/ResourceLevelBillingHistory",
            "description": "Virtual machine billing records for the requested period."
          }
        }
      },
      "Create_Instances_Payload": {
        "required": [
          "count",
          "environment_name",
          "flavor_name",
          "key_name",
          "name"
        ],
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The number of virtual machines to be created."
          },
          "environment_name": {
            "type": "string",
            "description": "The name of the [environment](https://docs.hyperstack.cloud/docs/api-reference/environment) in which the virtual machine is to be created."
          },
          "flavor_name": {
            "type": "string",
            "description": "The name of the GPU hardware configuration ([flavor](https://docs.hyperstack.cloud/docs/hardware/flavors)) for the virtual machines being created."
          },
          "key_name": {
            "type": "string",
            "description": "The name of the existing SSH key pair to be used for secure access to the virtual machine. For additional information on SSH key pairs, see [Key pair endpoints](https://docs.hyperstack.cloud/docs/api-reference/keypair)."
          },
          "name": {
            "maxLength": 50,
            "type": "string",
            "description": "The name of the virtual machine being created."
          },
          "image_id": {
            "type": "integer",
            "description": "ID of the [operating system (OS) image](https://docs.hyperstack.cloud/docs/virtual-machines/images) to install on the virtual machine, including a [custom image](https://docs.hyperstack.cloud/docs/virtual-machines/custom-images). The image must be in the same region as the environment. Call the [**List images**](https://docs.hyperstack.cloud/docs/api-reference/list-images) API to retrieve the `id` of an image. One boot source is required: an image (`image_id` or `image_name`) or a bootable volume (`volume_name`), not both. If you provide both `image_id` and `image_name`, `image_id` is used."
          },
          "image_name": {
            "type": "string",
            "description": "Name of the [operating system (OS) image](https://docs.hyperstack.cloud/docs/virtual-machines/images) to install on the virtual machine, including custom images created from [existing snapshots](https://docs.hyperstack.cloud/docs/virtual-machines/custom-images). One boot source is required: an image (`image_id` or `image_name`) or a bootable volume (`volume_name`), not both."
          },
          "volume_name": {
            "type": "string",
            "description": "Name of a [bootable volume](https://docs.hyperstack.cloud/docs/storage/volumes/bootable-volumes) to boot the virtual machine from. The volume must be in the same environment and have the `available` status, and `count` must be `1`. One boot source is required: an image (`image_id` or `image_name`) or a bootable volume (`volume_name`), not both."
          },
          "create_bootable_volume": {
            "type": "boolean",
            "description": "Indicates whether to create a bootable volume for the virtual machine. When set to `true`, a bootable volume will be created.",
            "default": false
          },
          "flavor": {
            "$ref": "#/components/schemas/Flavor_Object_Fields",
            "description": "GPU and CPU configuration of the virtual machine."
          },
          "user_data": {
            "type": "string",
            "description": "Optional initialization configuration commands to manage the configuration of a virtual machine at launch using cloud-init scripts. The value is Base64 encoded when it is submitted, and the encoded value must not exceed 65,535 bytes. For more information about custom VM configuration using cloud-init, see [Initialization configuration](https://docs.hyperstack.cloud/docs/virtual-machines/initialization-configuration)."
          },
          "callback_url": {
            "maxLength": 250,
            "type": "string",
            "description": "An optional URL where actions performed on the virtual machine will be sent. For additional information on event callbacks, see [Attach a callback to a VM](https://docs.hyperstack.cloud/docs/api-reference/attach-callback-to-vm)."
          },
          "assign_floating_ip": {
            "type": "boolean",
            "description": "When this field is set to `true`, it attaches a [public IP address](https://docs.hyperstack.cloud/docs/api-reference/attach-public-ip-to-vm) to the virtual machine, enabling internet accessibility."
          },
          "enable_port_randomization": {
            "type": "boolean",
            "description": "Indicates whether to enable port randomization.This setting is only effective if 'assign_floating_ip' is true.",
            "default": true
          },
          "security_rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Create_Security_Rule_Payload"
            },
            "description": "Firewall rules to apply to the VM at creation."
          },
          "profile": {
            "$ref": "#/components/schemas/Profile_Object_Fields",
            "description": "An object containing the configuration of the virtual machine saved in the created profile."
          },
          "labels": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Optional user-supplied tags for grouping or filtering."
          }
        }
      },
      "InviteUserPayload": {
        "required": [
          "email"
        ],
        "type": "object",
        "properties": {
          "email": {
            "maxLength": 100,
            "type": "string",
            "description": "Email of the user to invite to your organization."
          }
        }
      },
      "CreateClusterNodeFields": {
        "type": "object",
        "properties": {
          "role": {
            "type": "string",
            "example": "worker",
            "enum": [
              "worker",
              "master"
            ],
            "description": "Role assigned to the user."
          },
          "node_group": {
            "type": "string",
            "description": "Worker-node group."
          },
          "count": {
            "minimum": 1,
            "type": "integer",
            "description": "Number of items returned in the current page."
          }
        },
        "required": [
          "role"
        ]
      },
      "AddUserInfoSuccessResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          },
          "data": {
            "$ref": "#/components/schemas/UsersInfoFields",
            "description": "Saved user billing information."
          }
        }
      },
      "ResourceLevelVolumeBillingHistoryResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": false
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Billing History for Snapshot Retrieved Successfully."
          },
          "billing_history_volume": {
            "$ref": "#/components/schemas/ResourceLevelBillingHistory",
            "description": "Volume billing records for the requested period."
          }
        }
      },
      "Image_Fields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 1402
          },
          "name": {
            "type": "string",
            "description": "Name of the image.",
            "example": "Ubuntu Server 22.04 LTS R535 CUDA 12.2 with Docker"
          },
          "region_name": {
            "type": "string",
            "description": "Region the resource is in (for example, `NORWAY-1`, `CANADA-1`, `US-1`).",
            "example": "US-1"
          },
          "type": {
            "type": "string",
            "description": "Type of the image.",
            "example": "Ubuntu"
          },
          "version": {
            "type": "string",
            "description": "API or schema version.",
            "example": "Server 22.04 LTS R535 CUDA 12.2 with Docker"
          },
          "size": {
            "type": "integer",
            "description": "Volume capacity in GB.",
            "example": 107374182400
          },
          "display_size": {
            "type": "string",
            "example": "100 GiB",
            "description": "Human-readable image size (e.g. `100.0 GB`)."
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of the resource.",
            "example": ""
          },
          "labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LableResonse"
            },
            "description": "Optional user-supplied tags for grouping or filtering."
          },
          "is_public": {
            "type": "boolean",
            "description": "Whether the resource is visible to other users in the organization.",
            "example": true
          },
          "flavor_restrictions": {
            "type": "object",
            "description": "Flavor compatibility restrictions for this image.",
            "allOf": [
              {
                "$ref": "#/components/schemas/FlavorRestrictions"
              }
            ]
          }
        }
      },
      "GPU_Region_Fields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 1402
          },
          "name": {
            "type": "string",
            "description": "Name of the region.",
            "example": "NORWAY-1"
          }
        }
      },
      "RbacRoleField": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the RBAC role."
          }
        }
      },
      "RbacRoleFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 7613
          },
          "name": {
            "type": "string",
            "description": "Name of the RBAC role.",
            "example": "example-role"
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of the resource.",
            "example": "example"
          },
          "policies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RolePolicyFields"
            },
            "description": "Authorization policies assigned to the role."
          },
          "permissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RolePermissionFields"
            },
            "description": "Permissions granted by the role."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-06T15:18:42Z"
          }
        }
      },
      "Environment_Features": {
        "type": "object",
        "properties": {
          "network_optimised": {
            "type": "boolean",
            "description": "Whether the resource has the network-optimised feature enabled.",
            "example": false
          },
          "green_status": {
            "type": "string",
            "example": "GREEN",
            "enum": [
              "GREEN",
              "PARTIALLY_GREEN",
              "NOT_GREEN"
            ],
            "description": "Indicator of how much of the region's capacity is running on green energy."
          }
        }
      },
      "New_Model_Response": {
        "type": "object",
        "properties": {
          "model": {
            "type": "string",
            "example": "H100-80G-PCIe-NVLink",
            "description": "The model name of the GPU."
          },
          "available": {
            "type": "string",
            "description": "Whether stock is currently available.",
            "example": "0"
          },
          "planned_7_days": {
            "type": "string",
            "nullable": true,
            "description": "Anticipated stock level for the next 7 days. A value of `null`, indicates there is no data available."
          },
          "planned_30_days": {
            "type": "string",
            "nullable": true,
            "description": "Anticipated stock level for the next 30 days. A value of `null`, indicates there is no data available."
          },
          "planned_100_days": {
            "type": "string",
            "nullable": true,
            "description": "Anticipated stock level for the next 100 days. A value of `null`, indicates there is no data available."
          },
          "configurations": {
            "$ref": "#/components/schemas/New_Configurations_Response",
            "description": "An object containing GPU configuration details."
          }
        }
      },
      "Create_Volume_Payload": {
        "required": [
          "environment_name",
          "name",
          "size",
          "volume_type"
        ],
        "type": "object",
        "properties": {
          "environment_name": {
            "type": "string",
            "description": "Name of the [**environment**](https://docs.hyperstack.cloud/docs/resource-management/environments) within which the volume is created."
          },
          "name": {
            "maxLength": 50,
            "type": "string",
            "description": "Name of the volume being created."
          },
          "size": {
            "type": "integer",
            "description": "Size of the volume in GB. Accepts values from 1 GB to 102,400 GB (100 TB)."
          },
          "volume_type": {
            "type": "string",
            "description": "Type of volume being created, which determines the storage technology it uses. Call the [**List volume types**](https://docs.hyperstack.cloud/docs/api-reference/list-volume-types) endpoint to retrieve the available types."
          },
          "description": {
            "type": "string",
            "description": "Optional brief description of the volume."
          },
          "image_id": {
            "type": "integer",
            "description": "ID of an operating system image to install on the volume. Providing an `image_id` creates a [**bootable volume**](https://docs.hyperstack.cloud/docs/storage/volumes/bootable-volumes); when creating a bootable volume, `size` must be at least 100 GB."
          },
          "callback_url": {
            "maxLength": 250,
            "type": "string",
            "description": "URL that receives action events that occur on the volume."
          }
        }
      },
      "New_Stock_Response": {
        "type": "object",
        "properties": {
          "region": {
            "type": "string",
            "description": "Region the resource is in (for example, `NORWAY-1`, `CANADA-1`, `US-1`).",
            "example": "CANADA-1"
          },
          "stock-type": {
            "type": "string",
            "example": "GPU",
            "description": "Specifies the type of stock, which is \"GPU\"."
          },
          "models": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/New_Model_Response"
            },
            "description": "An array of objects containing stock information for each GPU model, in each region."
          }
        }
      },
      "FlavorLabelFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier."
          },
          "label": {
            "type": "string",
            "description": "The label name (e.g. `k8s`)."
          }
        }
      },
      "ClusterNodeGroupFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 4501
          },
          "name": {
            "type": "string",
            "description": "Name of the cluster node group.",
            "example": "default"
          },
          "role": {
            "type": "string",
            "description": "Role assigned to the user.",
            "example": "worker"
          },
          "flavor": {
            "$ref": "#/components/schemas/Cluster_Flavor_Fields",
            "description": "GPU and CPU configuration of the virtual machine."
          },
          "count": {
            "type": "integer",
            "description": "Number of items returned in the current page.",
            "example": 1
          },
          "min_count": {
            "type": "integer",
            "description": "Minimum number of nodes the group will scale down to.",
            "example": 1
          },
          "max_count": {
            "type": "integer",
            "description": "Maximum number of nodes the group will scale up to.",
            "example": 1
          },
          "firewall_ids": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "description": "Identifiers of the firewalls attached to the node group."
          },
          "firewalls": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterNodeGroupFirewallFields"
            },
            "description": "Firewalls attached to the VM."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-07T09:21:55Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was last modified.",
            "example": "2026-05-07T09:21:55Z"
          }
        }
      },
      "OrganizationLevelBillingHistoryResponseMetrics": {
        "type": "object",
        "properties": {
          "incurred_bill": {
            "type": "number",
            "description": "Total amount accrued for the resource in the time window, in the response's `currency`.",
            "example": 1.4792531077698128
          },
          "non_discounted_bill": {
            "type": "number",
            "description": "Bill amount before any discounts or contract pricing.",
            "example": 2.719349893436454
          },
          "vm_cost": {
            "type": "number",
            "example": 1.4745966289499524,
            "description": "Total virtual machine cost for the period."
          },
          "volume_cost": {
            "type": "number",
            "example": 0.0031699195661627775,
            "description": "Total volume cost for the period."
          },
          "contract_cost": {
            "type": "number",
            "example": 0,
            "description": "Total contract cost for the period."
          },
          "snapshot_cost": {
            "type": "number",
            "example": 0.0013225807333306667,
            "description": "Total snapshot cost for the period."
          }
        }
      },
      "ServerlessInferencedBillingHistoryDetailsResponseSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          },
          "billing_history_serverless_inference_details": {
            "$ref": "#/components/schemas/billing_history_serverless_inference_details",
            "description": "Detailed serverless inference billing records for the requested period."
          }
        }
      },
      "ClusterEvents": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Successfully retrived events for Cluster example-c1"
          },
          "cluster_events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterEventsFields"
            },
            "description": "An array of objects each containing details about an event for the specified cluster."
          }
        }
      },
      "CreateSnapshotPayload": {
        "required": [
          "description",
          "name"
        ],
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Human-readable description of the snapshot."
          },
          "name": {
            "type": "string",
            "description": "Name to assign to the snapshot.",
            "maxLength": 100
          },
          "labels": {
            "type": "array",
            "description": "Labels associated with snapshot.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "Images": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting images successful"
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Image_Get_Response"
            },
            "description": "OS images available for VM deployment."
          }
        }
      },
      "Image": {
        "type": "object",
        "properties": {
          "image": {
            "$ref": "#/components/schemas/Image_Fields",
            "description": "Operating system image installed on the VM."
          }
        }
      },
      "CommonResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": false
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Not found"
          }
        }
      },
      "ContractGPUAllocationGraphResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          },
          "contract": {
            "$ref": "#/components/schemas/Contract",
            "description": "Contains information about the specified contract."
          }
        }
      },
      "GetOrganizationResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Successfully retrieved organizations info"
          },
          "organization": {
            "$ref": "#/components/schemas/OrganizationFields",
            "description": "An object containing details about the organization and its members."
          }
        }
      },
      "pagination": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "description": "1-indexed page number of the current result set."
          },
          "per_page": {
            "type": "integer",
            "description": "Number of results per page."
          },
          "pages": {
            "type": "integer",
            "description": "Total number of pages available."
          }
        }
      },
      "ClusterNodeFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 3287
          },
          "role": {
            "type": "string",
            "description": "Role assigned to the user.",
            "example": "bastion"
          },
          "node_group_id": {
            "type": "integer",
            "description": "Identifier of the node group.",
            "nullable": true
          },
          "node_group_name": {
            "type": "string",
            "nullable": true,
            "description": "Name of the node group the node belongs to."
          },
          "instance": {
            "$ref": "#/components/schemas/ClusterNodeInstanceFields",
            "description": "Virtual machine the entry refers to."
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource.",
            "example": "CREATING"
          },
          "status_reason": {
            "type": "string",
            "example": "VM is creating",
            "description": "Human-readable explanation of the current node status."
          },
          "is_bastion": {
            "type": "boolean",
            "example": true,
            "description": "Whether the node acts as the bastion server for the cluster (true) or not (false)."
          },
          "requires_public_ip": {
            "type": "boolean",
            "example": true,
            "description": "Whether the node requires a public IP address (true) or not (false)."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-06T16:04:09Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was last modified.",
            "example": "2026-05-06T16:04:09Z"
          }
        }
      },
      "Update_Keypair_name_response": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Keypair name updated successfully to example-keypair"
          },
          "keypair": {
            "$ref": "#/components/schemas/Keypair_Fields",
            "description": "SSH keypair attached to the VM."
          }
        }
      },
      "GenerateUpdateApiKeyResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": false
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Maximum API key limit reached"
          },
          "api_key": {
            "$ref": "#/components/schemas/ApiKeyFields",
            "description": "Returns the `api_key` object, containing details of the new API key."
          }
        }
      },
      "attributes": {
        "type": "object",
        "properties": {
          "infrahub_id": {
            "type": "integer",
            "description": "Internal numeric identifier used by Hyperstack for cross-system references."
          },
          "resource_name": {
            "type": "string",
            "description": "Name of the resource the entry refers to."
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource."
          },
          "base_model": {
            "type": "string",
            "description": "Identifier of the base model used."
          },
          "base_model_display_name": {
            "type": "string",
            "description": "Human-readable name of the base model."
          },
          "lora_adapter": {
            "type": "string",
            "description": "Identifier of the LoRA adapter applied to the base model."
          }
        }
      },
      "Update_Keypair_Name": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 50,
            "type": "string",
            "description": "The new key pair name."
          }
        }
      },
      "billing_history_serverless_inference": {
        "type": "object",
        "properties": {
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization that owns the resource."
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of items across all pages of this result set."
          },
          "pagination": {
            "$ref": "#/components/schemas/pagination",
            "description": "Pagination metadata: current page, page size, and total count."
          },
          "billing_history": {
            "type": "array",
            "description": "Billing history entries for the resource.",
            "items": {
              "$ref": "#/components/schemas/billing_history"
            }
          }
        }
      },
      "ManualReconciliationModel": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Cluster 1617 is being reconciled"
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource.",
            "example": true
          },
          "cluster": {
            "$ref": "#/components/schemas/ClusterFields",
            "description": "Kubernetes cluster."
          }
        }
      },
      "Create_Environment": {
        "required": [
          "name",
          "region"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 50,
            "type": "string",
            "description": "Name of the environment being created. Environments must have unique names, even across different regions."
          },
          "region": {
            "type": "string",
            "description": "Geographic location of the data center where the environment is created. See [**Regions**](https://docs.hyperstack.cloud/docs/resource-management/regions) for the list of supported values."
          }
        }
      },
      "MetricsFields": {
        "type": "object",
        "properties": {
          "cpu": {
            "$ref": "#/components/schemas/MetricItemFields",
            "description": "The number of virtual CPU cores in the flavor."
          },
          "memory.usages": {
            "$ref": "#/components/schemas/MetricItemFields",
            "description": "Memory usage data points over time."
          },
          "network.in": {
            "$ref": "#/components/schemas/MetricItemFields",
            "description": "Inbound network throughput data points over time."
          },
          "network.out": {
            "$ref": "#/components/schemas/MetricItemFields",
            "description": "Outbound network throughput data points over time."
          },
          "disk.read": {
            "$ref": "#/components/schemas/MetricItemFields",
            "description": "Disk read throughput data points over time."
          },
          "disk.write": {
            "$ref": "#/components/schemas/MetricItemFields",
            "description": "Disk write throughput data points over time."
          }
        }
      },
      "UserOrganizationsResponse": {
        "type": "object",
        "properties": {
          "organizations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrganizationFields"
            },
            "description": "List of organizations the user belongs to."
          }
        }
      },
      "Firewall_Rule": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Firewall Rule created successfully"
          },
          "firewall_rule": {
            "$ref": "#/components/schemas/SecurityGroupRuleFields",
            "description": "Details of the firewall rule."
          }
        }
      },
      "New_Configurations_Response": {
        "type": "object",
        "properties": {
          "1x": {
            "type": "integer",
            "example": 0,
            "description": "Number of GPUs configured as 1x."
          },
          "2x": {
            "type": "integer",
            "example": 0,
            "description": "Number of GPUs configured as 2x."
          },
          "4x": {
            "type": "integer",
            "example": 0,
            "description": "Number of GPUs configured as 4x."
          },
          "8x": {
            "type": "integer",
            "example": 0,
            "description": "Number of GPUs configured as 8x."
          },
          "10x": {
            "type": "integer",
            "example": 0,
            "description": "Number of GPUs configured as 10x."
          }
        }
      },
      "Volume_Fields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 7613
          },
          "name": {
            "type": "string",
            "description": "Name of the volume.",
            "example": "example-volume"
          },
          "environment": {
            "$ref": "#/components/schemas/Environment_Fields_for_Volume",
            "description": "Environment containing the resource."
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of the resource.",
            "example": "example"
          },
          "volume_type": {
            "type": "string",
            "description": "Storage tier of the volume.",
            "example": "Cloud-SSD"
          },
          "size": {
            "type": "integer",
            "description": "Volume capacity in GB.",
            "example": 10
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource.",
            "example": "creating"
          },
          "bootable": {
            "type": "boolean",
            "description": "Whether the volume is the VM's boot volume.",
            "example": false
          },
          "image_id": {
            "type": "integer",
            "description": "Identifier of the OS image to install, see [List images](https://docs.hyperstack.cloud/docs/api-reference/list-images).",
            "nullable": true
          },
          "callback_url": {
            "type": "string",
            "description": "Webhook URL Hyperstack calls when the resource changes state.",
            "nullable": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-06T15:18:42Z"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was last modified.",
            "nullable": true,
            "example": "2026-05-06T15:18:42Z"
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Attachments_Fields_for_Volume"
            },
            "description": "Attachments associated with this resource."
          },
          "os_image": {
            "type": "string",
            "example": "",
            "description": "Operating system image the bootable volume was created from."
          }
        }
      },
      "CreateImagePayload": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name for the new custom image."
          },
          "labels": {
            "type": "array",
            "description": "List of labels to attach to the image.",
            "items": {
              "type": "string",
              "description": ""
            }
          }
        }
      },
      "Last_day_cost_fields": {
        "type": "object",
        "properties": {
          "instances_cost": {
            "type": "number",
            "example": 0,
            "description": "The combined usage cost in dollars from the previous day for all of your virtual machine resources."
          },
          "volumes_cost": {
            "type": "number",
            "example": 0,
            "description": "The combined usage cost in dollars from the previous day for all of your volume resources."
          },
          "clusters_cost": {
            "type": "number",
            "example": 0,
            "description": "The combined usage cost in dollars from the previous day for all of your cluster resources."
          },
          "total_cost": {
            "type": "number",
            "example": 0,
            "description": "The combined usage cost in dollars from the previous day for all of your resources."
          }
        }
      },
      "ResourceLevelVolumeBillingDetailsResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Biling Details for the Volume Retrieved Successfully."
          },
          "billing_history_volume_details": {
            "$ref": "#/components/schemas/ResourceLevelBillingDetailsVolume",
            "description": "Detailed volume billing records for the requested period."
          }
        }
      },
      "Organization_Threshold_fields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 1402
          },
          "threshold": {
            "type": "integer",
            "description": "Spending threshold above which the alert is triggered.",
            "example": 48
          },
          "interface_title": {
            "type": "string",
            "example": "48hs warning",
            "description": "Title shown for the threshold in the user interface."
          },
          "interface_tooltip": {
            "type": "string",
            "example": "Credit limit warning 48 hours before your credit depletes",
            "description": "Tooltip text shown for the threshold in the user interface."
          },
          "subscribed": {
            "type": "boolean",
            "example": true,
            "description": "Whether the user is subscribed to notifications for this threshold (true) or not (false)."
          }
        }
      },
      "GenerateUpdateApiKeyPayload": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 200,
            "minLength": 1,
            "type": "string",
            "description": "Name of the API key. Maximum length: 50 characters."
          },
          "description": {
            "type": "string",
            "description": "Optional description of the API key."
          }
        }
      },
      "LableResonse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier."
          },
          "label": {
            "type": "string",
            "description": "The label name (e.g. `k8s`)."
          }
        }
      },
      "ResourceLevelGraphBillingDetailVolume": {
        "type": "object",
        "properties": {
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization that owns the resource.",
            "example": 5341
          },
          "billing_history": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceLevelGraphBillingVolumeDetailsResources"
            },
            "description": "Billing history entries for the resource."
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of items across all pages of this result set.",
            "example": 0
          },
          "granularity": {
            "type": "integer",
            "description": "Time bucket size, in seconds, for the data points returned.",
            "example": 86400
          }
        }
      },
      "AttachFirewallWithVM": {
        "required": [
          "vms"
        ],
        "type": "object",
        "properties": {
          "vms": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "description": "An array of virtual machine IDs to which the firewall is being added."
          }
        }
      },
      "ResourceLevelBillingBucketDetailsResources": {
        "type": "object",
        "properties": {
          "attributes": {
            "$ref": "#/components/schemas/ResourceLevelBillingDetailsAttributes",
            "description": "Additional resource attributes."
          },
          "metrics": {
            "$ref": "#/components/schemas/ResourceLevelBillingDetailsMetrics",
            "description": "Resource utilisation metrics."
          }
        }
      },
      "UpdateOrganizationPayload": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 50,
            "minLength": 3,
            "type": "string",
            "description": "New name for your organization."
          }
        }
      },
      "ContractInstancesResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          },
          "instances": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContractInstanceFields"
            },
            "description": "Virtual machines returned by the request."
          }
        }
      },
      "FirewallDetailFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 9876
          },
          "name": {
            "type": "string",
            "description": "Name of the firewall.",
            "example": "example-firewall"
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of the resource.",
            "example": "example"
          },
          "environment": {
            "$ref": "#/components/schemas/FirewallEnvironmentFields",
            "description": "Environment containing the resource."
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource.",
            "example": "SUCCESS"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-07T09:21:55Z"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SecurityGroupRuleFields"
            },
            "description": "Firewall rules, each entry defines a direction, protocol, and remote IP range."
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Firewall_Attachment_Model"
            },
            "description": "Attachments associated with this resource."
          }
        }
      },
      "billing_history_fine_tuning": {
        "type": "object",
        "properties": {
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization that owns the resource."
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of items across all pages of this result set."
          },
          "pagination": {
            "$ref": "#/components/schemas/pagination",
            "description": "Pagination metadata: current page, page size, and total count."
          },
          "billing_history": {
            "type": "array",
            "description": "Billing history entries for the resource.",
            "items": {
              "$ref": "#/components/schemas/billing_history"
            }
          }
        }
      },
      "Firewall_Attachment_Model": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier."
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource."
          },
          "vm": {
            "$ref": "#/components/schemas/Firewall_Attachment_VM_Model",
            "description": "Virtual machine the firewall is attached to."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created."
          }
        }
      },
      "Import_Keypair_Response": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Keypair is imported successfully"
          },
          "keypair": {
            "$ref": "#/components/schemas/Keypair_Fields",
            "description": "SSH keypair attached to the VM."
          }
        }
      },
      "object_storage__AccessKeyResponse": {
        "title": "AccessKeyResponse",
        "type": "object",
        "properties": {
          "access_key": {
            "type": "string",
            "description": "Object-storage access key.",
            "example": "AKW370C2J7Z47QL6SV22"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-07T11:47:30Z"
          },
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 4501
          },
          "region": {
            "$ref": "#/components/schemas/object_storage__RegionsEnum",
            "description": "The [**region**](https://docs.hyperstack.cloud/docs/resource-management/regions) where the access key is valid."
          },
          "user_id": {
            "type": "integer",
            "description": "Identifier of the user.",
            "example": 1129
          },
          "description": {
            "type": "string",
            "nullable": true,
            "example": "training-data",
            "description": "Name of the access key, shown in the Name column on the Access Keys page in the console. Returns `null` if the access key has no name."
          }
        }
      },
      "CreateUpdateRbacRolePayload": {
        "required": [
          "description",
          "name"
        ],
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "New description for the RBAC role."
          },
          "name": {
            "maxLength": 200,
            "type": "string",
            "description": "New name for the RBAC role."
          },
          "policies": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "List of policy IDs."
            },
            "description": "IDs of the [**policies**](https://docs.hyperstack.cloud/docs/api-reference/list-policies) to assign to the RBAC role."
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "integer",
              "description": "List of permission IDs."
            },
            "description": "IDs of the [**permissions**](https://docs.hyperstack.cloud/docs/api-reference/list-permissions) to assign to the RBAC role."
          }
        }
      },
      "billing_history_data_synthesis_details": {
        "type": "object",
        "properties": {
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization that owns the resource."
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of items across all pages of this result set."
          },
          "pagination": {
            "$ref": "#/components/schemas/pagination",
            "description": "Pagination metadata: current page, page size, and total count."
          },
          "billing_history": {
            "type": "array",
            "description": "Billing history entries for the resource.",
            "items": {
              "$ref": "#/components/schemas/billing_history"
            }
          }
        }
      },
      "CreateSnapshotResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Snapshot creation is scheduled."
          },
          "snapshot": {
            "$ref": "#/components/schemas/SnapshotFields",
            "description": "Snapshot of a volume."
          }
        }
      },
      "ResourceLevelClusterBillingHistoryResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": false
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "No cluster data found for 2026-05-01T00:00:00 - 2026-05-07T15:34:01 "
          },
          "billing_history_cluster": {
            "$ref": "#/components/schemas/ResourceLevelBillingHistory",
            "description": "Kubernetes cluster billing records for the requested period."
          }
        }
      },
      "Attach_Volume_Fields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 9876
          },
          "instance_id": {
            "type": "integer",
            "description": "Identifier of the virtual machine.",
            "example": 1129
          },
          "volume_id": {
            "type": "integer",
            "description": "Identifier of the volume.",
            "example": 1402
          },
          "device": {
            "type": "string",
            "description": "Device path the volume is attached at on the VM (for example, `/dev/sdb`).",
            "example": "/dev/disk/by-id/virtio-a66fd1a8-e198-4eb4-a"
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource.",
            "example": "ATTACHING"
          },
          "protected": {
            "type": "boolean",
            "description": "When `true`, the resource cannot be deleted while protection is enabled.",
            "example": false
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-07T09:21:55Z"
          }
        }
      },
      "ApiKeyFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 3287
          },
          "name": {
            "type": "string",
            "description": "Name of the API key.",
            "example": "api-example-key"
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of the resource.",
            "example": ""
          },
          "key": {
            "type": "string",
            "example": "********-****-****-****-********be9a",
            "description": "API key value used to authenticate requests."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-06T16:04:09Z"
          }
        }
      },
      "Attach_Volumes_Payload": {
        "type": "object",
        "properties": {
          "volume_ids": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "description": "Specify one or more IDs of the volumes to be attached to the virtual machine."
          },
          "protected": {
            "type": "boolean",
            "default": false,
            "description": "When `true`, the resource cannot be deleted while protection is enabled."
          }
        }
      },
      "SubResourceGraphBillingDetailsMetrics": {
        "type": "object",
        "properties": {
          "gpu_incurred_bill": {
            "type": "number",
            "example": 0,
            "description": "Total GPU cost incurred over the requested period."
          },
          "gpu_incurred_bill_graph": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GraphDatetimeValueModel"
            },
            "description": "Time series of the GPU cost incurred over the requested period."
          },
          "cpu_incurred_bill": {
            "type": "number",
            "example": 0.006666666666666,
            "description": "Total CPU cost incurred over the requested period."
          },
          "cpu_incurred_bill_graph": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GraphDatetimeValueModel"
            },
            "description": "Time series of the CPU cost incurred over the requested period."
          },
          "ram_incurred_bill": {
            "type": "number",
            "example": 0,
            "description": "Total RAM cost incurred over the requested period."
          },
          "ram_incurred_bill_graph": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GraphDatetimeValueModel"
            },
            "description": "Time series of the RAM cost incurred over the requested period."
          },
          "publicip_incurred_bill": {
            "type": "number",
            "example": 0,
            "description": "Total public IP cost incurred over the requested period."
          },
          "publicip_incurred_bill_graph": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GraphDatetimeValueModel"
            },
            "description": "Time series of the public IP cost incurred over the requested period."
          },
          "disk_incurred_bill": {
            "type": "number",
            "example": 0,
            "description": "Total disk cost incurred over the requested period."
          },
          "disk_incurred_bill_graph": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GraphDatetimeValueModel"
            },
            "description": "Time series of the disk cost incurred over the requested period."
          },
          "ephemeral_incurred_bill": {
            "type": "number",
            "example": 0,
            "description": "Total ephemeral storage cost incurred over the requested period."
          },
          "ephemeral_incurred_bill_graph": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GraphDatetimeValueModel"
            },
            "description": "Time series of the ephemeral storage cost incurred over the requested period."
          }
        }
      },
      "VNC_URL_Fields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier."
          },
          "vnc_url": {
            "type": "string",
            "description": "URL of the VNC console for the VM."
          }
        }
      },
      "ClusterListResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting clusters success"
          },
          "clusters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterFields"
            },
            "description": "An array of objects containing details about your clusters."
          }
        }
      },
      "Attach_Volumes": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": false
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "We can process with only available volumes."
          },
          "volume_attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Attach_Volume_Fields"
            },
            "description": "Volumes currently attached to the VM."
          }
        }
      },
      "FirewallFields": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier.",
            "example": 7613
          },
          "name": {
            "type": "string",
            "description": "Name of the firewall.",
            "example": "example-firewall"
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of the resource.",
            "example": "example"
          },
          "environment": {
            "$ref": "#/components/schemas/FirewallEnvironmentFields",
            "description": "Environment containing the resource."
          },
          "status": {
            "type": "string",
            "description": "Current lifecycle state of the resource.",
            "example": "CREATING"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "description": "ISO 8601 UTC timestamp marking when the resource was created.",
            "example": "2026-05-06T15:18:42Z"
          }
        }
      },
      "Detach_Volumes": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": false
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "We can process with only in_use volumes."
          },
          "volume_attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Attach_Volume_Fields"
            },
            "description": "Volumes currently attached to the VM."
          }
        }
      },
      "VoucherRedeemResponseSchema": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Response message."
          },
          "status": {
            "type": "boolean",
            "description": "Success status of the operation."
          },
          "voucher": {
            "type": "object",
            "description": "Redeemed voucher details.",
            "allOf": [
              {
                "$ref": "#/components/schemas/voucher"
              }
            ]
          }
        }
      },
      "ClusterVersions": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Cluster versions retrieved successfully"
          },
          "versions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterVersion"
            },
            "description": "An array of version objects."
          }
        }
      },
      "AuthGetTokenResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          },
          "token": {
            "$ref": "#/components/schemas/AccessTokenField",
            "description": "Authentication tokens returned for the session."
          }
        }
      },
      "Attach_Callback_Payload": {
        "required": [
          "url"
        ],
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Webhook URL Hyperstack calls when the resource changes state."
          }
        }
      },
      "ClusterNodeGroupsListResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Node groups retrieved successfully"
          },
          "node_groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClusterNodeGroupFields"
            },
            "description": "Worker-node groups in the cluster."
          }
        }
      },
      "SubResourcesGraphBillingHistoryFields": {
        "type": "object",
        "properties": {
          "attributes": {
            "$ref": "#/components/schemas/ResourceLevelBillingDetailsAttributes",
            "description": "Additional resource attributes."
          },
          "metrics": {
            "$ref": "#/components/schemas/SubResourceGraphBillingDetailsMetrics",
            "description": "Resource utilisation metrics."
          }
        }
      },
      "Create_Image": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Image added successfully."
          },
          "id": {
            "type": "integer",
            "description": "Unique numeric identifier."
          }
        }
      },
      "UsersInfoListResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Getting users info success"
          },
          "users_info": {
            "$ref": "#/components/schemas/UsersInfoFields",
            "description": "Billing and contact information for the users."
          }
        }
      },
      "SupportedCountriesResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "countries": {
            "type": "array",
            "description": "The supported ISO 3166-1 alpha-2 country codes that can be used for billing information. Codes for sanctioned or otherwise restricted countries are excluded.",
            "items": {
              "type": "string",
              "description": "A supported ISO 3166-1 alpha-2 country code.",
              "example": "US"
            },
            "example": [
              "AE",
              "AU",
              "BR",
              "CA",
              "DE",
              "FR",
              "GB",
              "IN",
              "JP",
              "SG",
              "US",
              "ZA"
            ]
          }
        }
      },
      "FlavorRestrictions": {
        "type": "object",
        "properties": {
          "has_flavor_restrictions": {
            "type": "boolean",
            "description": "Whether the image has any flavor restrictions."
          },
          "restriction_type": {
            "type": "string",
            "description": "Either 'hard', 'soft', or null if no restrictions."
          },
          "compatible_flavors": {
            "type": "array",
            "description": "List of compatible flavors with their link metadata.",
            "items": {
              "$ref": "#/components/schemas/CompatibleFlavor"
            }
          }
        }
      },
      "RemoveMemberFromOrganizationResponseModel": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          }
        }
      },
      "RequestInstanceLogsPayload": {
        "type": "object",
        "properties": {
          "length": {
            "type": "integer",
            "description": "The amount of lines to fetch."
          }
        }
      },
      "image": {
        "type": "object"
      },
      "UserConsentsResponse": {
        "type": "object",
        "properties": {
          "consents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserConsentListItem"
            },
            "description": "List of consent records on the account."
          }
        }
      },
      "UserConsent": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier of the consent record."
          },
          "user_id": {
            "type": "integer",
            "description": "Identifier of the user the consent belongs to."
          },
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization the consent applies to."
          },
          "consent_type": {
            "type": "string",
            "description": "The category of consent this record applies to, such as `auto_top_up`."
          },
          "action": {
            "type": "string",
            "description": "The current consent decision, either `granted` or `revoked`."
          },
          "ip_address": {
            "type": "string",
            "description": "IP address from which the consent decision was recorded."
          },
          "consent_method": {
            "type": "string",
            "description": "How the consent decision was captured, such as `web_checkbox` or `api`."
          },
          "created_at": {
            "type": "string",
            "description": "Timestamp when the consent record was created."
          },
          "updated_at": {
            "type": "string",
            "description": "Timestamp when the consent record was last updated."
          }
        }
      },
      "ConsentActionResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Human-readable message describing the result of the request."
          },
          "consent": {
            "$ref": "#/components/schemas/UserConsent",
            "description": "The consent record that was created or updated."
          }
        }
      },
      "RecordConsentRequest": {
        "required": [
          "action",
          "consent_type"
        ],
        "type": "object",
        "properties": {
          "consent_type": {
            "type": "string",
            "example": "auto_top_up",
            "enum": [
              "auto_top_up"
            ],
            "description": "The category of consent to record a decision for, such as `auto_top_up`."
          },
          "action": {
            "type": "string",
            "example": "granted",
            "enum": [
              "granted",
              "revoked"
            ],
            "description": "The consent decision to record, either `granted` or `revoked`."
          },
          "consent_method": {
            "type": "string",
            "example": "web_checkbox",
            "default": "web_checkbox",
            "enum": [
              "web_checkbox",
              "api",
              "admin_override"
            ],
            "description": "How the consent decision is being captured, such as `api`."
          },
          "consent_version": {
            "type": "string",
            "description": "Version identifier. Defaults to the current version for the consent type"
          },
          "metadata": {
            "type": "object",
            "properties": {},
            "description": "Consent-type-specific metadata. For `auto_top_up`, this is required and must include `threshold_amount`, `topup_amount`, and `payment_method_ref`."
          }
        }
      },
      "ConsentTemplatesResponse": {
        "type": "object",
        "properties": {
          "templates": {
            "type": "object",
            "description": "Consent templates keyed by consent type, such as `auto_top_up`.",
            "additionalProperties": {
              "$ref": "#/components/schemas/ConsentTemplate"
            }
          }
        }
      },
      "ConsentBlock": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "The kind of content block, such as `text` or `warning`.",
            "example": "text",
            "enum": [
              "text",
              "warning",
              "info",
              "success",
              "failure"
            ]
          },
          "text": {
            "type": "string",
            "description": "Block text, may contain ${variable} placeholders"
          }
        }
      },
      "ConsentEventsResponse": {
        "type": "object",
        "properties": {
          "consent": {
            "$ref": "#/components/schemas/UserConsent",
            "description": "The consent record the events belong to."
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserConsentEvent"
            },
            "description": "List of grant and revoke events for the consent record, most recent first."
          }
        }
      },
      "ConsentTemplate": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "description": "Template version identifier"
          },
          "blocks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConsentBlock"
            },
            "description": "Ordered content blocks that make up the consent statement shown before agreement."
          }
        }
      },
      "ConsentUpdateResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Human-readable message describing the result of the request."
          },
          "consent": {
            "$ref": "#/components/schemas/UserConsent",
            "description": "The consent record that was updated."
          },
          "changed": {
            "type": "boolean",
            "description": "Whether this request changed the consent state. `false` if the consent was already in the requested state."
          }
        }
      },
      "UpdateConsentRequest": {
        "required": [
          "action"
        ],
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "example": "granted",
            "enum": [
              "granted",
              "revoked"
            ],
            "description": "The consent decision to apply, either `granted` or `revoked`."
          },
          "consent_method": {
            "type": "string",
            "example": "web_checkbox",
            "default": "web_checkbox",
            "enum": [
              "web_checkbox",
              "api",
              "admin_override"
            ],
            "description": "How the consent decision is being captured, such as `api`."
          },
          "consent_version": {
            "type": "string",
            "description": "Version identifier. Defaults to the current version for the consent type"
          },
          "metadata": {
            "type": "object",
            "properties": {},
            "description": "Consent-type-specific metadata. For `auto_top_up`, this is required and must include `threshold_amount`, `topup_amount`, and `payment_method_ref`."
          }
        }
      },
      "UserConsentEvent": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier of the consent event."
          },
          "consent_id": {
            "type": "integer",
            "description": "Identifier of the consent record this event belongs to."
          },
          "user_id": {
            "type": "integer",
            "description": "Identifier of the user who triggered the event."
          },
          "action": {
            "type": "string",
            "description": "The consent decision recorded by this event, either `granted` or `revoked`."
          },
          "ip_address": {
            "type": "string",
            "description": "IP address from which the event was recorded."
          },
          "consent_method": {
            "type": "string",
            "description": "How the consent decision was captured, such as `web_checkbox` or `api`."
          },
          "created_at": {
            "type": "string",
            "description": "Timestamp when the event was recorded."
          }
        }
      },
      "UserConsentListItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Unique identifier of the consent record."
          },
          "user_id": {
            "type": "integer",
            "description": "Identifier of the user the consent belongs to."
          },
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization the consent applies to."
          },
          "consent_type": {
            "type": "string",
            "description": "The category of consent this record applies to, such as `auto_top_up`."
          },
          "action": {
            "type": "string",
            "description": "The current consent decision, either `granted` or `revoked`."
          },
          "ip_address": {
            "type": "string",
            "description": "IP address from which the consent decision was recorded."
          },
          "consent_method": {
            "type": "string",
            "description": "How the consent decision was captured, such as `web_checkbox` or `api`."
          },
          "created_at": {
            "type": "string",
            "description": "Timestamp when the consent record was created."
          },
          "updated_at": {
            "type": "string",
            "description": "Timestamp when the consent record was last updated."
          },
          "latest_consent_version": {
            "type": "string",
            "description": "The most recent template version available for this consent type."
          },
          "is_version_current": {
            "type": "boolean",
            "description": "Whether this consent was recorded against the latest template version."
          }
        }
      },
      "billing_history_image_generation": {
        "type": "object",
        "properties": {
          "billing_history": {
            "type": "array",
            "description": "Image-generation billing entries for the requested period.",
            "items": {
              "$ref": "#/components/schemas/billing_history"
            }
          },
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization that owns the resource."
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of items across all pages of this result set."
          },
          "pagination": {
            "$ref": "#/components/schemas/pagination",
            "description": "Pagination metadata: current page, page size, and total count."
          }
        }
      },
      "billing_history_image_generation_details": {
        "type": "object",
        "properties": {
          "org_id": {
            "type": "integer",
            "description": "Identifier of the organization that owns the resource."
          },
          "billing_history": {
            "type": "array",
            "description": "Billing history entries for the resource.",
            "items": {
              "$ref": "#/components/schemas/billing_history"
            }
          },
          "total_count": {
            "type": "integer",
            "description": "Total number of items across all pages of this result set."
          },
          "granularity": {
            "type": "integer",
            "description": "Time bucket size, in seconds, for the data points returned. Present on the hourly-cost (graph) response; 86400 = daily buckets."
          }
        }
      },
      "ImageGenerationListBillingHistoryResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          },
          "billing_history_image_generation": {
            "$ref": "#/components/schemas/billing_history_image_generation",
            "description": "Image-generation workload billing records for the requested period."
          }
        }
      },
      "ImageGenerationBillingHistoryDetailsResponseSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          },
          "billing_history_image_generation_details": {
            "$ref": "#/components/schemas/billing_history_image_generation_details",
            "description": "Detailed image-generation billing records for the requested period."
          }
        }
      },
      "EmailCategory": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "Unique identifier of the category. Pass this value to the update endpoint."
          },
          "display_name": {
            "type": "string",
            "description": "Name of the category, as shown in the console."
          },
          "description": {
            "type": "string",
            "description": "What the notifications in this category tell you."
          },
          "required": {
            "type": "boolean",
            "description": "Whether the category is required. You cannot opt out of a required category."
          },
          "position": {
            "type": "integer",
            "description": "Sort order used to display the category in the console."
          },
          "icon": {
            "type": "string",
            "nullable": true,
            "description": "Icon used by the console. Returns `null` for child notifications."
          },
          "opted_in": {
            "type": "boolean",
            "description": "Whether you currently receive the notifications in this category."
          },
          "childs": {
            "type": "array",
            "description": "Individual notifications grouped under this category. Empty when the category has no children.",
            "items": {
              "$ref": "#/components/schemas/EmailCategoryChild"
            }
          }
        }
      },
      "EmailCategoryChild": {
        "type": "object",
        "properties": {
          "email_category_id": {
            "type": "integer",
            "description": "Identifier for the email category. Returned for child notifications only."
          },
          "slug": {
            "type": "string",
            "description": "Unique identifier of the category. Pass this value to the update endpoint."
          },
          "display_name": {
            "type": "string",
            "description": "Name of the category, as shown in the console."
          },
          "description": {
            "type": "string",
            "description": "What the notifications in this category tell you."
          },
          "required": {
            "type": "boolean",
            "description": "Whether the category is required. You cannot opt out of a required category."
          },
          "position": {
            "type": "integer",
            "description": "Sort order used to display the category in the console."
          },
          "icon": {
            "type": "string",
            "nullable": true,
            "description": "Icon used by the console. Returns `null` for child notifications."
          },
          "opted_in": {
            "type": "boolean",
            "description": "Whether you currently receive the notifications in this category."
          }
        }
      },
      "EmailPreferencesResponse": {
        "type": "object",
        "properties": {
          "email_categories": {
            "type": "array",
            "description": "Every email category on your account, with your current opt-in status.",
            "items": {
              "$ref": "#/components/schemas/EmailCategory"
            }
          }
        }
      },
      "UpdateEmailPreferenceInput": {
        "required": [
          "opted_in"
        ],
        "type": "object",
        "properties": {
          "opted_in": {
            "type": "boolean",
            "description": "Set to `true` to receive the notification, or `false` to turn it off."
          }
        }
      },
      "UpdateEmailPreferenceResponse": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Human-readable description of the result."
          }
        }
      },
      "Enhanced_Monitoring_Payload": {
        "type": "object",
        "required": [
          "enabled"
        ],
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Set to `true` to turn Enhanced Monitoring on for this virtual machine, or `false` to turn it off."
          }
        },
        "example": {
          "enabled": true
        }
      },
      "Enhanced_Monitoring_Fields": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Whether Enhanced Monitoring is now on for the virtual machine."
          }
        }
      },
      "Enhanced_Monitoring_Response": {
        "type": "object",
        "properties": {
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded."
          },
          "message": {
            "type": "string",
            "description": "Result of the request."
          },
          "metrics": {
            "$ref": "#/components/schemas/Enhanced_Monitoring_Fields"
          },
          "install_command": {
            "type": "string",
            "description": "Command to run inside the virtual machine to install the monitoring agent. Returned only when you enable Enhanced Monitoring, and omitted when you disable it."
          }
        },
        "example": {
          "status": true,
          "message": "Enhanced metrics updated.",
          "metrics": {
            "enabled": true
          },
          "install_command": "curl -fsSL \"https://observability.hyperstack.cloud/install?runtime=systemd\" | bash"
        }
      },
      "CompatibleImage": {
        "type": "object",
        "properties": {
          "image_id": {
            "type": "integer",
            "description": "Identifier of the image, see [List images](https://docs.hyperstack.cloud/docs/api-reference/list-images)."
          },
          "image_name": {
            "type": "string",
            "description": "Name of the image, see [List images](https://docs.hyperstack.cloud/docs/api-reference/list-images)."
          },
          "link_type": {
            "type": "string",
            "description": "Either 'hard' or 'soft'."
          },
          "constraints": {
            "type": "object",
            "properties": {},
            "description": "JSON constraints object."
          },
          "reason": {
            "type": "string",
            "description": "Human-readable reason the operation was rejected."
          }
        }
      },
      "ImageRestrictions": {
        "type": "object",
        "properties": {
          "has_image_restrictions": {
            "type": "boolean",
            "description": "Whether the flavor is restricted to a set of images."
          },
          "restriction_type": {
            "type": "string",
            "description": "Either 'hard', 'soft', or null if no restrictions."
          },
          "compatible_images": {
            "type": "array",
            "description": "List of images this flavor is allowed to launch, with their link metadata.",
            "items": {
              "$ref": "#/components/schemas/CompatibleImage"
            }
          }
        }
      },
      "Payment_Receipt_Response": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Human-readable description of the result.",
            "example": "Receipt URL retrieved"
          },
          "status": {
            "type": "boolean",
            "description": "Whether the request succeeded.",
            "example": true
          },
          "receipt_url": {
            "type": "string",
            "format": "uri",
            "description": "URL of the invoice page for the payment, hosted by Stripe.",
            "example": "https://invoice.stripe.com/i/acct_1PqR2sT3uV4wX5yZ/live_YWNjdF8xUHFSMnNUM3VWNHdYNXlaLF9SYWJjMTIzNDU2"
          }
        }
      },
      "object_storage__AccessKeyUpdateRequest": {
        "title": "AccessKeyUpdateRequest",
        "type": "object",
        "required": [
          "description"
        ],
        "properties": {
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 250,
            "description": "New name for the access key. Leading and trailing spaces are removed, and the name can't be empty.",
            "example": "training-data"
          }
        }
      }
    },
    "responses": {},
    "securitySchemes": {
      "apiKey": {
        "type": "apiKey",
        "name": "api_key",
        "in": "header",
        "description": "API-key authentication. Pass your API key as the `api_key` header value (e.g., `api_key: YOUR_API_KEY`, no prefix). [Generate a key in the Hyperstack console](https://console.hyperstack.cloud/api-keys). The key is personal to your user account and works across every environment and region in your organization."
      }
    },
    "parameters": {},
    "requestBodies": {},
    "headers": {}
  }
}